2012-03-05 113 views
1

我剛剛發現這個ASP.Net服務器控制水平滾動不工作時,align=right屬性被使用!我挖成HTML生成的代碼,發現是這樣的:谷歌瀏覽器沒有呈現正確的溢出

<div align="right" style="overflow:scroll; width: 200px; height:200px;"> 
    <div style="width:400px; height:400px"> 
    </div> 
</div> 

水平滾動條出現在刪除align="right"屬性的時刻。 經過Chrome 17/18測試。它在Firefox 10和IE 10中正常工作。任何解決方法?

PS。 我應該將錯誤提交給谷歌瀏覽器人員嗎?這聽起來像是一個webkit的bug!

+0

您使用的是什麼文檔類型?我不認爲'div'元素具有'align'屬性了。 – 2012-03-05 19:18:06

+0

這不是一個錯誤。 'align'屬性已被棄用。 – Sparky 2012-03-05 19:25:09

回答

1

我認爲使用CSS(float:right;)並廢除align屬性可以解決問題。

http://jsfiddle.net/rdjRS/

難道這就是你去向何方?


更新:我假設你可以添加JavaScript,但你不能帶走JavaScript。你可以嘗試包括這個代碼到你的JavaScript?它正確地浮動元素,然後刪除棄用的align屬性。

<script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"L></script> 
    <script type="text/javascript"> 
​  $('[align="right"]')​.css('float', 'right').removeAttr('align');​​​​​​​​​​​​​ 
    </script> 

是的,它取決於jQuery。

如您所見,它的工作原理不需要刪除任何已經存在的HTML或CSS。 http://jsfiddle.net/hLg73/

+0

我可以使用text-align css屬性,但是我無法訪問服務器控件,服務器控件是我們在ASP.Net窗體中使用的第三方UI組件! – 2012-03-05 19:01:23

+0

那麼你可以控制什麼? CSS? JavaScript的? – dangerChihuahua007 2012-03-05 19:07:26

+0

html代碼是在運行時由JavaScript類動態生成的,我相信我需要破解JS類的Render方法來改變行爲!值得一試,但我不喜歡解決方案 – 2012-03-05 19:12:42