兼容所有浏览器的CSS3圆角

2016-02-17 04:47 3 1 收藏

有了下面这个兼容所有浏览器的CSS3圆角教程,不懂兼容所有浏览器的CSS3圆角的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 平面设计 】

前一段时间,我经常收到一个关于如何在IE浏览器中使用CSS3的border-radius属性实现圆角HTML元素的问题。你或许知道CSS3的border-radius 属性被Safari、Firefox和Chrome等浏览器原生支持,但是由于某些原因IE并不支持它。

那么要想在IE中实现圆角,你不得不使用一些技巧,比如使用带有背景图片的CSS类(看一下这篇文章)。

而我知道的在各个浏览器中实现圆角的较简单快速的方案是结合CSS3和JavaScript。CurvyCorners是一个为HTML元素创建漂亮的圆角的免费JavaScript库。效果如下:

兼容所有浏览器的CSS3圆角,PS教程,图老师教程网

该脚本的最大优势是可以在Safari/Chrome/Firefox中使用原生的CSS3属性(通过-webkit-border-radius-moz-border-radius私有属性分别支持)而在IE和Opera中使用JavaScript。

你所需要做的就是在页面中引入curvycorners.js:

script type="text/javascript" src="curvycorners.js"/script

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

然后定义以下样式:

.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;
}

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

然后在上面的样式后面定义以下代码:

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");
...

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

HTML代码如下:

div class="roundedCorners" /div

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

这就是在各个浏览器中的效果:

兼容所有浏览器的CSS3圆角,PS教程,图老师教程网

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

我认为这的确是在各个浏览器中比较简单和快速的实现CSS3圆角的一种方案。但是,如果js脚本被浏览器禁用了怎么办?最靠谱的方案还是使用额外的使用背景图片的CSS类来实现,或者使用额外的空白标签(Google统计中使用的方法,没有遇到的可以Google一下)。你有更好更简单的方案吗?欢迎留言给我们,多谢!

来源:http://www.tulaoshi.com/n/20160217/1578631.html

延伸阅读
作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是很容易实现的,本文讲的是各种跨浏览器兼容的 CSS 编码准则和技巧。 理解 CSS 盒子模型 如果你想实现不需要很多奇巧淫技的跨浏...
标签: Web开发
1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 5.FF: 支...
标签: Web开发
透明往往能产生不错的网页视觉效果,先奉上兼容主流浏览器的CSS透明代码: .transparent_class {  filter:alpha(opacity=50);  -moz-opacity:0.5;  -khtml-opacity: 0.5;  opacity: 0.5; }上面的几个属性分别是: opacity: 0.5; 这是最重要的,因为它是CSS标准.该属性支持Firefox, Safari和 Opera. filter:alpha(opacity=...
标签: Web开发
CSS Hack是在标准 CSS 没办法兼容各浏览器显示效果时才会用上的补救方法,我们在webjx.com中不泛深入介绍CSS兼容性的文章。在各浏览器厂商解析 CSS 没有达成一致前,我们只能用这样的方法来完成这样的任务。 在webjx.com上你可能能搜索到一大堆的 CSS Hack,但是我今天发布的你可能并不都很了解,因...
标签: Web开发
页面中圆角的实现是个很头疼的问题,虽然现在有很多种实现方法,但是都是比较麻烦的。在本文中,让我们看看如何使用CSS3 border-radius来实现圆角DIV。   跨浏览器兼容性 就像在上一篇《CSS3系列教程:简介》中提到的,并不是所有的浏览器支持CSS3,但是那些比较好的浏览器选择兼容,而不是直接支持。我们有两个能使用的前缀。 前缀...

经验教程

974

收藏

98
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部