经过一番折腾之后,我终于把星期九不兼容 IE内核浏览器的问题给解决了。之前,如果我们用IE访问星期九会发现原本应是圆角的边框全是直角,而且侧边栏友链那个模块会错位。这是因为 IE 9以下一直不支持CSS3的解析,所以就成那样了。
为了鼓捣出现在的这种样式,我把侧边栏主题提供的小工具全废了,修改了很多 CSS控制,然后直接调用相关的函数组成侧边栏。
要实现圆角,我知道有两种方法:用圆角图片和用CSS3样式表。值得注意的是, IE内核的浏览器不支持CSS3的解析(IE9据说支持),不过让IE支持CSS3的解析方法有很多种。
一、用圆角图片。
用图片的话,可以做到浏览器无关,这里介绍一个网站:http://roundedcornr.com/。在这个网站上,填上相关的要求,可以帮助我们生成对应的图片和CSS调用代码。应用的时候,只要在想用圆角的<div></div>层之外加上它给生成的CSS控制代码就行了,非常方便。譬如想用圆角包围首页的每篇文章,只要在index.php文件的“<div class="post" id="notice">”前面加上类似于:
1 2 3 | <div class="roundedcornr_box_806460"> <div class="roundedcornr_top_806460"><div></div></div> <div class="roundedcornr_content_806460"> |
的控制,然后在“<div class ="post" id="notice">”封层后面封住上面的标签就行了。
二、用CSS3属性。
Webkit内核的浏览器支持“-webkit-border-radius: 10px;”属性(10px是圆角半径),可以直接解析出圆角;Firefox浏览器支持“-moz-border-radius: 10px;”属性,也是可以直接解析出圆角;IE系浏览器则需要加上“border-radius: 15px;”。
下面介绍一种实用的让IE支持解析的方法——IE利用VML矢量可标记语言作为画笔绘出圆角:
1、下载一个压缩包,里面有一个微软的脚本文件(11KB)和一个用来测试服务器是否有正确的Content-Type的HTML文件:;.htc文件是IE内核支持Web行为后用来描述此类行为的脚本文件。它们定义了一套方法和属性,程序员几乎可以把这些方法和属性应用到HTML页面上的任何元素上去。Web 行为是非常伟大的因为它们允许程序员把自定义的功能“连接”到现有的元素和控件,而不是必须让用户下载二进制文件(例如ActiveX 控件)来完成这个功能。
解压后,打开test.html,如果显示效果是圆角,则可以继续。
2、更改相应的CSS样式表,添加圆角属性。
还是上面的那个例子,如果我们想用圆角包围首页的每篇文章,则应该是改动主题style.css里的“ .post”类,如原来“ .post”类是这样定义的:
1 2 3 4 5 | .post{ background-color: #FFFFFF; padding:10px 10px 10px; margin-bottom:10px; } |
则将其改为:
1 2 3 4 5 6 7 8 9 10 11 12 | .post{ background-color: #FFFFFF; padding:10px 10px 10px; margin-bottom:10px; border: 2px solid #C0C0C0; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; position:relative; z-index:2; behavior: url(此处为ie-css3.htc文件的绝对路径); } |
注意:
1)、behavior的url里一定要填写ie-css3.htc的绝对路径,因为 IE浏览器找该文件是相对当前html文件路径来找的,所以对于Wordpress等动态程序生成的页面一定要填写绝对路径。
2)、一定要有定位属性:position:relative;
3)、因为IE下这些CSS3效果的实现是借助于VML,由VML绘制圆角或是投影效果,所以还需要一个z-index属性。z-index属性最好设置得比较大,如2。
4)、如果在IE下某些模块无法用此渲染,可以试着绝对定位相应的层,即加上“ width: 400px; height:400px;”属性。
5)、radius属性的10px是圆角半径,还可以给两个值如“border-radius: 10px 5px;”,这样则左上角与右下角半径为10px,右上角与左下角半径为5px。也可以赋4个值,为“上 右 下 左”。
声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
原创文章转载请注明:转自《让IE解析CSS3实现圆角》
楼主 我用你的test在ie6下就可以。但是我放到我自己的页面里就不行哦。.htc我也用的是绝对路径
@雅岚, 嗯,看了一下,你那也是用CSS3解析出来的圆角。
凡是好教程,都加一分
@Vinceen,
,谢谢你的认可。
.htc文件,不是那么的灵敏,有的时候也显示不了
@集趣, 我主要担心网速慢的时候,因为我自己网速慢的时候因为这个很容易让IE崩溃。
@朵未, 用图片的话三次握手的次数太多了。
妈的..我学习了..太好了!
据说,能对付得了IE的都是牛人
@有点蓝, 据说在IE 6下还是有问题,
有时候要让png的背景透明也要加载一个htc的文件
ie真的麻烦
@dengmin, IE 太让人蛋疼了!期待它早日归西。
@Harid, 哪里有那么容易,xp上默认安装的就是ie6,配置低点的机器升级到ie7 ie8 速度还没有ie6快,腾讯tt 360 maxton 这些用的都是ie的内核 杯具
@dengmin, 如果中国的银行、政府、学校等网站别以IE为平台开发的话,我相信就会很少人用了。
好久没来了来转一圈
也在研究中
@abx, 貌似说我的在IE 6下还有问题,我正在纠结中。
Random Posts
Recent Posts
Recent Comments
By Plastic injection mould
By OOZJ
By Jusbe
By 互联网战
By 互联网战
By ixwebhosting
Blogroll
Categories
Tag Cloud
360 5800 Alexa C++ Chrome Cisco Dedecms Discuz Fcitx Fedora GFW Gravatar IE Linux Mobile ModelSim Music QT Quartus Shell Verilog VPN VPS Windows Wordpress XAMPP Xilinx xp 下载 垃圾评论 情感 手机 插件 星期九 注册 电子信息 程序设计 站长工具 缩略图 网络应用 考研 胡思乱想 西工大 视频 软件Meta