Web前端浏览器兼容性问题及解决方案
2021-04-01 19:27
标签:overflow 外边距 标签 块级元素 tcap 通配符 ack 高度 rest 常见的兼容性问题: 2、IE6双边距问题;在 IE6中设置了float , 同时又设置margin , 就会出现边距问题 3、当标签的高度设置小于10px,在IE6、IE7中会超出自己设置的高度 4、图片默认有间距 5、IE9一下浏览器不能使用opacity 6、边距重叠问题;当相邻两个元素都设置了margin 边距时,margin 将取最大值,舍弃最小值; 7、cursor:hand 显示手型在safari 上不支持 8、两个块级元素,父元素设置了overflow:auto;子元素设置了position:relative ;且高度大于父元素,在IE6、IE7会被隐藏而不是溢出; 技巧一:css hack 使用hack 我可以把浏览器分为3类:ie6 ;ie7和遨游;其他(ie8 chrome ff safari opera等) ie6认识的hack 是下划线_ 和星号 * 比如这样一个css设置 height:300px;*height:200px;_height:100px; 因为优先级相同且相冲突的属性设置后一个会覆盖掉前一个,所以书写的次序是很重要的。 /* CSS属性级Hack */ _color:red; /* 仅IE6 识别 */ *color:red; /* IE6、IE7 识别 */ +color:red; /* IE6、IE7 识别 */ *+color:red; /* IE6、IE7 识别 */ [color:red; /* IE6、IE7 识别 */ color:red\9; /* IE6、IE7、IE8、IE9 识别 */ color:red\0; /* IE8、IE9 识别*/ color:red\9\0; /* 仅IE9识别 */ color:red \0; /* 仅IE9识别 */ color:red!important; /* IE6 不识别!important 有危险*/ /* CSS选择符级Hack */ *+html #demo { color:red;} /* 仅IE7 识别 */ body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 可以识别 :root #demo { color:red\9; } : /* 仅IE9识别 */ CSS属性前缀语义化: Web前端浏览器兼容性问题及解决方案 标签:overflow 外边距 标签 块级元素 tcap 通配符 ack 高度 rest 原文地址:https://www.cnblogs.com/jiaqi1719/p/12565415.html
1、不同浏览器的标签默认的外边距( margin )和内边距(padding)不同
解决方案: css 里增加通配符 * { margin: 0; padding: 0; }
解决方案:设置display:inline;
解决方案:超出高度的标签设置overflow:hidden,或者设置line-height的值小于你的设置高度
解决方案:使用float 为img 布局
解决方案:
opacity: 0.5;filter: alpha(opacity = 50);filter: progid:DXImageTransform.Microsoft.Alpha(style = 0, opacity = 50);
解决方案:为了不让边重叠,可以给子元素增加一个父级元素,并设置父级元素为overflow:hidden;
解决方案:统一使用 cursor:pointer
解决方案:父级元素设置position:relative
ie7 遨游认识的hack是星号 * (包括上面问题6中的 !important也算是hack的一种。不过实用性较小。)
ie6浏览器在读到 height:300px的时候会认为高时300px;继续往下读,他也认识*heihgt, 所以当ie6读到*height:200px的时候会覆盖掉
前一条的相冲突设置,认为高度是200px。继续往下读,ie6还认识_height,所以他又会覆盖掉200px高的设置,把高度设置为100px;
ie7和遨游也是一样的从高度300px的设置往下读。当它们读到*height200px的时候就停下了,因为它们不认识_height。所以它们会把高度
解析为200px;剩下的浏览器只认识第一个height:300px;所以他们会把高度解析为300px。
color:red; /* 所有浏览器可识别*/
*html #demo { color:red;} /* 仅IE6 识别 */
*/
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 可以识别 */
越少的浮动,就会越少的代码,会有更灵活的页面,会有扩展性更强的页面。
Trident
内核的浏览器:IE、Maxthon、TT
;Gecko
内核的浏览器:Netcape6
及以上版本、FireFox
;Presto
内核的浏览器:Opera7
及以上版本;Webkit
内核的浏览器:Safari、Chrome
。
文章标题:Web前端浏览器兼容性问题及解决方案
文章链接:http://soscw.com/index.php/essay/71066.html