这篇文章主要介绍了使用CSS3实现圆角,阴影,透明的方法和示例代码分析,非常的简单实用,这里推荐给小伙伴们。
CSS实现圆角,阴影,透明的方法很多,传统的方法都比较复杂,用CSS3就方便很多了,虽然现在各浏览器对CSS3的支持还不是很好,但不久的将来CSS3就会普及.maCHTML5中文学习网 - HTML5先行者学习网
1.圆角maCHTML5中文学习网 - HTML5先行者学习网
CSS3实现圆角有两种方法.maCHTML5中文学习网 - HTML5先行者学习网
第一种是背景图像,传统的CSS每个元素只能有一个背景图像,但是CSS3可以允许一个元素有多个背景图像.这样给一个元素添加4个1/4圆的背景图像,分别位于4个角上就可以实现圆角了.maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网
.box { maCHTML5中文学习网 - HTML5先行者学习网
/* 首先定义要使用的4幅图像为背景图 */ maCHTML5中文学习网 - HTML5先行者学习网
background-image: url(/img/top-left.gif), maCHTML5中文学习网 - HTML5先行者学习网
url(/img/top-right.gif), maCHTML5中文学习网 - HTML5先行者学习网
url(/img/bottom-left.gif), maCHTML5中文学习网 - HTML5先行者学习网
url(/img/bottom-right.gif); maCHTML5中文学习网 - HTML5先行者学习网
/* 然后定义不重复显示 */ maCHTML5中文学习网 - HTML5先行者学习网
background-repeat: no-repeat, maCHTML5中文学习网 - HTML5先行者学习网
no-repeat, maCHTML5中文学习网 - HTML5先行者学习网
no-repeat, maCHTML5中文学习网 - HTML5先行者学习网
no-repeat; maCHTML5中文学习网 - HTML5先行者学习网
/* 最后定义4幅图分别显示在4个角上 */ maCHTML5中文学习网 - HTML5先行者学习网
background-position: top left, maCHTML5中文学习网 - HTML5先行者学习网
top right, maCHTML5中文学习网 - HTML5先行者学习网
bottom left, maCHTML5中文学习网 - HTML5先行者学习网
bottom right; maCHTML5中文学习网 - HTML5先行者学习网
} maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网 第二种方法就简洁了,直接用CSS实现,不需要用图片.maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网
.box { maCHTML5中文学习网 - HTML5先行者学习网
/* 直接定义圆角的半径就可以了 */ maCHTML5中文学习网 - HTML5先行者学习网
border-radius: 1em; maCHTML5中文学习网 - HTML5先行者学习网
} maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网 但是第二种方法还没有得到很好的支持,当前Firefox和Safari(同一个核心的Chrome也可以),需要使用前缀maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网
.box { maCHTML5中文学习网 - HTML5先行者学习网
-moz-border-radius: 1em; maCHTML5中文学习网 - HTML5先行者学习网
-webkit-border-radius: 1em; maCHTML5中文学习网 - HTML5先行者学习网
border-radius: 1em; maCHTML5中文学习网 - HTML5先行者学习网
} maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网2.阴影maCHTML5中文学习网 - HTML5先行者学习网
CSS3的box-shadow属性可以直接实现阴影maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网
img { maCHTML5中文学习网 - HTML5先行者学习网
-webkit-box-shadow: 3px 3px 6px #666; maCHTML5中文学习网 - HTML5先行者学习网
-moz-box-shadow: 3px 3px 6px #666; maCHTML5中文学习网 - HTML5先行者学习网
box-shadow: 3px 3px 6px #666; maCHTML5中文学习网 - HTML5先行者学习网
} maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网 这个属性的4个参数是:垂直偏移,水平偏移,投影的宽度(模糊程度),颜色maCHTML5中文学习网 - HTML5先行者学习网
3.透明maCHTML5中文学习网 - HTML5先行者学习网
CSS本来就是支持透明的,IE以外的浏览器是opacity属性,IE是filter:alpha.但是,这个透明度有个缺点,就是它会使应用元素的内容也会继承它,比如有一个DIV,maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网
<div style="opacity:0.8;filter:alpha(opacity=80); font-weight: bold;">> maCHTML5中文学习网 - HTML5先行者学习网
内容 maCHTML5中文学习网 - HTML5先行者学习网
</div> maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网 如果像上面这样DIV的背景是透明了,但是内容两个字也透明了,这时可以用RGBa.maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网
.alert { maCHTML5中文学习网 - HTML5先行者学习网
rgba(0,0,0,0.8); maCHTML5中文学习网 - HTML5先行者学习网
} maCHTML5中文学习网 - HTML5先行者学习网
maCHTML5中文学习网 - HTML5先行者学习网 这个属性前3个属性表示颜色红,绿,蓝,第四个是透明度.红绿蓝都是0代表黑色,所以rgba(0,0,0,0.8)就是将黑色的透明度设置为0.8.maCHTML5中文学习网 - HTML5先行者学习网
CSS3使得原来很难实现的效果变得很简单,希望各浏览器对CSS3尽快实现完美支持.