视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
css关于浏览器兼容问题的解析
2020-11-27 18:47:51 责编:小采
文档


这篇文章分享给大家的内容是关于css关于浏览器兼容问题的解析,内容很有参考价值,希望可以帮到有需要的小伙伴。

一、火狐
1. <input type="date" /> 失效
hack:采用jquery UI:datepicker插件。
(1)下载插件,放置在项目文件夹中;
(2)在所需页面引入,如:

 <script src="jslib/plugins/datepicker/bootstrap-datepicker.js"></script>

此script与页面所需的对应的js位置不分先后;
(3)点击触发pick事件,func(pic);
调用$("#datepicker").datepicker() ;
带参数的写法:

$("#datepicker").datepicker({
 numberOfMonth: 3, // 一排3个
 numberOfMonth: [3,2], // 三排每排2个 
}) ;

二、ie8
1.圆角:border-radius失效
hack:使用一些能使ie兼容css3新属性的插件,这里介绍一下pie.htc 。
(1)下载pie.htc ;http://css3pie.com/
(2)部署在你的项目文件中,我习惯是放在js下面,不过,就像官网说的
“It doesn't matter where exactly, as long as you know where it is.”;
(3)写样式并追加兼容,如:

a.level0 span.button {
 width:10px;
 height:10px;
 background:#999;
 border-radius:50%;
 -webkit-border-radius:50%;
 -moz-border-radius:50%;
 behavior:url(view/js/pie.htc)

 //值得注意的是,追加兼容的路径并不是相对于当前的css文件,
 //而是相对应的html/jsp文件,个人觉得官网只有说明没有示例不太好。
}

2.渐变:background-image:linear-gredient()失效
hack1:使用兼容插件。
方法同上的前两步(1)、(2)
(3)写样式并追加兼容,如:

nav{
 background:linear-gradient(#8fb8ff 0%, #fff 100%);
 background:-webkit-linear-gradient(#8fb8ff 0%, #fff 100%);
 background:-moz-linear-gradient(#8fb8ff 0%, #fff 100%);
 -pie-background: linear-gradient(#8fb8ff 0%, #fff 100%); //ie 6-9 
 behavior: url(view/js/pie.htc);
}

hack2:使用兼容语法。

background:linear-gradient(#8fb8ff 0%, #fff 100%);
background:-webkit-linear-gradient(#8fb8ff 0%, #fff 100%);
background:-moz-linear-gradient(#8fb8ff 0%, #fff 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=
'#00000000',endColorstr='#E5000000',GradientType=0 ); 
//GradientType: 0垂直渐变 , 1水平渐变

以上两种方法杂不同的场景中都各有各的优点和缺点,在项目开发中,
可以都试一下采用兼容更好的一种即可。

3.结构伪类选择器:nth-of-type( )失效
hack:ie8支持first-child,变更一下代码。

a.level0 span:nth-of-type(1) ——>a.level0 span:first-child
a.level0 span:nth-of-type(2)——>a.level0 span:first-child+span //第二个子节点
a.level0 span:nth-of-type(3)——>a.level0 span:first-child+span+span//第三个子节点
//以此类推

4.盒子阴影:box-shadow失效
hack:pie.htc

p{
 wdith:100px;
 height:100px;
 background:#fff;
 //尽管背景是白色,最好还是设置一下,不然兼容后的效果可能会不太理想
 box-shadow:10px 10px 10p #aaa;
 behavior:url(view/js/pie.htc)
}

5.透明色rgba()失效
hack:pie.htc

.contaniner{
 width:100px;
 height:100px;
 background:rgba(0,0,0,0.5);
 -pie-background:rgba(0,0,0,0.5);
 behavior:url(view/js/pie.htc);
}

6.<input type="checkbox" /> 有默认border
hack:在css文件中控制一下就好了,如

input[type="checkbox"] {
 border:none;
}

7.顺便介绍一下过滤器filter,filter是一种用来过滤不同浏览器的hack类型。
(1)9 :所有IE浏览器都支持
(2)0 :IE8、IE9支持,opera部分支持
(3)90 :IE8部分支持、IE9支持
(4)09 :IE8、IE9支持
如:

background:#0f0;//chrome 、firefox 显示绿色
background\0:#00f ;//ie显示蓝色

下载本文
显示全文
专题