CSS条件注释

2016-02-19 21:21 7 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐CSS条件注释,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

  由于浏览器版本的不同,对CSS里某些元素的解释也不一样,针对浏览器版本不同而选择不同CSS的代码,其实我们还可以利用条件注释的方法来达到类似的目的,什么是条件注释,在此简单介绍一下,无非就是一些if判断啦,呵呵,但这些判断不是在脚本里执行的,而是直接在html代码里执行的,下面来介绍一下使用方法吧。

!--[if XXX]
这里是正常的html代码
![endif]–
这里XXX是一些特定的东东,在此列表几个出来,详细介绍各自的含义:
!–[if IE] / 如果浏览器是IE /
!–[if IE 5] / 如果浏览器是IE 5 的版本 /
!–[if IE 6] / 如果浏览器是IE 6 的版本 /
!–[if IE 7] / 如果浏览器是IE 7 的版本 /

上面是几个常用的判断IE浏览器版本的语法,下面再来介绍一下相对比较少用的逻辑判断的参数:
有几个参数:lte,lt,gte,gt及!
各自的详细解释如下:

lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。

例句:

!--[if gt IE 5.5] / 如果IE版本大于5.5 /
!–[if lte IE 6] / 如果IE版本小于等于6 /
!–[if !IE] / 如果浏览器不是IE /

看到这里相信大家都已经明白了条件注释的用法了,OK,那来举个例子吧:

!-- 默认先调用css.css样式表 --
link rel="stylesheet" type="text/css" href="css.css" /
!--[if !IE]
!– 非IE下调用1.css样式表 –
link rel=”stylesheet” type=”text/css” href=”1.css” /
![endif]–
!–[if lt IE 6]
!– 如果IE浏览器版本小于6,调用2.css样式表 –
link rel=”stylesheet” type=”text/css” href=”2.css” /
![endif]–

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

定义什么浏览器下显示什么内容。
这个dropmenu(下拉菜单)模型来自cssplay,使经过作者多次的研究和反复的测试才做出来的。我想那这个模型来实践一下条件注释的原理。
先看一个最简单的模型
下面是xhtm:

div class="menu"
ul
lia class="drop" href="../menu/index.html"DEMOS
!--[if IE 7]!–
/a
!–![endif]–
!–IE7时显示/a标签–
tabletrtd
ul
lia href=”../menu/zero_dollars.html” title=”The zero dollar ads page”zero dollars advertising page/a/li
lia href=”../menu/embed.html” title=”Wrapping text around images”wrapping text around images/a/li
lia href=”../menu/form.html” title=”Styling forms”styled form/a/li
lia href=”../menu/nodots.html” title=”Removing active/focus borders”active focus/a/li
lia class=”drop” href=”../menu/hover_click.html” title=”Hover/click with no active/focus borders”hover/click with no borders/li
li class=”upone”a href=”../menu/shadow_boxing.html” title=”Multi-position drop shadow”shadow boxing/a/li
lia href=”../menu/old_master.html” title=”Image Map for detailed information”image map for detailed information/a/li
lia href=”../menu/bodies.html” title=”fun with background images”fun with background images/a/li
lia href=”../menu/fade_scroll.html” title=”fade-out scrolling”fade scrolling/a/li
lia href=”../menu/em_images.html” title=”em size images compared”em image sizes compared/a/li
/ul
/td/tr/table
!–[if lte IE 6]
/a
![endif]–
/li
!–IE6时显示/a标签–
/ul
/div

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

CSS

link rel="stylesheet" media="all" type="text/css" href="final_drop.css" /
!--[if lte IE 6]
link rel=”stylesheet” media=”all” type=”text/css” href=”final_drop_ie.css” /
![endif]–

采用双样式,给ie和非ie分别定义样式,如果IE时候,在final_drop.css基础上补充一个final_drop_ie.css
先看看非ie下的css是怎样定义的

.menu ul li ul {
display: none;
}
/* specific to non IE browsers */
.menu ul li:hover a {
color:#fff;
background:#bd8d5e;
}
/*定义鼠标滑过样式*/
.menu ul li:hover ul {
display:block;
position:absolute;
top:3em;
margin-top:1px;
left:0;
width:150px;
}

在非IE下,看到鼠标滑过时候li包含的ul显示了,因为这些浏览器支持li:hover用法
IE下的css

.menu ul li a:hover {
color:#fff;
background:#bd8d5e;
}
/*当鼠标滑过时li包含的ul显示*/
.menu ul li a:hover ul {
display:block;
position:absolute;
top:3em;
left:0;
background:#fff;
margin-top:0;
margin-top:1px;
}

继承上面的final_drop.css样式,无鼠标时间时候li包含的ul不显示
因为

!--[if lte IE 6]
/a
![endif]–

来源:http://www.tulaoshi.com/n/20160219/1625961.html

延伸阅读
标签: Web开发
1、选择器(child selector)如果你想在IE中隐藏一个CSS定义,可以使用子选择器。 css部分: htmlbody p { /* declarations */ } 2、通配符(*)这种写法只有IE浏览器可以理解(对其他浏览器都隐藏) css部分: * html p { /* declarations */ } 3、反斜线(\)如果你希望IE/Win有效而IE/Mac隐藏,可以使用反斜线技巧。 css部分: /* \*/ * ht...
标签: Web开发
介绍 条件CSS(Conditional-CSS)的开发源于在多数浏览器上修正 CSS 渲染 bug 的需求,以确保尽量多的用户看到正确的网站设计。核心思想建立在 Internet Explorer 上发现的条件注释方法,并扩展到包含其他的浏览器,而且将条件声明内联到 CSS 定义里面。 相关教程:针对不同版本的IE浏览器的条件CSS应用 条件CSS(Conditional-CSS)并不仅仅对...
标签: Web开发
如果使用注释的方法得当的话,为你的CSS文件添加注释可以在开发过程中给予你和其他人很大的帮助。最常见的是为CSS样式规则添加提示信息,不过使用注释对优化组织结构和提升效用也很有帮助。 提示和标签 这是注释最常用的途径,可以为自己或其他开发人员留下提示信息可以避免后期引起的不必要的困惑和麻烦。这种应用简洁性最为重...
标签: Web开发
1、选择器(child selector) 如果你想在IE中隐藏一个CSS定义,可以使用子选择器。 css部分: htmlbody p { /* declarations */ } 2、“通配符”(*) 这种写法只有IE浏览器可以理解(对其他浏览器都隐藏) css部分: * html p { /* declarations */ } 3、“反斜线...
360压缩如何注释   你可以选中文件,点击注释,为该文件做一个标注。

经验教程

141

收藏

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