DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> legend標簽設定寬度的技巧
legend標簽設定寬度的技巧
編輯:CSS詳解     

我們在做表單的時候經常會使用到這樣的結構:

<fieldset>
    <legend>哪些浏覽器legend標簽設定的寬度有效</legend>
    <input type="checkbox" value="ie6" name="width" id="ie6" checked="checked" /><label for="ie6">IE6</label>
    <input type="checkbox" value="ie7" name="width" id="ie7"checked="checked" /><label for="firefox">IE7</label>
    <input type="checkbox" value="firefox2" name="width" id="firefox2" /><label for="firefox2">Firefox2</label>
    <input type="checkbox" value="firefox3" name="width" id="firefox3" /><label for="firefox3">Firefox3</label>
    <input type="checkbox" value="opera" name="width" id="opera" checked="checked" /><label for="opera">Opera9.0+</label>
    <input type="checkbox" value="safari" name="width" id="safari"checked="checked" /><label for="safari">Safari3.0+</label>

 </fieldset> 當我們使用 CSS 給 legend 標簽設定固定寬度時:

legend {
    background:red;
    width:500px;
}

 在 IE6、IE7、Opera9.0+、Safari3.0+ 都正能常顯示,而在 Firefox2 和 Firefox3 中寬度卻失效。

在這裡我們不去深究為什麼,只探討解決的方法:

我們可以通過在 legend 標簽內添加一個標簽,並給標簽設定所需要的寬度,此寬度的單位不可為百分比(%):

HTML 修改為:

<fieldset>
    <legend><span>哪些浏覽器legend標簽設定的寬度有效</span></legend>
    <input type="checkbox" value="ie6" name="width" id="ie6" checked="checked" /><label for="ie6">IE6</label>
    <input type="checkbox" value="ie7" name="width" id="ie7"checked="checked" /><label for="firefox">IE7</label>
    <input type="checkbox" value="firefox2" name="width" id="firefox2" /><label for="firefox2">Firefox2</label>
    <input type="checkbox" value="firefox3" name="width" id="firefox3" /><label for="firefox3">Firefox3</label>
    <input type="checkbox" value="opera" name="width" id="opera" checked="checked" /><label for="opera">Opera9.0+</label>
    <input type="checkbox" value="safari" name="width" id="safari"checked="checked" /><label for="safari">Safari3.0+</label>
</fieldset>

CSS 修改為:

legend span {
    background:red;
    width:500px;
    display:block;
}

可參考:《how to set width of LEGEND tags in FF》

正淳 同時也提供了另外的一種解決方案,無需修改結構,僅修改樣式即可:

legend {
background:red;
text-indent:-600px;
padding-left:600px;

/*IE下還原初始方式,只設定寬度*/
*width:600px;
*text-indent:0;
*padding-left:0;
}

題外話:CSS 的兼容其實並不難,多嘗試多實踐就可以解決,最重要的是自己要去動手,只有動手了才會有更多的收獲,才會有更深的印象。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved