IT技术精粹[JiShuBu.Com]-倾力打造一流IT技术平台!
登录
注册
设为首页
加入收藏
网站首页
IT风向标
网站优化
Html
CSS
JavaScript
ASP
Php/Mysql
Flash
Ajax
源码下载
精美桌面
供求信息
超稳定100M虚拟主机只要100元,还送50M邮箱!
文字广告招商中...
会员注册
|
用户登录
|
我要投稿
信息订阅
浏览器的兼容性[CSS HACK]
您现在正在浏览:
首页
>
CSS
>
浏览器的兼容性[CSS HACK]
作者:
匿名
发布时间:2008-04-08 18:12:09 来源:
互联网
首先,关于CSS hack的方法网上有很多介绍,种类繁多,初学者常常感到很困惑。这类的CSS hack的方法,有的是针对某一个非常特殊的情况的方法,有的则是相对于比较通用的一些方法。
对于后者我们在平常的学习工作中,可以多留心收集一些,前者则不需要太关注,只是遇到的时候到网上搜索一下,寻找解决方法即可。
这里举一个比较通用的hack方法,比如对于CSS中的某一个属性,我们希望针对不同的浏览器,设置不同的值。例如,某一个div,我们希望在Firefox中宽度为50像素,在IE中宽度为60像素。那么怎么实现呢?请看如下代码:
#demo div{
width:50px; /* FireFox 有效 */
+width:60px; /* IE 有效 */
}
在上面的代码中, 第2行的width:50px这是普通的样式,下一行中,在width属性前面加一个加号,这条样式在Firefox中被认为无效,但是在IE中这个加号会被忽略掉,因此仍然被理解为width属性,从而覆盖上一条的设置,这样就可以区分Firefox浏览器和IE浏览器了。
那么如果希望进一步区分IE 6和IE 7呢?请看如下代码:
#demo div{
width:50px; /* FireFox 有效 */
+width:60px; /* IE 7 有效 */
_width:70px; /* IE 6 有效 */
}
上面代码就可以实现对三种浏览器的区分了。在IE7中,属性前加一个加号,这个加号会被忽略,而如果在属性前加一个下划线这整条样式会被忽略,从而实现了对这三种主流浏览器的区分。
到这里,我们自然会想到,什么情况下会用的这种方法来区分浏览器呢?我们要制作的页面,通常会有两种情况,一种是彻底从头开始做,另一种是基于一个已经存在的网页进行修改或者修补。
对于第一种情况来说,我们对网页的每一个细节都十分清楚,因此并不经常遇到非常Firefox和IE的兼容性问题,即使遇到了,一般也可以找到其他方法解决。而对于第二种情况来说,则复杂的多了,因为一个网页可能非常复杂,层叠关系也很复杂,对于后接手的人,很难搞清楚某一个的属性上面有多少层设置会对他产生影响,因此往往只能采用“贴膏药”的方式进行修补。
比如说,如下的一个页面的最终效果,在制作圆角框的时候,在IE中,圆角对整齐之后,在firefox中却出现如图所示的错位,而如果按照Firefox调整好,在IE中又会出现错位。
而页面的内容层层嵌套,在并不知道细节的情况下,很难找到问题的根源。因此这里使用修补的方法就很方便(尽管不是最优雅完善的方法),例如对于控制圆角图像位置的属性使用上面的方法,分别控制即可。
总上所述,对任何属性都可以使用加号或者下划线方法,来实现针对不同浏览器的各自设置。当然,最后还是要指出,任何hack方法都要慎重使用,最好还是能够按照标准、优雅的CSS来进行设计,这样的代码可读性、维护性都要好很多,也是我们追求的目标。
【
评论
】【
加入收藏夹
】【
大
中
小
】【
打印
】【
关闭
】
※
相关信息
·
Div CSS实例教程:分享非常不错的页面制作方法
(2008-04-06 00:22:26)
·
DivCSS实例:让页脚保持在未满屏页面的底部
(2008-04-06 00:16:00)
·
CSS 文字樣式技巧 (摘自一台湾网站,确实很强!)
(2008-03-08 23:17:46)
·
纯css实现无图圆角矩形块!
(2008-02-20 12:46:50)
·
CSS 3 选择器解释
(2008-01-19 18:06:18)
·
CSS超级技巧大放送
(2008-01-13 21:47:39)
·
CSS Hack 汇总[千百度资料]
(2008-01-13 21:37:59)
·
多个CSS样式表争夺特定选择符的控制权
(2008-01-08 17:52:28)
·
CSS hack浏览器兼容一览表
(2008-01-08 15:42:52)
·
web标准化、XHTML与CSS层叠样式表的关系
(2008-01-05 07:28:27)
发表评论
查看评论
用户名:
密码:
验证码:
匿名发表
[
注册帐号
]
[
控制面板
]
[
用户登陆
]
[
修改资料
]
[
用户收藏
]
[
我的状态
]
[
退出登陆
]
文章搜索
标题
作者
[
添加文章
] [
管理文章
]
最新技术文档
·
十天学会PHP之基础知识
·
十天学会PHP之流程控制
·
十天学会PHP之构建数据库
·
十天学会PHP之连接数据库
·
echo和print 的区别
·
PHP生成随机字符串
·
PHP取得文件后缀
·
正则表达式经验谈
·
PHP的Cookie技术介绍
·
PHP数组排序
技术文档排行榜
·
天气预报小偷,根据IP自动判断地址
·
超经典计算机使用问题105答
·
'AjaxPro'未定义错误的原因&javascript顺
·
[初学者必读]网页制作之HTML基础知识
·
DIV&CSS打造自动伸展三栏复合布局
·
CSS网页布局入门教程:下拉及多级弹出式菜单
·
阿里妈妈广告的投放技巧
·
谁是网页浏览器引擎速度真正王者
·
JavaScript:世界上误解最深的语言
·
几种常用禁止修改输入框的方法