兼容性疑难解答(如何解决不兼容的问题)
兼容性疑难解答
属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.
ie6下,外层div的postion:relative,并设置text-align,内层div的postion:absolute,这时内层的位置是相对于text-align而言的
IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden|zoom:0.08|line-height:1px
备注:我们最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用divfloat实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
IE6中很多Bug都可以通过触发layout得到解决.下列的CSS属性或取值会让一个元素获得layout:
如何解决不兼容的问题
但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT:auto;MARGIN-LEFT:auto;”
在使用XHTML1.0Transitional以后div宽度都不包含border的宽度了,设置宽度的时候需要注意下。
1).垂直居中.将line-height设置为当前div相同的高度,再通过vertical-align:middle.(注意内容不要换行.)
第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。
链接、按钮用CSSsprites作为背景,在ie6下会有背景图闪烁的现象。原因是:IE6没有将背景图缓存,每次触发hover的时候都会重新加载
遇到兼容性问题怎么解决
这个bu*生的充要条件是li的子元素浮动并且li设置了以下CSS属性之一:width、height、zoom、padding-top、padding-bottom、margin-top、margin-bottom。
IE不支持float:inheritoverflow:hidden有2个用法,一个是隐藏溢出,另一个是清除浮动。
6作为外部wrapper的div不要定死高度,最好还加上overflow:hidden.以达到高度自适应.
解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。
如果要实现b在a中居中放置,一般只需用CSS设置a的text-align属性为center。这样的方法在IE里看起来一切正常;但是在Firefox中b却会是居左的。