CSS实现绝对的完美圆角框

网络整理 - 07-27

导言:

本文探讨的是圆角框的终极解决方案,其核心关键词是“圆滑、完美、兼容、重用性、语义”,这些技术都是收集目前网络上最流行的做法。纵观种种方法,各有其优势,请针对不同的环境分别使用。

圆角框,因为其样式比直角框漂亮,所以成为设计师心中偏爱的设计元素。现在的web标准下大量的网页、博客都采用圆角框设计,成为一道亮丽的风景线。
然而,就是这个圆角,却成为了网页前端人员心中永远抹之不去的阴影,对它,可以说是又痛又爱。爱的是它的漂亮,痛的是要让它兼容通行于各种不同的浏览器却成为一个永远的神话。
让我们来回顾一下目前网络流行的都有哪些解决方案。

第一种:无图片纯css圆角框

收录理由:兼容性强,不用图形

图一

特点:

  • 不用任何图形,使用很多个div容器模拟出圆角效果。
  • 兼容性:通杀所有浏览器
  • 缺点:

    实现原理:
    用很多1像素高的div容器,利用背景色和边框色来模拟出圆角框的轮廓线。

    实例演示:

    第二种:无图片纯css圆角框,用特殊字符(&bull)

    收录理由:圆滑,不用图形

    图三

    特点:

    缺点:

    利用九宫格原理,在一个容器的四个角加入绝对定位(或相对定位)的四张圆角图片。

    实例演示:

    第四种:利用VML绘制圆角(ie only)

    收录理由:无图片,平滑,可加阴影边框

    CSS实现绝对的完美圆角框

    图四

    特点:

    缺点:

  • 除了兼容性 有问题外,其它方面的表现都不错。
  • 不能在圆弧中表现丰富的有渐变的图片,因为圆弧外框是透明的。
  • 实现原理:使用IE专用的VML来画出圆角。

    <v:roundrect
    id="roundbox"
    class="circle"
    strokecolor="red"
    strokeweight="2px"
    arcsize="0.08">
    </ v:roundrect >

    注意加入引用空间:

    <html xmlns:v xmlns="">

    这是兼容的用法,

    xmlns:v一不能少,否则。。。
    样式表中加入这一句话:
    v":*{behavior:url(#default#VML);display:inline-block;}
    Arcsize为半径
    Strokeweight为边框线宽度
    Strokecolor为边框线的颜色

    实例演示:(请在IE系列浏览器下查看本实例)

    运行代码框

    运行代码复制代码另存代码收藏本页 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]