web中如何实现圆角矩形?是不是有个叫border-radious??

JavaScript018

web中如何实现圆角矩形?是不是有个叫border-radious??,第1张

利用 CSS3 的 border-radius 属性能够令网页元素表现圆角,虽然目前绝大多数的浏览器都已经支持 border-radius 属性,而老式的IE浏览器们如 IE6、IE7 或 IE8 是不支持 border-radious 属性的。

但可以用一个js插件“CurvyCorners”解决。

通常,要使用网页中的某些元素呈现圆角,我可以使用 CSS3 的 border-radious 属性,在需要显示圆角的CSS元素中添加如下的属性值即可,如:

#wrapper{

-moz-border-radius: 5px

-webkit-border-radius: 5px

border-radius: 8px

border: 1pxsolid#333

}

Firefox, Safari 和 Chrome 等浏览器默认支持这些属性,但是,对于 IE9 以下的旧版 IE 来说,它们就会无视(不支持)以上的 CSS 属性,那怎么办呢?方法是有的,而且也相当简单。

首先下载一个小小的 js文件 Curvy Corners 到桌面上,解压缩,将其中的 curvycorners.js 文件放到网站目录.

在页面中使用curvycorners.js 实现圆角功能:

在head节点中加入如下代码:

<script type="text/JavaScript" src="../curvycorners.js"></script>/*引入js*/

<script type="text/JavaScript">

curvyCorners.addEvent(window, 'load', initCorners)

function initCorners() {

var settings = {

tl: { radius: 20 },

tr: { radius: 20 },

bl: { radius: 20 },

br: { radius: 20 },

antiAlias: true

}

curvyCorners(settings, "#myBox") /*myBox 为需要处理圆角的容器id*/

}

</script>

如果是支持CSS3的浏览器,定义border-radius属性,就是盒模型的边界圆角,值越大越圆。

用jquery做的话,就是定义一个带border-radius的class,然后选择相应的元素,在hover事件中使用addClass方法添加这个class。

但是,这是不好的做法,或者说是dumb way。因为直接使用css的hover伪类就可以实现,完全不需要借助jquery或者说js

例如你的这几个div拥有一个class,title-div,那么只需要

.title-div:hover {

border-radius: 8px

}

就可以实现鼠标一上去圆角。

不过要是需要兼容IE6/7/8这种不支持CSS3特性的浏览器,就得使用CSS3Pie之类的库,你可以搜索下,在官网上看看他介绍。