下面的效果图展示了在同样的浏览器(Chrome v16)中呈现的CSS3版的圆角按钮效果: 广州网站建设
![]() |
在上面的代码中,先前的两张图片已被替换为一张沿x轴平铺的1像素宽图片。虽然图片只有1像素宽,但高度仍然是40像素,比任何可能出现在其中的元素都高。在使用图片作为元素背景时,一定要对其高度"高度注意",以预防内容溢出。不幸的是,这样会产生更大的图片,需要更多带宽。尽管如此,和先前完全使用图片的解决方案不同的是,CSS3提供了border-radius及其相关属性来帮助我们设置圆角。客户想让圆角更平滑一点,比如改成12像素?没问题,只需要将border-radius的属性值改为12px,搞定!CSS3的圆角属性简单、灵活,并且Safari(v3+)、Firefox(v1+)、Opera(v10.5+)、Chrome(v3+)和Internet Explorer 9(及IE 10)都支持它。微软对IE 9能够支持这个属性得意洋洋(我希望你能感受到我在此处所表达的一丝讽刺),他们甚至专门设计了一个交互页面来演示使用border-radius属性能达到的各种效果。演示页面的地址如下:http://ie.microsoft.com/testdrive/html5/borderradius/default.html
CSS3可以更进一步,不再需要渐变背景图片,而是使用浏览器渲染的效果。浏览器对这个特性的支持不是很好,但按照linear-gradient(yellow, blue)这个基本思路,任意元素的背景都可以用CSS3生成的渐变来渲染。
渐变可以设定为纯色,即传统的HEX颜色值(如#BFBFBF);也可以使用任何一种CSS3颜色模式(更多详情请见第5章)。如果你想给老版本浏览器的用户设置替换渐变的纯色背景(否则他们看不到任何背景),如下所示的CSS代码可以给不支持渐变的浏览器提供一个纯色背景:
- background-color: #42c264;
- background-image: -webkit-linear-gradient(#4fec50, #42c264);
- background-image: -moz-linear-gradient(#4fec50, #42c264);
- background-image: -o-linear-gradient(#4fec50, #42c264);
- background-image: -ms-linear-gradient(#4fec50, #42c264);
- background-image: -chrome-linear-gradient(#4fec50, #42c264);
- background-image: linear-gradient(#4fec50, #42c264);
linear-gradient属性会指示浏览器从第一个颜色值(即例子中的#4fec50)开始,渐变至第二个颜色值(#42c264)。 广州网站设计
你可能注意到了,CSS代码中的background-image:linear-gradient属性使用不同前缀(例如-webkit-)重复了多次。这种写法允许不同的浏览器(包括-moz-代表的Mozilla Firefox,-ms-代表的Microsoft Internet Explorer等)厂商在发布正式版本之前之前,试验各自对CSS3新特性的实现,正式版本发布后就不再需要前缀。遵循样式表的层叠特性,我们将无前缀的代码放在最后,这样如果该特性可用,则会覆盖之前的声明。
![]() |
在上面的代码中,先前的两张图片已被替换为一张沿x轴平铺的1像素宽图片。虽然图片只有1像素宽,但高度仍然是40像素,比任何可能出现在其中的元素都高。在使用图片作为元素背景时,一定要对其高度"高度注意",以预防内容溢出。不幸的是,这样会产生更大的图片,需要更多带宽。尽管如此,和先前完全使用图片的解决方案不同的是,CSS3提供了border-radius及其相关属性来帮助我们设置圆角。客户想让圆角更平滑一点,比如改成12像素?没问题,只需要将border-radius的属性值改为12px,搞定!CSS3的圆角属性简单、灵活,并且Safari(v3+)、Firefox(v1+)、Opera(v10.5+)、Chrome(v3+)和Internet Explorer 9(及IE 10)都支持它。微软对IE 9能够支持这个属性得意洋洋(我希望你能感受到我在此处所表达的一丝讽刺),他们甚至专门设计了一个交互页面来演示使用border-radius属性能达到的各种效果。演示页面的地址如下:http://ie.microsoft.com/testdrive/html5/borderradius/default.html
CSS3可以更进一步,不再需要渐变背景图片,而是使用浏览器渲染的效果。浏览器对这个特性的支持不是很好,但按照linear-gradient(yellow, blue)这个基本思路,任意元素的背景都可以用CSS3生成的渐变来渲染。
渐变可以设定为纯色,即传统的HEX颜色值(如#BFBFBF);也可以使用任何一种CSS3颜色模式(更多详情请见第5章)。如果你想给老版本浏览器的用户设置替换渐变的纯色背景(否则他们看不到任何背景),如下所示的CSS代码可以给不支持渐变的浏览器提供一个纯色背景:
- background-color: #42c264;
- background-image: -webkit-linear-gradient(#4fec50, #42c264);
- background-image: -moz-linear-gradient(#4fec50, #42c264);
- background-image: -o-linear-gradient(#4fec50, #42c264);
- background-image: -ms-linear-gradient(#4fec50, #42c264);
- background-image: -chrome-linear-gradient(#4fec50, #42c264);
- background-image: linear-gradient(#4fec50, #42c264);
linear-gradient属性会指示浏览器从第一个颜色值(即例子中的#4fec50)开始,渐变至第二个颜色值(#42c264)。 广州网站设计
你可能注意到了,CSS代码中的background-image:linear-gradient属性使用不同前缀(例如-webkit-)重复了多次。这种写法允许不同的浏览器(包括-moz-代表的Mozilla Firefox,-ms-代表的Microsoft Internet Explorer等)厂商在发布正式版本之前之前,试验各自对CSS3新特性的实现,正式版本发布后就不再需要前缀。遵循样式表的层叠特性,我们将无前缀的代码放在最后,这样如果该特性可用,则会覆盖之前的声明。




