当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > CSS教程:legend标签设定宽度的技巧

HTML/XHTML教程
网页设计师如何应对客户无理要求
打开网页速度提升的简单而有效的方法
让IE8启动IE7兼容模式的简便代码
HTML的sub,sup标签制作电子商务网站中的价格
IE9关键字:硬件渲染,新的JS引擎,CSS,标准
让IE支持HTML5办法
HTML教程:HTML的10个表格相关标记
HTML教程:网页页面切换的各种效果
网页制作掌握的最常用的HTML标记
应该怎样把HTML结构化
XHTML基础教程:xhtml的块级标记
网页页面实现自动刷新的3种代码
网页制作教程:TD也可以溢出隐藏显示
网页设计教程:TabIndex元素
微软:IE9与HTML 5的关系
HTML设备标识符可以让用户使用网页与摄像头等硬件设备打交道
HTML5和CSS3的一些新变化
超级链接标记A的TARGET属性详解
语义化的网页:XHTML语义化标记
理论知识:PSD模板切成HTML的正确操作

HTML/XHTML教程 中的 CSS教程:legend标签设定宽度的技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 38 ::
收藏到网摘: n/a

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

<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 的兼容其实并不难,多尝试多实践就可以解决,最重要的是自己要去动手,只有动手了才会有更多的收获,才会有更深的印象。