网络编程
位置:首页>> 网络编程>> 网页设计>> css行高:line-height属性详解(4)

css行高:line-height属性详解(4)

作者:ddcatlee 来源:猫沙盆 发布时间:2008-06-24 11:42:00 

标签:line-height,行高,文字,css

7.3.4 浏览器的差别与错误

浏览器在显示的时候往往会有自己的表现形式,例如在Opera内,行高将按照CSS定义的将行距除以2增加到内容区域的上下两边,而IE和Firefox则不是完全平分,如图7-29所示。

图7-29 不同浏览器对行高的显示

不过,相差的1至2个像素在实际显示中一般不会有太大的影响,因此可以忽略不计。 比较严重的错误是IE 6.0对于含有图片或者表单元等可替换行内元素的行高失效的问题,不过,在IE 7.0中已经修正了这个错误,但是其表现同其它浏览器也不相同。

例如有如下代码,其显示如图7-30所示。

 #lineHeight4 p { line-height : 60px; } #lineHeight4 fieldset{ border : 0; } <div id="lineHeight4">   <p>内容含有图片在[IE 6]内浏览line-height将失效。<img src="../../img/ddcat_anim.gif" alt="图片" width="88" height="31" /></p>   <form id="testForm" action="#">     <fieldset>           <p><label for="test1">表单元素</label>< input type="text" maxlength="16" value="IE6内行高失效" /></p>         </fieldset>   </form> </div>

  

图7-30 包含替换元素的行高在IE内失效

由图7-30读者可以发现,IE 7.0中,将半行距分别加在了图片的上下,而由于图片默认是基线对齐,因此文字的基线下移了,这显然不符合CSS中的规定。 对于IE 6.0中行高失效的问题,需要使用CSS Hack手段来针对IE 6.0设定替换元素的上下补白来修正。 提示:关于针对IE 6的CSS Hack,请参见本书[第16章:浏览器与Hack]。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com