前言:通常情况下,我们使用css3样式中的border-radius实现圆角效果,但是这种方法IE8.0以下版本浏览器是不支持的。 但是目前使用IE8.0的用户还比较多,Windows XP系统最高支持IE8.0,还有些其他的某些Trident内核浏览器也是还停留在IE7.0,所以如果要求比较高的情况下,就要考虑其他办法来实现这个效果。

怎么样实现能兼容性最好的圆角特效呢?

目前有三种方法:

方法一.CSS3实现的圆角效果

参考代码

 <style type="text/css">
#nav {
height:158px;
width:200px;
-moz-border-radius:4px; /*Gecko(Firefox内核)浏览器圆角样式*/
-webkit-border-radius:4px; /*webkit(Chrome内核)浏览器圆角样式*/
border-radius:4px; /*Trident(IE内核)浏览器圆角样式*/
background:#59C3FF;
padding:8px;}
</style> <div id="nav">CSS3实现的圆角效果,IE8.0以下浏览器不支持</div>

优点:使用的时候只需要使用简写方法,给标签指定样式即可;
缺点:IE8.0及以下版本不支持。

方法二.png图片实现的圆角效果

参考代码:

 <style type="text/css">
#png_radius {height: 158px;width: 200px;position: relative;border: 1px solid #ccc;padding:8px;}
.radius{width: 8px;height: 8px;background: url(radius.png) no-repeat;position: absolute;}/*显示四个圆角的div的公共样式*/
.radius.left_top{float: left;left: -1px;top: -1px;background-position:0 0;}/*左上角的div的背景样式,left:-1px;top:-1px;为了遮蔽父层的边框*/
.radius.right_top{float: right;right: -1px;top: -1px;background-position:-8px 0;}/*右上角的div的背景样式*/
.radius.left_bottom{float: left;left: -1px;bottom: -1px;background-position:0 -8px;}/*左下角的div的背景样式*/
.radius.right_bottom{float: right;right: -1px;bottom: -1px;background-position:-8px -8px;}/*右下角的div的背景样式*/
</style>
<div id="png_radius">
<!--圆角区-->
<div class="radius left_top"></div>
<div class="radius right_top"></div>
<!--内容区-->
<div style="height: 200px;clear: both;padding: 8px;">
png图片实现的圆角效果,兼容所有支持png图片的浏览器
</div>
<!--圆角区-->
<div class="radius left_bottom"></div>
<div class="radius right_bottom"></div>
</div>

优点:兼容性比较好,只要支持png透明图片的浏览器都支持,目前主流的浏览器都支持;
缺点:需要增加额外的标记进行布局,使用图片,相对于css样式占的资源比较大。

方法三.使用PIE插件,让IE8.0以下浏览器支持CSS3

参考尺码:

 <script language="javascript" type="text/javascript">
//引用pic插件
$(function () {
if (window.PIE) {
$('.rounded').each(function () {
PIE.attach(this);
});
}
});
</script>
<style type="text/css">
#nav { height:158px; width:200px; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; background:#59C3FF;behavior: url(pie.htc);padding:8px;}
</style>
<div id="nav">圆角效果,兼容Trident(IE内核),Gecko(Firefox内核),Webkit(Google Chrome内核)等多种内核浏览器</div>

优点:兼容性比较好,解决IE8.0以下版本不支持CSS3的问题;

缺点:需要引用pic.htc,这个文件有40KB大小,占用的资源空间比较大。

总结:

以上三种方法,各有优点和缺点,可以根据不同的需要和情况选择合适的方法。 1. 纯CSS3方法:如果对圆角的要求不太严格,只求大部分主流浏览器支持,不考虑ie8.0及以下版本的情况下,直接用纯CSS3实现是最简单的。
2. 使用Png图片:如果想让所有的浏览器都支持,但是又不想占用太多资源,那么,使用png透明图片就是最好的选择了。
3. 使用pie插件:如果想让所有的浏览器都支持,但是又不想根据不同圆角需求制作不同的png圆角图片,不想添加多余的标签,忽略插件的大小,那么可以选择这种方式。

实例下载:http://download.csdn.net/detail/xyytcs/7037227

欢迎转载,转载请注明出处:http://www.cnblogs.com/xyyt/p/3599505.html

