浅谈兼容各种浏览器下的CSS Hack写法
作者:admin发布时间:2021-11-02分类:软件教程浏览:评论:0
导读:由于不同浏览器所遵循的标准也有所不同,再加上不可避免的程序bug、经济利益等因素的干扰。同样的网页代码(HTML+CSS),在不同浏览器上的显示效果却略有不同,甚至大有不同。即使是同一个浏览器,其不同版本的显示效果也有所不同,尤其是IE。这就给网页前端设计人员带来
因为不一样电脑浏览器所遵循的规范也各有不同,再再加上必然的程序流程bug,经济发展权益等要素的影响。一样的网页源代码(HTML CSS),在不一样游览器上的展示实际效果却略有不同,乃至有很大的不一样。即便 是同一个电脑浏览器,其不一样版本号的展示实际效果也各有不同,尤其是IE。这就给网页页面网站前端开发工作人员介绍了非常大的困惑。开发者务必兼具充分考虑全部主要的电脑浏览器,才可以在不一样的电脑浏览器上表明出同样或满足要求的实际效果。因此CSS Hack技术性就兴起了。
CSS Hack技术性,便是使用不一样电脑浏览器不一样版本号之前的CSS完成的特点差别,来达到大家必须的实际效果:在全部主流浏览器上表明统一的实际效果,或是为特殊电脑浏览器表明特殊的实际效果。
大家都知道,假如在一个css样式选择符中出现2个名字同样的特性,电脑浏览器一般会以最终面的特性为标准。
CSS Code拷贝內容到剪贴板
IE网页的CSS Hack 全部的IE网页的CSS Hack 因为全部的IE电脑浏览器都可以鉴别特殊的css属性值后缀名9,因而我们可以给css的特性值加上9后缀名(在末尾的分号以前),进而保证仅有IE电脑浏览器可以鉴别该特性,别的电脑浏览器无法识别进而将其忽视掉。 CSS Code拷贝內容到剪贴板
此外,也有人说,IE 7适用!important,IE 6不兼容!important,因而能够 根据*特性: 值!important;的方式来完成IE 7的CSS Hack。 事实上,那样也是不可以的,由于IE 6并不是不兼容!important,仅仅有一个bug罢了,敬请参照IE6到底支不兼容!important和IE6 IE7(Q) IE8(Q) 不彻底适用!important标准。 应用!important来完成IE 7的CSS Hack,务必是在同一个款式选择符中,并且一样必须在后面加_特性来还原IE 6的设定(这类方法还不便点,上边的方式 还少写个!important)。 CSS Code拷贝內容到剪贴板
谨慎使用的CSS Hack 在网上很多与CSS Hack有关的文章内容上说,在css的特性值和分号中间加上标识符,能够 完成对IE 8或 IE 9的CSS hack(有的说,仅适用IE8)。 在网上的实例是如此的: CSS Code拷贝內容到剪贴板
- <style type="text/css">
- .css-hack {
- background-color: red;
- background-color: blue; /* 最后背景颜色表明为深蓝色 */
- }
- </style>
- <div class="css-hack">CodePlayer</div>
- .css-hack {
- background-color: red; /* 在别的电脑浏览器上表明为鲜红色 */
- _background-color: blue; /* 在IE 6上表明为深蓝色 */
- }
- .css-hack {
- background-color: red;
- max-width: 200px;
- _width: expression( function(me){ var maxWidth = 200; me.style.width = (me.offsetWidth <= maxWidth ? me.offsetWidth : maxWidth) "px"; }(this) ); /* _开始仅有IE6能够 鉴别,出自于特性考虑到,这里的关系式只能实行一次 */
- }
IE网页的CSS Hack 全部的IE网页的CSS Hack 因为全部的IE电脑浏览器都可以鉴别特殊的css属性值后缀名9,因而我们可以给css的特性值加上9后缀名(在末尾的分号以前),进而保证仅有IE电脑浏览器可以鉴别该特性,别的电脑浏览器无法识别进而将其忽视掉。 CSS Code拷贝內容到剪贴板
- .css-hack {
- background-color: red; /* 别的电脑浏览器上表明为鲜红色 */
- background-color: blue 9; /* 全部IE电脑浏览器上表明为深蓝色 */
- }
- .css-hack {
- background-color: red; /* 别的电脑浏览器上表明为鲜红色 */
- _background-color: blue; /* 仅有IE 6电脑浏览器上表明为深蓝色 */
- }
- .css-hack {
- color: red; /* 别的电脑浏览器上表明为鲜红色 */
- color: blue; /* 仅有 IE 6.IE 7 电脑浏览器上表明为深蓝色 */
- _color: red; /* 让 IE 6 还原为以前安装的色调 */
- }
此外,也有人说,IE 7适用!important,IE 6不兼容!important,因而能够 根据*特性: 值!important;的方式来完成IE 7的CSS Hack。 事实上,那样也是不可以的,由于IE 6并不是不兼容!important,仅仅有一个bug罢了,敬请参照IE6到底支不兼容!important和IE6 IE7(Q) IE8(Q) 不彻底适用!important标准。 应用!important来完成IE 7的CSS Hack,务必是在同一个款式选择符中,并且一样必须在后面加_特性来还原IE 6的设定(这类方法还不便点,上边的方式 还少写个!important)。 CSS Code拷贝內容到剪贴板
- .css-hack {
- color: red; /* 别的电脑浏览器上表明为鲜红色 */
- *color: blue !important; /* 仅有 IE 6.IE 7 电脑浏览器上表明为深蓝色 */
- _color: red; /* 让 IE 6 还原为以前安装的色调 */
- }
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- }
- * html .css-hack {
- color: blue; /* 仅有IE 7表明深蓝色 */
- }
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- }
- @media screen {
- .css-hack { color: blue; } /* 仅有IE 8表明深蓝色 */
- }
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- *color: blue; /* IE 6.IE 7表明为深蓝色 */
- }
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- }
- @-moz-document url-prefix() {
- .css-hack {
- color: blue; /* 仅有FireFox表明为深蓝色 */
- }
- }
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- }
- @media screen and (-webkit-min-device-pixel-ratio:0) {
- .css-hack {
- color: blue; /* Webkit核心电脑浏览器表明深蓝色 */
- }
- }
谨慎使用的CSS Hack 在网上很多与CSS Hack有关的文章内容上说,在css的特性值和分号中间加上标识符,能够 完成对IE 8或 IE 9的CSS hack(有的说,仅适用IE8)。 在网上的实例是如此的: CSS Code拷贝內容到剪贴板
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- color: blue; /* IE8.IE9 表明深蓝色 */
- color: green; /* IE7 表明翠绿色 */
- _color: brown; /* IE6 表明深棕色 */
- }
- .css-hack {
- color: red; /* 别的电脑浏览器表明鲜红色 */
- color: blue; /* IE8.IE9 表明深蓝色 */
- }
标签:兼容浏览器
你 发表评论:
欢迎- 软件教程排行
- 最近发表