几个常用的CSS3样式代码以及不兼容的解决办法

原文:几个常用的CSS3样式代码以及不兼容的解决办法

border-radius实现圆角效果

1 CSS3代码:
2
3 -webkit-border-radius:10px;
4 -moz-border-radius:10px;
5 border-radius:10px;
6 background-color:#666;
7 width:200px;height:100px;

Firefox,Chrome Google,Safari等浏览器的显示效果如图0-0:

图0-0

但是IE这个异类不支持CSS3的这个属性,在IE9下的显示效果如图0-1:

图0-1

但是不能放任它不管,还是找办法解决这个兼容性问题。

解决方案:在CSS文件中通过behavior属性——这个属性只能被IE识别,引入一个htc文件, ie-css3.htc

这个是由Remiz Rahnas使用 VML 编写了一个 HTC 文件,为 IE 浏览器提供圆角效果的支持。

 1 div{
 2     -webkit-border-radius:10p;
 3     -moz-border-radius:10px;
 4     border-radius:10px;
 5     background-color:#666;
 6     width:200px;
 7     height:100px;
 8     color:#fff;
 9     behavior: url(ie-css3.htc);
10 }

截两幅图看看效果,一幅来自IE6,一幅来自IE9:

                                             

注意:首先,在 Server 端需要引入一个 HTC 文件,经过 gzip 压缩后对 server 端和 client 端性能应该不会有太大的影响;其次,它会使你的 CSS 验证不合法;另外,这个脚本在 IE8 上有一些问题,它会使 z-index 值变成负数。因此使用时还需要小心.

