2023年6月21日发(作者:)
IECSS样式的兼容性问题⽅法:#test{min-height:100px;_height:100px;}注意此时#test不能再设置overflow的值为hidden,否则模拟min-height效果将失效如何解决按钮在IE7及更早浏览器下随着value增多两边留⽩也随着增加的问题?⽅法:input,button{overflow:visible;}如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产⽣的空⽩间隙的BUG?⽅法:li{vertical-align:top;}除了top值,还可以设置为text-top | middle | bottom | text-bottom,甚⾄特定的和值都可以如何解决IE6及更早浏览器下的3像素BUG?⽅法:.a{color:#f00;}.main{width:950px;background:#eee;}.content{float:left;width:750px;height:100px;background:#ccc;_margin-right:-3px;}.aside{height:100px;background:#aaa;}contentaside在IE6及更早浏览器下为.content设置margin-right:-3px;也可以设置.aside为浮动如何解决IE6下的⽂本溢出BUG(江湖匪号:“谍影重重”或“⼀只猪的故事”)?BUG重现:.test{zoom:1;overflow:hidden;width:500px;}.box1{float:left;width:100px;}.box2{float:right;width:400px;}↓这就是多出来的那只猪运⾏如上代码,你会发现⽂字发⽣了溢出,在IE6下会多出⼀只“猪”。造成此BUG的原因可能是多重混合的,如浮动,注释,宽⾼定义等等。并且注释条数越多,溢出的⽂本也会随之增多。列举⼏个解决⽅法: 删除box1和box2之间所有的注释; 不设置浮动; 调整box1或box2的宽度,⽐如将box的宽度调整为90px如何解决IE6使⽤滤镜PNG图⽚透明后,容器内链接失效的问题?⽅法:div{width:300px;height:100px;_filter:progid:mageLoader(src=’*.png’);}a{_position:relative;}解决⽅法是为容器内的链接定义相对定位属性position的值为relative如何解决IE6⽆法识别伪对象:first-letter/:first-line的问题?⽅法1:p:first-letter {float:left;font-size:40px;font-weight:bold;}p:first-line {color:#090;}增加空格:在伪对象选择符:first-letter/:first-line与包含规则的花括号"{"间增加空格。⽅法2:p:first-letter{float:left;font-size:40px;font-weight:bold;}p:first-line{color:#090;}换⾏:将整个花括号"{"规则区域换⾏。细节参见E:first-letter和E:first-line选择符如何解决IE8会忽略伪对象:first-letter/:first-line⾥的!important规则的问题?BUG重现:p:first-letter {float:left;font-size:40px;font-weight:bold;color:#f00!important;color:#090;}如上代码,在IE8下color定义都会失效,原因就是因为有color使⽤了!important规则。鉴于此,请尽量不要在:first-letter/:first-line⾥使⽤!important规则。如何解决IE6会忽略同⼀条样式体内的!important规则的问题?BUG重现:div{color:#f00!important;color:#000;}如上代码,IE6及以下浏览器div的⽂本颜⾊为#000,!important并没有覆盖后⾯的规则,也就是说!important被忽略了。解决⽅案是将该样式拆分为2条,细节参见!important规则如何解决IE6及更早浏览器下当li内部元素是定义了display:block的内联元素时底部产⽣空⽩的问题?BUG重现:a,span{display:block;background:#ddd;}测试li内部元素为设置了display:block的内联元素时底部产⽣空⽩如上代码,IE6及更早浏览器每个li内部的内联元素底部都会产⽣空⽩。解决⽅案是给li内部的内联元素再加上zoom:1如何解决IE6及更早浏览器下未定义宽度的浮动或绝对定位元素会被内部设置了zoom:1的块元素撑开的问题?BUG重现:#test{zoom:1;overflow:hidden;border:1px solid #ddd;background:#eee;}#test h1{float:left;}#test .nav{float:right;background:#aaa;}#test .nav ul{zoom:1;overflow:hidden;margin:0;padding:0;list-style:none;}#test .nav li{float:left;margin:0 5px;}Doyoe如上代码,IE6及更早浏览器会被设置了zoom:1的ul给撑开。列举⼏个解决⽅法: 设置ul为浮动元素; 设置ul为inline元素; 设置ul的width如何解决IE7及更早浏览器下⼦元素相对定位时⽗元素overflow属性的auto|hidden失效的问题?BUG重现:div{overflow:auto;width:260px;height:80px;border:1px solid #ddd;}p{position:relative;margin:0;}如果我是相对定位,我的⽗元素overflow属性设置为auto|hidden将失效。如果你使⽤的是IE及更早浏览器,你将可以看到这个BUG如果我是相对定位,我的⽗元素overflow属性设置为auto|hidden将失效。如果你使⽤的是IE及更早浏览器,你将可以看到这个BUG如上代码,在IE7及更早浏览器下你会看到div的滚动条将⽆法⼯作。解决⽅案是给div也设置相对定位position:relative如何解决Chrome在应⽤transition时页⾯闪动的问题?⽅法:-webkit-transform-style:preserve-3d;或-webkit-backface-visibility:hidden;在Chrome下,使⽤过渡效果transition时有时会出现页⾯闪动
2023年6月21日发(作者:)
IECSS样式的兼容性问题⽅法:#test{min-height:100px;_height:100px;}注意此时#test不能再设置overflow的值为hidden,否则模拟min-height效果将失效如何解决按钮在IE7及更早浏览器下随着value增多两边留⽩也随着增加的问题?⽅法:input,button{overflow:visible;}如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产⽣的空⽩间隙的BUG?⽅法:li{vertical-align:top;}除了top值,还可以设置为text-top | middle | bottom | text-bottom,甚⾄特定的和值都可以如何解决IE6及更早浏览器下的3像素BUG?⽅法:.a{color:#f00;}.main{width:950px;background:#eee;}.content{float:left;width:750px;height:100px;background:#ccc;_margin-right:-3px;}.aside{height:100px;background:#aaa;}contentaside在IE6及更早浏览器下为.content设置margin-right:-3px;也可以设置.aside为浮动如何解决IE6下的⽂本溢出BUG(江湖匪号:“谍影重重”或“⼀只猪的故事”)?BUG重现:.test{zoom:1;overflow:hidden;width:500px;}.box1{float:left;width:100px;}.box2{float:right;width:400px;}↓这就是多出来的那只猪运⾏如上代码,你会发现⽂字发⽣了溢出,在IE6下会多出⼀只“猪”。造成此BUG的原因可能是多重混合的,如浮动,注释,宽⾼定义等等。并且注释条数越多,溢出的⽂本也会随之增多。列举⼏个解决⽅法: 删除box1和box2之间所有的注释; 不设置浮动; 调整box1或box2的宽度,⽐如将box的宽度调整为90px如何解决IE6使⽤滤镜PNG图⽚透明后,容器内链接失效的问题?⽅法:div{width:300px;height:100px;_filter:progid:mageLoader(src=’*.png’);}a{_position:relative;}解决⽅法是为容器内的链接定义相对定位属性position的值为relative如何解决IE6⽆法识别伪对象:first-letter/:first-line的问题?⽅法1:p:first-letter {float:left;font-size:40px;font-weight:bold;}p:first-line {color:#090;}增加空格:在伪对象选择符:first-letter/:first-line与包含规则的花括号"{"间增加空格。⽅法2:p:first-letter{float:left;font-size:40px;font-weight:bold;}p:first-line{color:#090;}换⾏:将整个花括号"{"规则区域换⾏。细节参见E:first-letter和E:first-line选择符如何解决IE8会忽略伪对象:first-letter/:first-line⾥的!important规则的问题?BUG重现:p:first-letter {float:left;font-size:40px;font-weight:bold;color:#f00!important;color:#090;}如上代码,在IE8下color定义都会失效,原因就是因为有color使⽤了!important规则。鉴于此,请尽量不要在:first-letter/:first-line⾥使⽤!important规则。如何解决IE6会忽略同⼀条样式体内的!important规则的问题?BUG重现:div{color:#f00!important;color:#000;}如上代码,IE6及以下浏览器div的⽂本颜⾊为#000,!important并没有覆盖后⾯的规则,也就是说!important被忽略了。解决⽅案是将该样式拆分为2条,细节参见!important规则如何解决IE6及更早浏览器下当li内部元素是定义了display:block的内联元素时底部产⽣空⽩的问题?BUG重现:a,span{display:block;background:#ddd;}测试li内部元素为设置了display:block的内联元素时底部产⽣空⽩如上代码,IE6及更早浏览器每个li内部的内联元素底部都会产⽣空⽩。解决⽅案是给li内部的内联元素再加上zoom:1如何解决IE6及更早浏览器下未定义宽度的浮动或绝对定位元素会被内部设置了zoom:1的块元素撑开的问题?BUG重现:#test{zoom:1;overflow:hidden;border:1px solid #ddd;background:#eee;}#test h1{float:left;}#test .nav{float:right;background:#aaa;}#test .nav ul{zoom:1;overflow:hidden;margin:0;padding:0;list-style:none;}#test .nav li{float:left;margin:0 5px;}Doyoe如上代码,IE6及更早浏览器会被设置了zoom:1的ul给撑开。列举⼏个解决⽅法: 设置ul为浮动元素; 设置ul为inline元素; 设置ul的width如何解决IE7及更早浏览器下⼦元素相对定位时⽗元素overflow属性的auto|hidden失效的问题?BUG重现:div{overflow:auto;width:260px;height:80px;border:1px solid #ddd;}p{position:relative;margin:0;}如果我是相对定位,我的⽗元素overflow属性设置为auto|hidden将失效。如果你使⽤的是IE及更早浏览器,你将可以看到这个BUG如果我是相对定位,我的⽗元素overflow属性设置为auto|hidden将失效。如果你使⽤的是IE及更早浏览器,你将可以看到这个BUG如上代码,在IE7及更早浏览器下你会看到div的滚动条将⽆法⼯作。解决⽅案是给div也设置相对定位position:relative如何解决Chrome在应⽤transition时页⾯闪动的问题?⽅法:-webkit-transform-style:preserve-3d;或-webkit-backface-visibility:hidden;在Chrome下,使⽤过渡效果transition时有时会出现页⾯闪动
发布评论