中国站长论坛

中国站长论坛 ›› 网页制作初级班 ›› 给 legend 标签设定宽度

页码: 1 2

给 legend 标签设定宽度

- wzw2008 2008-09-25 17:57

我们在做表单的时候经常会使用到这样的结构:

<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》

正淳同时也提供了另外的一种解决方案,无需修改结构,仅修改样式即可:

题外话:CSS 的兼容其实并不难,多尝试多实践就可以解决,最重要的是自己要去动手,只有动手了才会有更多的收获,才会有更深的印象。

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

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

Re:给 legend 标签设定宽度

- xlxcn 2008-09-26 13:36

学习

Re:给 legend 标签设定宽度

- £翱翔白鹭 2008-09-26 15:24

Re:给 legend 标签设定宽度

- cervical 2008-09-26 16:36

该用户发言被屏蔽

Re:给 legend 标签设定宽度

- shentongorg 2008-09-27 08:39

很好,学习了

Re:给 legend 标签设定宽度

- feixin 2008-09-27 15:08

该用户发言被屏蔽

Re:给 legend 标签设定宽度

- wxj_16740 2008-09-27 15:40

恩,不错.

Re:给 legend 标签设定宽度

- xinbi 2008-09-27 15:44

收藏.

Re:给 legend 标签设定宽度

- cervical 2008-09-27 17:42

该用户发言被屏蔽

Re:给 legend 标签设定宽度

- qq-kongjian 2008-09-27 22:06

支持一个

Re:给 legend 标签设定宽度

- huapi 2008-09-28 07:55

很好,学习了

Re:给 legend 标签设定宽度

- huapi 2008-09-29 10:31

呵呵呵呵

页码: 1 2