兼容多浏览器的html圆角特效的更多相关文章

  1. 兼容所有浏览器的CSS3圆角

    兼容所有浏览器的CSS3圆角      解决CSS3圆角兼容所有浏览器的方法.本文提到了一种很不错的实现跨浏览器圆角的解决方案,但是说的不够全面,前端观察最近将整理更多更全面的资源给大家,敬请期待. ...

  2. 一个酷炫的,基于HTML5,Jquery和Css的全屏焦点图特效,兼容各种浏览器

    基于HTML5和CSS的焦点图特效,梅花图案的背景很有中国特色,而且还会动哦,效果超炫,推荐下载! 演示图 html代码 <!DOCTYPE html PUBLIC "-//W3C// ...

  3. CSS 实现图片灰度效果 兼容各种浏览器

    CSS 实现图片灰度效果 兼容各种浏览器如360浏览器 CSS实现图片灰度效果就是通过CSS样式让彩色图片呈现为灰色,相当于把一张图像的颜色模式调整为灰度,CSS可以通过以下几种方法来实现灰度效果. ...

  4. CSS兼容各浏览器的hack

    CSS兼容各浏览器的hack:建议:尽可能的手写代码,可以有效的提高学习效率和深度.浏览器的种类多,麻烦自然也多,主要是各种浏览器对某些属性的渲染效果并不相同,所以有时候需要专门针对特定浏览器或者特定 ...

  5. 【原】CSS实现背景透明,文字不透明,兼容所有浏览器

    11.11是公司成立的日子,16岁啦,我呢3岁半,感谢公司给了这样一个平台,让我得以学习和成长,这里祝愿公司发展越来越好~ 进入主题,每年11月11号是光棍节,产生于校园,本来只是一流传于年轻人的娱乐 ...

  6. JS获取回车事件(兼容各浏览器)

    一.用到onkeydown获取事件动作, 二.用到键盘对应代码keyCode, 三. var event=arguments.callee.caller.arguments[0]||window.ev ...

  7. CSS实现背景透明,文字不透明,兼容所有浏览器

    11.11是公司成立的日子,16岁啦,我呢3岁半,感谢公司给了这样一个平台,让我得以学习和成长,这里祝愿公司发展越来越好~ 进入主题,每年11月11号是光棍节,产生于校园,本来只是一流传于年轻人的娱乐 ...

  8. 前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器

    [自己测了下,能兼容各种浏览器,但是读取中文会出现乱码.自己的解决方法是用notepad++把txt文件编码改为utf-8(应该是和浏览器编码保持一致吧?..)] 原文  http://blog.cs ...

  9. 【转】让Bootstrap 3兼容IE8浏览器

    FROM : http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 最近在研究Bootstrap(官方,Github)这个 ...

随机推荐

  1. [转]C# 安装布署

    C# 安装布署 及Windows服务自动启动 分类: asp.net2009-09-23 10:43 1126人阅读 评论(0) 收藏 举报 windowsc#serviceobject服务器 设置s ...

  2. post 中文数据到elasticsearch restful接口报json_parse_exception 问题

    我们的客户端程序直接调用es 的restful接口, 通过post json数据去查询, 但post数据有中文的时候,有些中文会报异常,有些中文不会 {"error":{" ...

  3. [UE4]使机器人受伤

  4. 详解UE4静态库与动态库的导入与使用

    转自:http://blog.csdn.net/u012999985/article/details/71554628 一.基本内容概述   最近做项目时经常看到build.cs文件,就想研究一下UE ...

  5. Windows7下搭建Eclipse+Python开发环境

    机器: Windows7_x86_64 前提: 机器已成功安装Python2.7,并配置好环境变量. 步骤: 一.Eclipse的安装 Eclipse是基于java的一个应用程序,因此需要一个java ...

  6. 第10课 C++异常简介

    1. try-catch语句 (1)try语句处理正常代码逻辑 (2)catch语句处理异常情况 (3)try语句中的异常由对应的catch语句处理 (4)C++通过throw语句抛出异常信息 2. ...

  7. 第3章 文件I/O(4)_dup、dup2、fcntl和ioctl函数

    5. 其它I/O系统调用 (1)dup和dup2函数 头文件 #include<unistd.h> 函数 int dup(int oldfd); int dup2(int oldfd, i ...

  8. 使用SolrNet访问Solr-5.5.0

    由于今年年初刚发布的Solr-5.5.0,网上所能找到的资料少之又少,所以只能靠自己一点点摸索. 从某Hub上下载了SolrNet源码,按照教程提交文档或者查询均失败,无奈只得跟断点一点点差怎么回事. ...

  9. angularJs按需加载代码(未验证)

    一网友写的AngularJs按需加载代码,但未验证,放着备用.   application.config(               function($routeProvider) {       ...

  10. scala.XML处理

    XML scala提供了对xml字面量的内建支持,我们可以很容易的在程序代码中生成xml片段, scala类库也包含了对xml常用处理的支持 有时候scala会错误识别出xml字面量 如x < ...