作為Asp.NET 程序猿,我們經常會遇到客戶端HTML 元素與 WebPage Server端控件互操作的情景。如果沒有很好的掌握兩種技術的細節就很容易發生一些“莫名其妙的錯誤”。
我最近犯的一個錯誤就是在將服務器控件的Visible屬性賦值為False后,在客戶端用Jquery 選擇器獲取 服務端控件生成的 HTML元素,在幾次調試沒有得到預期效果后,我利用IE F12開發工具->DOM資源管理器發現DOM中并不存在這個元素。在MSDN上查看Visible定義發現。當其屬性值設置為False后,IIS在響應客戶端WebPage請求時并不會生成對應的頁面元素。
知其然更要知其所以然,現將CSS樣式屬性display的具體定義,陳列如下以備溫故知新。
瀏覽器支持
所有主流瀏覽器都支持 display 屬性。
定義和用法
display 屬性規定元素應該生成的框的類型。
可能的值
值 | 描述 |
---|---|
none | 此元素不會被顯示。 |
block | 此元素將顯示為塊級元素,此元素前后會帶有換行符。 |
inline | 默認。此元素會被顯示為內聯元素,元素前后沒有換行符。 |
inline-block | 行內塊元素。(CSS2.1 新增的值) |
瀏覽器支持
所有主流瀏覽器都支持 visibility 屬性。
定義和用法
visibility 屬性規定元素是否可見。
提示:即使不可見的元素也會占據頁面上的空間。請使用 "display" 屬性來創建不占據頁面空間的不可見元素。
說明
這個屬性指定是否顯示一個元素生成的元素框。這意味著元素仍占據其本來的空間,不過可以完全不可見。值 collapse 在表中用于從表布局中刪除列或行。
可能的值
值 | 描述 |
---|---|
visible | 默認值。元素是可見的。 |
hidden | 元素是不可見的。 |
collapse |
當在表格元素中使用時,此值可刪除一行或一列,但是它不會影響表格的布局。被行或列占據的空間會留給其他內容使用。如果此值被用在其他的元素上, 會呈現為 "hidden"。 |
inherit | 規定應該從父元素繼承 visibility 屬性的值。 |
注:以上關于 display 與 visiblity知識均摘于http://www.w3school.com.cn/css/index.asp
當談論display 和 visibility 屬性時,順便提及disabled屬性,當我們想要“禁用”一個元素,直到符合某個條件時,就可以設置元素的disabled=“disabled”;當符合條件后通過 .removeAttr("disabled") 解除元素的禁用狀態。
注釋:disabled 屬性無法與 <input type="hidden"> 一起使用。
文章列表
留言列表