LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

7种CSS圆角框解决方案

admin
2010年4月27日 2:26 本文热度 7936
[p]本文探讨的是前端设计种最常用的页面圆角框效果的7种不同方法实现解决方案,其核心关键词是“圆滑、完美、兼容、重用性、语义”,这些技术都是收集目前网络上最流行的做法。纵观种种方法,各有其优势,请针对不同的环境分别使用。[/p]
[p][/p]
[p]圆角框,因为其样式比直角框漂亮,所以成为设计师心中偏爱的设计元素。现在的web标准下大量的网页、博客都采用圆角框设计,成为一道亮丽的风景线。[/p]
[p]然而,就是这个圆角,却成为了网页前端人员心中永远抹之不去的阴影,对它,可以说是又痛又爱。爱的是它的漂亮,痛的是要让它兼容通行于各种不同的浏览器却成为一个永远的神话。[/p]
[p]让我们来回顾一下目前网络流行的都有哪些解决方案。[/p]
1,无图片纯css圆角框
[p]收录理由:兼容性强,不用图形[/p]
[p][align=center][img]http://bbon.cn/wp-content/uploads/2009/11/1835364uh.gif[/img][/align][/p]
[p][align=center]图一[/align][/p]
[p]特点:[/p]
[p]1.不用任何图形,使用很多个div容器模拟出圆角效果。[/p]
[p]2.兼容性:通杀所有浏览器[/p]
[p]缺点:[/p]
[p]1.构造这个圆角需要加入太多的无语义的标签,结构比较冗余。[/p]
[p]2.重用性不强:如果一个页面有多个圆角,并且要实现不同的半径大小,则其灵活性不够。[/p]
[p]3.边框颜色虽然可以调节,但会对页面中的结构产生致命的影响,适用于色彩单一并且一个页面中圆角应用不多的页面。[/p]
[p]4.不容易实现圆弧内有渐变色的图形背景。[/p]
[p]5.圆角框不够圆滑,有锯齿现象,适合于背景色和当前色色差不大并且圆弧较小的网页。[/p]
[p]实现原理:[/p]
[p]用很多1像素高的div容器,利用背景色和边框色来模拟出圆角框的轮廓线。[/p]
实例演示: http://cssplay.co.uk/boxes/snazzy.html
2,无图片纯css圆角框,用特殊字符(&bull)
[p]收录理由:圆滑,不用图形[/p]
[p][align=center][img]http://bbon.cn/wp-content/uploads/2009/11/183537vtu.gif[/img][/align][/p]
[p][align=center]图二[/align][/p]
[p]特点:[/p]
[p]1.不用任何图形,使用特殊字符•(圆点)模拟出圆角。[/p]
[p]2.兼容性:通杀所有浏览器[/p]
[p]3.圆角平滑[/p]
[p]缺点:[/p]
[p]1.构造这个圆角一样需要加入无语义的标签,结构冗余,同第一种一样。[/p]
[p]2.重用性不强:如果一个页面有多个圆角,并且要实现不同的半径大小,需要调整四个角图片的定位,并且字符大小对其有影响,灵活性不够。[/p]
[p]3.颜色虽可调节,但要求里面的背景色和字符的颜色相同,不能做成边框线条。适用于色彩单一并且一个页面中圆角不是太多的页面。[/p]
[p]4.一样不容易实现圆弧内有渐变色的图形背景。[/p]
[p]实现原理:[/p]
[p]用特殊字符(&bull),利用定位,截取四分之一圆模拟出圆角框的一个角图片。[/p]
实例演示:http://cssplay.co.uk/boxes/curves.html
3,图片圆角框
[p]收录理由:兼容性强,可以表现很复杂的圆角效果。[/p]
[p][align=center][img]http://bbon.cn/wp-content/uploads/2009/11/183537e4a.gif[/img][/align][/p]
[p][align=center]图三[/align][/p]
[p]特点:[/p]
[p]1.使用四个圆角图形(或一个圆图片)。[/p]
[p]2.兼容性:通杀所有浏览器。[/p]
[p]3.这是最常用的圆角框做法。[/p]
[p]4.因为采用图片来表现,所以其圆角是超级平滑,无任何锯齿现象。[/p]
[p]5.表现丰富,适用于各种对图片表现要求较高的圆角框。[/p]
[p]缺点:[/p]
[p]1.构造这个圆角也需要加入四个标签来装四张角图片,结构也有冗余。[/p]
[p]2.重用性不强:如果一个页面有多个圆角,并且要实现不同的半径大小,则要重新制作一套圆角图片。[/p]
[p]3.如果对结构的冗余没有特别的需求,这就是超级圆滑圆角框的解决方案了。[/p]
[p]实现原理:[/p]
[p]利用九宫格原理,在一个容器的四个角加入绝对定位(或相对定位)的四张圆角图片。[/p]
实例演示:http://cssplay.co.uk/boxes/three_cornered.html
4,利用vml绘制圆角(ie only)
[p]收录理由:无图片,平滑,可加阴影边框[/p]
[p][img]http://bbon.cn/wp-content/uploads/2009/11/183537noj.gif[/img][/p]
[p][align=center]图四[/align][/p]
[p]特点:[/p]
[p]1.不用任何图形。[/p]
[p]2.兼容性:只能在ie中使用[/p]
[p]3.圆角半径随意调整[/p]
[p]4.重用性强:多个圆角任意调用。[/p]
[p]5.圆角颜色随意设置。[/p]
[p]6.结构无冗余。[/p]
[p]7.圆角平滑无锯齿。[/p]
[p]缺点:[/p]
[p]1.除了兼容性 有问题外,其它方面的表现都不错。[/p]
[p]2.不能在圆弧中表现丰富的有渐变的图片,因为圆弧外框是透明的。[/p]
[p]实现原理:使用ie专用的vml来画出圆角。[/p]
[p] [p]id=”roundbox”[/p]
[p]class=”circle”[/p]
[p]strokecolor=”red”[/p]
[p]strokeweight=”2px”[/p]
[p]arcsize=”0.08″>[/p]
[p][/p]
[p]注意加入引用空间:[/p]
[p]这是兼容的用法,xmlns:v一定不能少,否则。。。[/p]
[p]样式表中加入这一句话:[/p]
[p]v”:*{behavior:url(#default#vml);display:inline-block;}[/p]
[p]arcsize为半径[/p]
[p]strokeweight为边框线宽度[/p]
[p]strokecolor为边框线的颜色[/p]
[p]实例演示:(请在ie系列浏览器下查看本实例)[/p]
vml画平滑圆角
[p]使用ie专用的vml来画平滑圆角框,还可以画出阴影效果。就其图形表现来说,是非常完美的。[/p]
5,利用私有属性绘制圆角(ff3 only)
[p]收录理由:平滑无锯齿[/p]
[p][align=center][img]http://bbon.cn/wp-content/uploads/2009/11/183537z3y.gif[/img][/align][/p]
[p][align=center]图五[/align][/p]
[p]特点:[/p]
[p]1.不用任何图形。[/p]
[p]2.兼容性:只能在ff3中使用,其它浏览器不受支持。[/p]
[p]3.圆角半径随意调整[/p]
[p]4.重用性强:多个圆角任意调用,只需要样式表设置就可以。[/p]
[p]5.圆角颜色随意设置。[/p]
[p]6.结构无冗余。[/p]
[p]7.圆角平滑无锯齿。[/p]
[p]缺点:[/p]
[p]1.除了兼容性 有问题外,其它方面的表现都不错,这种方式应该是最完美的方式,可惜目前只有ff3能支持这个属性,以后css3后会支持这个属性,不过这不知道要等到多少年以后。[/p]
[p]2.同第五种圆角一样,在处理圆弧内的图片背景时显得有些有心无力。[/p]
[p]实现原理:[/p]
[p]使用ff3专用的私有属性来画出圆角。[/p]
[p]只用两种属性就能体现圆滑的圆角框[/p]
[p]-moz-border-radius:10px;/*圆角半径*/[/p]
[p]border:5px red solid;/*边框大小*/[/p]
[p]实例演示:(请在ff3浏览器下观看,其它浏览器不支持)[/p]
ff3私有属性画的圆角框
[p]ff3下的圆角框两个属性就可以解决:[/p]
[p]-moz-border-radius:半径[/p]
[p]border:边框[/p]
6,无图片脚本圆角框(js半完美解决方案)
[p]这种方案目前应该是比较完美的方案了。[/p]
[p][img]http://bbon.cn/wp-content/uploads/2009/11/183537ncq.gif[/img][/p]
[p][align=center]图六[/align][/p]
[p]特点:[/p]
[p]1.不用任何图形。[/p]
[p]2.兼容性:通杀所有浏览器[/p]
[p]3.圆角半径随意调整[/p]
[p]4.重用性强:多个圆角任意调用。[/p]
[p]5.颜色随意设置,并且可以使用复杂的图片做为背景,表现丰富。[/p]
[p]6.结构无冗余,只需要在容器上定义一个class或id就可以将这个div变成圆角。[/p]
[p]7.圆角平滑。[/p]
[p]缺点:[/p]
[p]1.客户端禁用js时就无圆角,不过在目前情势下,这种情况应该不会成为太大的问题。[/p]
实例演示:http://curvycorners.net/examples.php(有三个演示例子)
[b]7,无图片vml/canvas结合的圆角框[/b]
[p]增补一种方案,结合jquery/vml/canvas的无图片圆角框。[/p]
[p][align=center][img]http://bbon.cn/wp-content/uploads/2009/11/183537qhu.gif[/img][/align][/p]
[p][align=center]图七[/align][/p]
特点:[br]1.不用任何图形。[br]2.兼容性:通杀所有浏览器[br]3.圆角半径随意调整,并且四个角可以随意设置要不要圆角。[br]4.重用性强:多个圆角任意调用。[br]5.颜色随意设置,并且可以使用复杂的图片做为背景,表现丰富。[br]6.结构无冗余,只需要在容器上定义一个class或id就可以了。[br]7.圆角平滑。[br]缺点:[br]1.本圆角需要用到jquery库,和一个js文件,如果在您的项目中已经用到了jquery这个库,倒还可以用得上,不然,为一个圆角加载一两个js文件有点得不偿失。[br]2.圆角在不同的浏览器下显示有点小小的问题.[br]实例演示:http://labs.parkerfox.co.uk/cornerz/
打包下载:下载demo
[p]结语:目前的css因为不能为一个容器中定义多张背景图片,造成了为了这种圆角效果而加入冗余标签。听说css3会引入这一属性,可能到哪时,就是圆角框统一的时候了。另外也听说在css3中有意向加入像ff3私有属性(-moz-border-radius)的方法,这也可以完美地解决这个问题。但在目前的情势下,可能也只有用上面的这些方法来过渡了,强烈期待css3的到来。[/p]
[p]总而言之:要实现绝对的完美圆角框在目前的形势下基本上是不可能的,所以取名为“半完美解决方案”。[/p]
转载博客:http://cnblogs.com/binyong

该文章在 2010/4/27 2:26:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved