您的位置:首页 > 其它

网页实现圆角的几种方式

2009-10-13 22:15 211 查看
1. table + 图片: 适合所有浏览器

原理:三行三列的 table, 如下图,1,3,7,9,放圆角图片;2,4,6,8 放边框;5 放内容

1 222222222222222 3

4 6

4 6

4 5 6

4 6

4 6

4 6

7 888888888888888 9

2. css3 实现: IE 和 oprea 目前不支持

css3 中增加了圆角属性:

-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-bottomright: 5px;
-webkit-border-top-left-radius: 5px
-webkit-border-bottom-right-radius: 5px;
// -moz 开头的是 firefox 特有的
// wekit 开头的在 chrome 和 safari 下有效
// IE(6-8) 目前还不支持 css3 圆角
// Opera 也不支持 css3 圆角


/* 牛人总结的 */
-moz-border-radius: 5px;
-khtml-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;


3. div 实现:使用于所有浏览器, Google Code 这样实现的

原理: 外层 div 设置背景,外层 div 里面的上面和下面分别放几个高 1px 的 div,给这些 div 设置 border-left 和 border-right 这两个属性,border 设置颜色来覆盖掉背景颜色,border 的宽度递增变化使看起来圆滑。

例子:

<div style="width:300px;height:300px;background:blue">
<div style="height:1px;border-left:solid 4px #fff;border-right:solid 4px #fff"></div>
<div style="height:1px;border-left:solid 2px #fff;border-right:solid 2px #fff"></div>
<div style="height:1px;border-left:solid 1px #fff;border-right:solid 1px #fff"></div>
<div style="height:294px;"></div>
<div style="height:1px;border-left:solid 1px #fff;border-right:solid 1px #fff"></div>
<div style="height:1px;border-left:solid 2px #fff;border-right:solid 2px #fff"></div>
<div style="height:1px;border-left:solid 4px #fff;border-right:solid 4px #fff"></div>
</div>


如果觉得这样些麻烦的话可以使用 js 的一个实现圆角的库:CurvyCorners http://www.curvycorners.net/

这个库使用同样原理来实现的,不过个人觉得使用这个库比较慢(IE 下)!如果看下 js 生成的 html 就会发现每个圆角会生成很多个 div,因为 js 生成的 每个 div 是水平排列的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: