问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

css3中的样式兼容性问题怎么弄?

发布网友 发布时间:2022-04-25 23:27

我来回答

3个回答

懂视网 时间:2022-04-28 16:42

本章给大家说说CSS3新属性currentColor的使用以及currentColor属性的兼容性。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

currentColor顾名思意就是“当前颜色”,准确讲应该是“当前的文字颜色”,例如:

.xxx { border: 1px solid currentColor; }

currentColor表示“当前的标签所继承的文字颜色”,换种方式表示就是:currentColor = color的值。

凡事需要使用颜色值的地方,都可以使用currentColor替换,比方说背景色 – background-color, 渐变色 – gradient, 盒阴影 – box-shadow, SVG的填充色 – fill等等。很灵活,很好用!

当然可以使用css实现背景色镂空,可以方便控制图标的颜色。实现的原理是图标形状区域是透明镂空的,而周边是实色的。

css代码:

.icon {
 display: inline-block;
 width: 16px; height: 20px;
 background-image: url(sprite_icons.png);
 background-color: #34538b; /* 该颜色控制图标的颜色 */
}
.icon1 { background-position: 0 0; }
.icon2 { background-position: -20px 0; }
.icon3 { background-position: -40px 0; }
.icon4 { background-position: -60px 0; }
.link { margin-right: 15px; }

html代码:

更改颜色:<input id="colorInput" type="color" value="#34538b" autocomplete="off">
<p>
 <i class="icon icon1"></i><a href="##" class="link">返回</a>
 <i class="icon icon2"></i><a href="##" class="link">刷新</a>
 <i class="icon icon3"></i><a href="##" class="link">收藏</a>
 <i class="icon icon4"></i><a href="##" class="link">展开图片</a>
</p>

js代码:

var eleInput = document.getElementById("colorInput"),
 eleIcons = document.getElementsByTagName("i");
eleInput.onchange = function() { var i = 0, l = eleIcons.length; for (; i<l; i+=1) {
 eleIcons[i].style.backgroundColor = this.value;
 }
};

只需要改变背景图片的color就更改变图片的颜色。IE低版本也支持。

效果地址:http://www.zhangxinxu.com/study/201307/background-color-insert-background-image.html

那么现在使用currentColor来实现这个效果:

.icon {
 display: inline-block;
 width: 16px; height: 20px;
 background-image: url(../201307/sprite_icons.png);
 background-color: currentColor; /* 该颜色控制图标的颜色 */
}

于是,我们想要鼠标hover文字链接,其图标颜色要跟着一起变化,只要改变文字颜色就可以了:

.link:hover { color: #333; }/* 虽然改变的是文字颜色,但是图标颜色也一起变化了 */

说明:

border和box-shadow默认的颜色就是当前的文字颜色,也就是类似currentColor;

在iOS Safari浏览器下(iOS8)下,currentColor还是有一些bug的,例如伪元素hover时候,background:currentColor的背景色不会跟着变化,怎么办呢?等升级,或者使用border来模拟。

currentColor浏览器兼容情况:

支持的浏览器:谷歌,火狐,QQ浏览器,IE9+

不支持的浏览器:360,IE低版本浏览器

详细介绍请查看:http://www.zhangxinxu.com/wordpress/2014/10/currentcolor-css3-powerful-css-keyword/

热心网友 时间:2022-04-28 13:50

1.目前来说对css支持最好的公认的是火狐浏览器,错位的原因在css代码书写不规范。
2.兼容性:对于CSS(样式表)并不是所有浏览器的所有版本都支持的很好,比如IE5以前的浏览器对于CSS的支持就不是很好。而现在使用IE5以前版本浏览器的用户不在少数,这样就使得在页面制作的过程中需要针对不同浏览器版本进行测试,以保证兼容性,无形中也增加很多工作量(至少我接触的开发人员制作div页面比table页面的标准时间要长一些)。
3.对css缩写的支持问题:
不论是ie 还是ff对css的缩写都有一小点问题比如border: 0xp solid #fff;两个浏览器支持都没有问题
但对于四个边的magin不同情况下,就不能用这种缩写了,无论是ie还是ff又会出现边界解释错误,而导致页面变形正确缩写:border-width:0px 1px 2px 3px;
border-style:solid;
border-color:#fff;
第二点是 ie对于css的magin padding 等默认值为0px,但ff却不一样,为了保持外观的统一性,即使padding为0你也要写上,以免ff在浏览中的错位。
IE与Firefox的CSS兼容大全 1.DOCTYPE 影响 CSS 处理
2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行
3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width
5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上
6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30px;margin:28px}

热心网友 时间:2022-04-28 15:08

您好,因为浏览器众多,要做到全兼容基本上不可能,您可以使用CSS代码对部分浏览器进行针对性的适配,例如:

 -moz-border-radius: 2px; /* Firefox */
  -webkit-border-radius: 2px; /* Safari 和 Chrome */
  border-radius: 2px; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */
  -o-border-radius:2px;
  -khtml-border-radius: 2px;   /* 针对Konqueror浏览器 */

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
和面的和是什么读音? win10 应用打不开。全都打不开。 进入win10打不开软件 win10电脑软件都打不开是什么原因win10突然软件都打不开软件是怎么回事... 软件打不开怎么办win10电脑点不开软件最简单办法 请问下,离厦门市岛内的台湾路的国联大厦最近的建设银行和农业银行... 从巴黎都市到建设银行怎么坐公交车,最快需要多久 东莞万江官桥窖离建设银行哪路车最近? 建行七支分行有那些公交车经过 佛山哪里有飞越丛林拓展 私人直接转账微信放款微信? 无前期私人长期放款 微信货款可靠吗? 私人微信放款? 微信私人24小时放款? 手机QQ玩象棋能和好友一块玩吗 腾讯游戏中中国象棋如何邀请qq好友对弈 象棋如何使用手机实现和好友进行联机。我们俩不在同一省份。希望大神们给些方法。 2021私人微信放款24小时在线? 多乐中国象棋怎么邀请好友 如何与好友对战象棋 小程序象棋怎么好友观战 飞利浦会议平板蓝牙连接音箱后投屏电影没声音? 飞利浦E900-S能投屏么怎么投 飞利浦32PHF3021/T3支持无线投屏吗? 微信读书的有声小说怎么保存到相册? 微信读书里保存到手机的图片在哪里可以找到 苹果6s总是静音,侧面调试不能用,尽管侧面不是静音,但是还是没有声音 iphone6s静音键失灵可以换手机么 买了两个月 收到短信说要冻结所有的账户,是真是假 CSS兼容的最好的解决方法 CSS中不同浏览器兼容问题 CSS可以兼容所有浏览器吗? 怎么调css兼容性啊? css关于不同浏览器兼容问题 css样式与浏览器的兼容问题 怎样解决CSS样式在不同浏览器下的兼容问题(转) CSS兼容所有浏览器代码怎么写? 常见的CSS里的存在兼容的属性有那些呢? 如何实现css在各浏览器中兼容? 如何让CSS兼容所有IE浏览器 如何购买意大利面? 请大家教我几种意大利面的做法,怎么选面? 西餐厅里的意大利面是什么面?在哪买的到! 给小孩吃的意大利面,选择哪种好 制作意大利面桥如何选择面条? 如何吃意大利面? 如何做出清新淡雅的意大利面? 红糖是什么糖 红糖属于单糖类还是多糖类