昨天在做页面的时候,遇到一个问题, text-indent在火狐下失效的研究,究竟是为什么呢?
网络寻因。
text-indent是css中用于控制段落文本缩进的属性。单位有em,px,pt等常用单位以及百分比。
常用于控制div,td,th,li,p,dd,dt等元素对象中的文本的缩进。很多情况下用text-indent是狠方便的。
当缩进量为px时,IE6,IE7,及Firefox解释的缩进距离是一样的,当设置为em的时候会因为字体字号的定义不同有细小的差异。
如下图所示的新闻列表在网页制作过程中很常见。
这时候IE6、IE7和IE8都会在文字左边缩进15px,而在Firefox下面这15px像素缩进就不见了
这是因为ie是根据文本排列的方向解释缩进的。而Firefox按照标准根据文本流的方向解释缩进,是将15px的缩进解释到了span元素的前面,而span元素拥有的float属性恰好能够消除父元素的text-indent的值,所以这15px就不见了。
解决这个兼容问题的本人目前知道的方法是将text-indent改为padding-left,这因为父元素padding属性是不会随子元素的float属性而消除。
哈哈,太巧了,我的解决办法也是改用padding-left。耶!