CSS常见兼容性问题及解决⽅案
CSS常见兼容性问题及解决⽅案:
1. 上下margin重合问题:
问题描述:相邻的margin-left和margin-right是不会重合的,但是相邻的块级元素margin-top 和margin-bottom会产⽣重合。
解决⽅案:统⼀设置margin-top或者 Marin-bottom,不要混合使⽤。
2.超链接访问后,hover样式不显⽰:
问题描述:同时设置a:visited和a:hover样式后,超链接访问后,hover的样式不显⽰,
问题原因:标签中的样式顺序出现了错误。
解决⽅案:将他们的样式排序为 a:link , a:visited , a:hover , a:active .
3.⾏内元素上下margin及padding不拉开元素间距的问题:
工资发放制度
问题描述:⾏内元素的margin和padding属性很奇怪,⽔平⽅向的padding-left、padding-right、margin-left、margin-right都产⽣边距效果,但竖直⽅向的padding-top、padding-bottom、margin-top、margin-bottom却不会产⽣边距效果。
解决⽅案:将⾏内元素display设置为block即可解决
4.不同浏览器的标签默认的外间距和内间距不同
单匹马造句问题描述:随便写⼏个标签,不加样式控制的情况下,各⾃的margin 和padding差异较⼤。
解决⽅案:在CSS⽂件开头⽤通配符*来设置各个标签的内外边距是0。
*
{
margin: 0px;
padding:0px;
}
5.ul在浏览器中不同表现,具有默认边距在不同浏览器中显⽰的位置不同:
问题描述:在IE中,ul的默认边距是margin,在Firefox中,ul的默认边距是padding。
解决⽅案:设置其属性 padding:0px ; Margin : 0px;
6.按钮默认⼤⼩不⼀:
问题描述:不同浏览器的默认按钮⼤⼩可能不同。兰州旅游景点大全介绍
解决⽅案:⽤a标签来模拟按钮,添加样式;如果按钮是⼀张背景图⽚,那么直接给按钮添加背景图;
7.图⽚间默认⼜间距问题:
问题描述:⼏个img标签(⾏内标签)放在⼀起的时候,有些浏览器会有默认的间距,加了问题⼀中提到的通配符也不起作⽤。
解决⽅案:使⽤float属性为img布局
8.双倍浮动问题:
问题描述:块状元素float后,有添加了横向的margin,在IE6下⽐设置的值要⼤。
童孙未解供耕织也傍桑阴学种瓜的意思解决⽅案:给float标签添加display:inline,将其转换为⾏内元素
9.设置较⼩⾼度的容器(⼩于10px),在IE6下不识别⼩于10px的⾼度
问题描述:IE8之前的浏览器都会给标签⼀个最⼩默认的⾏⾼的⾼度,⼀般会出现在设置⼩圆⾓背景标签⾥。
桑葚泡酒的正确方法解决⽅案:给容器添加overflow:hidden;或者设置⾏⾼line-height ⼩于你设置的⾼度。
10.容器不扩展问题:
问题描述:div嵌套结构中,外层的⾼度并没有随着⼦容器的⾼度⾃动扩展,却是形成了⼀条线。
问题原因:因为当⼦容器成为浮动元素后,并脱离了⽂档流,⽗容器认为⾃⼰内容为空⽽导致的。
世界上最贵的豪华车解决问题:在容器的末尾加⼊个清理浮动的div。 在⽹页中的任何地⽅,当遇到容器不扩展时,只需加⼊以下代码段,便能修复问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论