• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > css基础知识之选择器使用示例

css基础知识之选择器使用示例

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css基础知识,选择器等相关知识,佚名 希望在学习及工作中可以帮助到您

在编写CSS代码的时候,我们会出现多个样式规则作用于用一个元素的情况,例如


}#navigation { background-color: green;}</p> <p>.nav-main {
background-color: blue;
}

以上三个样式规则都会作用于 ID 值为 "navigation" 的 nav 标签,最终哪个样式规则会生效呢,这取决于选择器的特殊性(或优先级)高低,选择器特殊性高的样式会覆盖特殊性低的样式,经过测试 nav 标签的背景会显示为 green 绿色。

那么选择器特殊性是如何计算的呢?

通常,我们使用四个以逗号分隔的数字来表示特殊性,比如:

1.每个元素选择器贡献特殊性为 0,0,0,1;
2.每个类、伪类或者属性选择器的特殊性为 0,0,1,0;
3.每个ID选择器的特殊性为 0,1,0,0.
计算一个组合选择器的特殊性的时候就先计算各种选择器的数量以及对应的特殊性再相加,比如


div ul ul li /* 0,0,0,4 4个元素选择器 */</p> <p>div.aside ul li /* 0,0,1,3 1个类选择器,3个元素选择器 */</p> <p>a:hover /* 0,0,1,1 1个伪类选择器,1个元素选择器 */</p> <p>div.navlinks a:hover /* 0,0,2,2 1个类选择器,1个伪类选择器,2个元素选择器 */</p> <p>#title em /* 0,1,0,1 1个 ID 选择器,1个元素选择器 */</p> <p>h1#title em /* 0,1,0,2 1个 ID 选择器,2个元素选择器 */</p> <p>* /* 0,0,0,0 1个通用选择器 */

注:多类选择器有多少个类就计算多少个类,不支持多类选择器的 IE6 会理解为一个类

比较选择器特殊性高低直接从左向右依次比较,数字大的则优先级更高,如果相同就比较下一位,所有位都相同则优先级是一样高,当选择器优先级一样高的时候后申明的样式会覆盖前面申明的样式

每个级别的优先级值是相互独立的,13个元素选择器写在一堆也不会比1个类选择器的特殊性高

第一个0是用于行内样式的,且仅用于行内样式

基本上,任何重要的样式规则都可以覆盖没有标记为重要的样式规则,


}</p> <p>div a {
color: green !important;
}

上面的代码会得到一个绿色 green 的链接,第一个规则有非常高的特殊性(0,2,0,2),

但是在 !important 面前一样没用,除非我们给第一个规则也标记为重要


}</p> <p>div a {
color: green !important;
}

这时候链接就变为红色 red 了,都标记为重要的情况下,则会使用前面提到的特殊性规则来解决,

所以使用 !important 的时候应当权衡,尽量不要用

另外,IE6 是支持 !important 的,只是不完全支持而已,当在同一个选择器中,在标记为重要的样式规则之后又重新定义了此样式则 !important 将失效

您可能想查找下面的文章:

  • css基础知识之选择器使用示例

相关文章

  • 2017-08-06CSS绝对定位元素left设为50%实现水平居中
  • 2017-08-06css使用客户端没有安装的字体语法解决方案
  • 2017-08-06时尚的CSS3进度条效果
  • 2017-08-06总结CSS的position定位属性在使用的一些重点
  • 2017-08-06目前不被任何主流浏览器支持的CSS3属性汇总
  • 2017-08-06利用CSS3制作简单的3d半透明立方体图片展示
  • 2017-08-06魔幻般冒泡背景的CSS3按钮动画
  • 2017-08-06宽度百分比单位的转换公式及示例
  • 2017-08-06让AJAX弹出提示信息效果的代码
  • 2017-08-06border-radius以外的CSS圆角边框制作方法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css grid 布局
    • 基于css3的属性transition制作菜单导航效果
    • ie9崩溃现象当js设置tr元素样式为display:none
    • CSS 盒模型、块状元素与内联元素、CSS选择器
    • CSS 文本字体颜色设置方法(CSS color)
    • IE6 bug修正的10个小技巧 推荐
    • css background-position 用法详细图文介绍
    • 基于CSS实现带阴影和小箭头的黑色风格下拉菜单效果
    • CSS利用伪元素实现导航栏斜线分隔
    • 一款利用纯css3实现的360度翻转按钮的实例教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有