如何给 legend 标签设定宽度
参考一下这个吧,有很详细的解释:
http://www.planabc.net/2008/07/24/legend_width/
我们在做表单的时候经常会使用到这样的结构:
<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;}
这个主要考虑到浏览器兼容问题,在css兼容一下ie。比如下面css:
legend {background:red;text-indent:-600px;padding-left:600px;
/*IE下还原初始方式,只设定宽度*/*width:600px;*text-indent:0;*padding-left:0;}
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
参考一下这个吧,有很详细的解释:
http://www.planabc.net/2008/07/24/legend_width/
我们在做表单的时候经常会使用到这样的结构:
<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;}
这个主要考虑到浏览器兼容问题,在css兼容一下ie。比如下面css:
legend {
background:red;
text-indent:-600px;
padding-left:600px;
/*IE下还原初始方式,只设定宽度*/
*width:600px;
*text-indent:0;
*padding-left:0;
}