当一个容器里的文字与img、input、textarea、select、object等元素相连时,对这个容器设置的line-height数值就会失效,同时以上元素的行高可能×2,受影响的浏览器:ie5.01、ie5.5、ie6.0。
解决方法是对与文字相连接的img、input、textarea、select、object等元素加以属性,代码如下:
.line-height{ margin:(所属line-height-自身img,input,select,object高度)/2px 0; vertical-align:middle; } |
<style type="text/css教程">
.aa{ height:100px; width:300px; line-height:100px; background-color:#099;}
/* ?
这里 假设 ?input 高度等于 20?
margin: (所属line-height-自身高度)/2px 0;
就等于 margin:(100-20)/2px 0 = margin:40px 0;
大致效果是有了, 肯定还是有点小偏差,input高度是我假设20的。
*/
.aa input{ margin:40px 0; vertical-align:middle; }
</style>
<div class="aa">居中对齐 <input name="" type="text" /></div>
问题:在ie6中,当文字和img、input、textarea、select、object等对象在同一个容器中的时候,line-height属性失效。
只有全文字时,line-height属性才有效。
解决方法:
在其中一个非文字的对象的样式中增加:
margin: (容器的line-height - 对象本身的高度)/2px 0;
vertical-align:middle;
解决问题。
时间: 2024-10-30 16:59:12