这里首先介绍一个js类库CurvyCorners ,CurvyCorners是一个能够配合css3实现完美兼容的一个圆角的js辅助插件 。css圆角一直是不好处理的一个问题,因为纯css的圆角不能兼容所有的浏览器 ,而通常要兼容所有浏览器的圆角必须要以图片的方式拼合才行,所以在制作方面有很多阻碍,蓝狮官网随着css3 和html5的出现,相比以后会少担心这些问题 ,因为很多浏览器都在快速的跟随html5的脚步,所以到时候html5 css3的圆角将可以再各大浏览器中渲染。
译 :前一段时间,我经常收到一个关于如何在IE浏览器中使用CSS3的border-radius属性实现圆角HTML元素的问题。你或许知道CSS3的border-radius 属性被Safari、Firefox和Chrome等浏览器原生支持,但是由于某些原因IE并不支持它。
那么要想在IE中实现圆角,你不得不使用一些技巧,蓝狮注册比如使用带有背景图片的CSS类。
而我知道的在各个浏览器中实现圆角的较简单快速的方案是结合CSS3和JavaScript。CurvyCorners是一个为HTML元素创建漂亮的圆角的免费JavaScript库。效果如下:
该脚本的最大优势是可以在Safari/Chrome/Firefox中使用原生的CSS3属性(通过-webkit-border-radius和-moz-border-radius私有属性分别支持)而在IE和Opera中使用JavaScript。
你所需要做的就是在页面中引入curvycorners.js:
<script type="text/javascript" src="curvycorners.js"></script>
然后定义以下样式:
.roundedCorners{ width: 220px; padding: 10px; background-color: #DDEEF6; border:1px solid #DDEEF6; /* Do rounding (native in Safari, Firefox and Chrome) */ -webkit-border-radius: 6px; -moz-border-radius: 6px; }
然后在上面的样式后面定义以下代码:
<script type="text/JavaScript"> addEvent(window, 'load', initCorners); function initCorners() { var setting = { tl: { radius: 6 }, tr: { radius: 6 }, bl: { radius: 6 }, br: { radius: 6 }, antiAlias: true } curvyCorners(setting, ".roundedCorners"); }</script>
tl, tr, bl, br分别是:左上角(top-left)、右上角(top-right)、左下角(bottom-left)、右下角(bottom-right)。
如果你有不同的CSS类(例如roundedCorners、roundedCorners_1、roundedCorners_2等)你可以像这样在前面的代码中定义:
... curvyCorners(setting, ".roundedCorners"); curvyCorners(setting, ".roundedCorners_1"); curvyCorners(setting, ".roundedCorners_2"); ...
HTML代码如下:
<div class=”roundedCorners”> </div>
解决CSS3圆角兼容所有浏览器的方法。本文提到了一种很不错的实现跨浏览器圆角的解决方案,但是说的不够全面,前端观察最近将整理更多更全面的资源给大家,敬请期待。
0 Comments