box-shadow实现阴影效果

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
 5     <title></title>
 6     <style type="text/css">
 7         div img{
 8             background-color: #fff;
 9             -webkit-box-shadow:5px 5px 5px #000;
10             -moz-box-shadow:5px 5px 5px #000;
11             box-shadow:5px 5px 5px #000;
12             width:295px;
13             height:300px;
14             /* For IE 8 */
15             -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=8, Direction=135, Color=‘#000000‘)";
16             /* For IE 5.5 - 7 */
17             filter: progid:DXImageTransform.Microsoft.Shadow(Strength=8, Direction=135, Color=‘#000000‘);
18         }
19     </style>
20 </head>
21 <body>
22     <div>
23         <img src="beautiful.jpg">
24     </div>
25 </body>
26 </html>

Chrome,Firefox,IE9下的效果显示:

接下来要做的事情,想必读者朋友都知道了,兼容IE6-8。首先想到的IE的滤镜。来看看效果吧。

 1 加上滤镜之后的代码片段:
 2
 3 div img{
 4             background-color: #fff;
 5             -webkit-box-shadow:5px 5px 5px #000;
 6             -moz-box-shadow:5px 5px 5px #000;
 7             box-shadow:5px 5px 5px #000;
 8             width:295px;
 9             height:300px;
10             /* For IE 8 */
11             -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=8, Direction=135, Color=‘#000000‘)";
12             /* For IE 5.5 - 7 */
13             filter: progid:DXImageTransform.Microsoft.Shadow(Strength=8, Direction=135, Color=‘#000000‘);
14         }

测试之后的效果,分别是IE5.5-IE8:

虽然差强人意,但凑合着用。如果有朋友知道除此之外的方法,能否告知一声,共同进步嘛!^_^

opacity实现透明度效果

 1 div img{
 2     width:295px;
 3     height:300px;
 4     -webkit-opacity:0.3;
 5     -moz-opacity:0.3;
 6     opacity: 0.3;
 7     /*for IE 6,7,8*/
 8     filter:alpha(opacity=30);
 9     border:1px solid #ccc;
10 }

兼容IE 6,7,8。效果(来自IE6):

transform:rotate(度数) 将元素旋转X度

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
 5     <title></title>
 6     <style type="text/css">
 7         div {
 8
 9             width:150px;
10             height:50px;
11             margin: 50px;
12             -webkit-transform:rotate(7deg);
13             -moz-transform:rotate(7deg);
14             -ms-transform:rotate(7deg);
15             -o-transform:rotate(7deg);
16             transform:rotate(7deg);
17               border:1px solid #ccc;
18         }
19     </style>
20 </head>
21 <body>
22     <div>
23
24     </div>
25 </body>
26 </html>

让我们来去W3C看看transform的兼容性:

以上代码已经实现了对以上浏览器及其版本的支持,但是IE6,7,8呢?俗话说,兵来将挡,水来土掩,山人自有妙计,只不过这妙计是借来的。

几个常用的CSS3样式代码以及不兼容的解决办法,布布扣,bubuko.com

时间: 2024-10-12 11:45:07

几个常用的CSS3样式代码以及不兼容的解决办法的相关文章

QWidget 直接派生类的样式表不起作用的解决办法

从 QWidget 派生一个窗口,使用 stylesheet 设置背景,designer 设置没有问题,或者,通过 setStyleSheet() 设置,代码操作是正确的,编译运行后,却没有背景. 下面为验证例子(通过代码验证,没有使用 designer ): 工程目录结构如下: mywidget.h 示例代码如下: #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> class MyWidget : public QWidget

本地修改js代码并时时生效的解决办法

js作为客户端语言(当然它也可以作服务端语言),非常强悍,一般情况下,我们都是在开发阶段不停的改,然后上线之后就作为稳定运行的代码. 然而有时候可能因为js写得有问题,导致上线后,某些功能无法使用,这就悲催了,而且一般的公司上线应该都不会很容易. 那么对于这种js一类的修改,如果能在本地临时生效,做一些紧急问题的修复,就很重要了.(我也是遇到这个坑,只要把这次临时问题修复,等下一个功能代码要上线时,再修复也是可以的) 那么,怎样做到本地修改js文件,从而达到代码运行ok的效果呢? 本文将会给出多

常用的css3样式

1.表单形式,一行文字,分2列或者三列,其中一列或者两列宽度固定,最后一列100%长度使用display:table 外层结构样式: display: table; width: 100%; box-sizing: border-box; 内存固定宽度样式: display: table-cell; width: 65px; 内存100%宽度样式: width: 100%; display: table-cell; 2.页面滚动顺畅,添加样式(手机端滑动好) -webkit-overflow-s

本地网页样式上传服务器后发生变化解决办法

这段时间给公司做了个网站,在本地用IE10,火狐,goolgeChrome,360浏览器通过页面样式测试. 本地通过测试后便上传到服务器,上传之后用IE10浏览发现有部份样式异常.火狐,goolgeChrome,360浏览与本地浏览样式效果一样. 和平时一样,有问题找度娘.大部分网友说:编码问题,也有说样式没有加载更有说是缓存问题···,我用文本编辑器notepad++查看CSS文件发现ANSI格式,难道真是编码格式问题?立马改成UTF-8保存并上传至服务器. 测试结果让并没有发生改变,看来不是

Eclipse修改java代码后自动重启Tomcat解决办法

今天甚是郁闷,项目马上要上线了,早上刚到公司打开MyEclipse 10.07提示过期提示,这对于用惯了破解软件的帝国用户的我原本以为小菜一碟. 于是到网上到处找破解软件,不用多长时间,Ok 破解成功.再一打开MyEclipse没什么异常,可到了部署项目时却发现总是出问题. 于是乎继续想办法破解,清理C盘和MyEclipse有关的文件,清注册表,重复重装,到最后也无果,卸载MyEclipse... 到网上下了个Eclipse,终于松了口气,决定再也不用My....可问题又来了,每次稍微修改jav

集成百度地图时SDKInitializer.initialize(getApplicationContext());这行代码报错,最佳解决办法

在build.gradle中加入一段话: sourceSets { main { jniLibs.srcDirs = ['libs']     } }保存即可解决此问题

Tortoisegit 在Windows7下pull代码提示403错误,解决办法

安装好git和Tortoisegit后,在cmd执行ssh-genkey,会得到提示,让你手动输入地址,保持公钥和私钥,公钥填到服务器的系统中,但这没用,pull是依然是403,权限问题. windows7默认的环境变量中没有HOME变量,而ssh-genkey默认会生成在HOME变量下,所以一定自己添加HOME环境变量.然后ssh-genkey,一路回车默认,即可.

vs2013没有代码提法的一种解决办法

把这两个勾去掉,然后关掉vs再打开,最后重新勾选上就行了.

两款CSS3样式可视化在线生成工具

CSS3随着浏览器的升级已经被越来越广泛的运用,合理的运用CSS3可以使你的网站更加美观,并且之前只能用js才能实现的效果也已经可以直接用 CSS3来实现.但是虽然如此,很多浏览器对CSS3的支持还都是通过其私有属性来达到支持的,鲜有直接对W3C的标准来实现的.诸如firefox的 -moz-和webkit的-webkit-属性前缀. 不过CSS3本身W3C也并未有正式版发布,现在还只是草案.下面我推荐两个很直观的,可视化的,自动生成CSS3样式代码的工具网站给大家. 1.CSS3 Genera