多方式实现圆角边框.docx
- 文档编号:11371350
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:10
- 大小:86.69KB
多方式实现圆角边框.docx
《多方式实现圆角边框.docx》由会员分享,可在线阅读,更多相关《多方式实现圆角边框.docx(10页珍藏版)》请在冰豆网上搜索。
多方式实现圆角边框
css圆角-7种CSS圆角框解决方案
2009年09月11日星期五10:
06
7种CSS圆角框解决方案
本文探讨的是前端设计种最常用的页面圆角框效果的7种不同方法实现解决方案,其核心关键词是“圆滑、完美、兼容、重用性、语义”,这些技术都是收集目前网络上最流行的做法。
纵观种种方法,各有其优势,请针对不同的环境分别使用。
圆角框,因为其样式比直角框漂亮,所以成为设计师心中偏爱的设计元素。
现在的web标准下大量的网页、博客都采用圆角框设计,成为一道亮丽的风景线。
然而,就是这个圆角,却成为了网页前端人员心中永远抹之不去的阴影,对它,可以说是又痛又爱。
爱的是它的漂亮,痛的是要让它兼容通行于各种不同的浏览器却成为一个永远的神话。
让我们来回顾一下目前网络流行的都有哪些解决方案。
1,无图片纯css圆角框
收录理由:
兼容性强,不用图形
图一
特点:
1.不用任何图形,使用很多个div容器模拟出圆角效果。
2.兼容性:
通杀所有浏览器
缺点:
1.构造这个圆角需要加入太多的无语义的标签,结构比较冗余。
2.重用性不强:
如果一个页面有多个圆角,并且要实现不同的半径大小,则其灵活性不够。
3.边框颜色虽然可以调节,但会对页面中的结构产生致命的影响,适用于色彩单一并且一个页面中圆角应用不多的页面。
4.不容易实现圆弧内有渐变色的图形背景。
5.圆角框不够圆滑,有锯齿现象,适合于背景色和当前色色差不大并且圆弧较小的网页。
实现原理:
用很多1像素高的div容器,利用背景色和边框色来模拟出圆角框的轮廓线。
实例演示:
http:
//www.cssplay.co.uk/boxes/snazzy.html
2,无图片纯css圆角框,用特殊字符(&bull)
收录理由:
圆滑,不用图形
图二
特点:
1.不用任何图形,使用特殊字符•(圆点)模拟出圆角。
2.兼容性:
通杀所有浏览器
3.圆角平滑
缺点:
1.构造这个圆角一样需要加入无语义的标签,结构冗余,同第一种一样。
2.重用性不强:
如果一个页面有多个圆角,并且要实现不同的半径大小,需要调整四个角图片的定位,并且字符大小对其有影响,灵活性不够。
3.颜色虽可调节,但要求里面的背景色和字符的颜色相同,不能做成边框线条。
适用于色彩单一并且一个页面中圆角不是太多的页面。
4.一样不容易实现圆弧内有渐变色的图形背景。
实现原理:
用特殊字符(&bull),利用定位,截取四分之一圆模拟出圆角框的一个角图片。
实例演示:
http:
//www.cssplay.co.uk/boxes/curves.html
3,图片圆角框
收录理由:
兼容性强,可以表现很复杂的圆角效果。
图三
特点:
1.使用四个圆角图形(或一个圆图片)。
2.兼容性:
通杀所有浏览器。
3.这是最常用的圆角框做法。
4.因为采用图片来表现,所以其圆角是超级平滑,无任何锯齿现象。
5.表现丰富,适用于各种对图片表现要求较高的圆角框。
缺点:
1.构造这个圆角也需要加入四个标签来装四张角图片,结构也有冗余。
2.重用性不强:
如果一个页面有多个圆角,并且要实现不同的半径大小,则要重新制作一套圆角图片。
3.如果对结构的冗余没有特别的需求,这就是超级圆滑圆角框的解决方案了。
实现原理:
利用九宫格原理,在一个容器的四个角加入绝对定位(或相对定位)的四张圆角图片。
实例演示:
http:
//www.cssplay.co.uk/boxes/three_cornered.html
4,利用VML绘制圆角(ieonly)
收录理由:
无图片,平滑,可加阴影边框
图四
特点:
1.不用任何图形。
2.兼容性:
只能在IE中使用
3.圆角半径随意调整
4.重用性强:
多个圆角任意调用。
5.圆角颜色随意设置。
6.结构无冗余。
7.圆角平滑无锯齿。
缺点:
1.除了兼容性有问题外,其它方面的表现都不错。
2.不能在圆弧中表现丰富的有渐变的图片,因为圆弧外框是透明的。
实现原理:
使用IE专用的VML来画出圆角。
roundrect id=”roundbox” class=”circle” strokecolor=”red” strokeweight=”2px” arcsize=”0.08″>
roundrect>
注意加入引用空间:
vxmlns=”http: //www.w3.org/1999/xhtml”>这是兼容的用法,xmlns: v一定不能少,否则。 。 。 样式表中加入这一句话: v”: *{behavior: url(#default#VML);display: inline-block;} Arcsize为半径 Strokeweight为边框线宽度 Strokecolor为边框线的颜色 实例演示: (请在IE系列浏览器下查看本实例) DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> vxmlns="http: //www.w3.org/1999/xhtml"> roundrectid="roundbox"class="circle"strokecolor="red"strokeweight="2px"arcsize="0.08"> 就其图形表现来说,是非常完美的。VML画平滑圆角
shadowon="t"color="#777"opacity="52428f"offset="1.5pt,1.5pt"/>
roundrect>