常用css选择器

作者: 好奇男孩 | 来源:发表于2018-03-04 13:43 被阅读25次

CSS常用选择器:

一、简单选择器

*,通用元素选择器,匹配任何元素
E,标签选择器,匹配所有使用E标签的元素
.class,class选择器,匹配特定class属性的元素
/#ID,id选择器,匹配特定id属性的元素

二、属性选择器

[atrr] ,选择包含 attr 属性的所有元素,不论 attr 的值为何
[attr=val] ,仅选择 attr 属性被赋值为 val 的所有元素

三、组合选择器

A, B ,多元素选择器:选中匹配 A 或B 元素
A B ,后代选择器:选中匹配 A 元素的后代B 元素(A B之间空格分开)
A > B,子元素选择器:选中匹配 A父元素内的直接B子元素
A + B,直接相邻选择器:选中匹配 B 元素之后的相邻的同级的A元素
A ~ B,普通相邻选择器:选中B元素之后的同级 A 元素(无论直接相邻与否)
.a.b,匹配class=''a b"元素
A.b,匹配class="a"的元素

四、伪类选择器

伪类与伪元素的区别:

css引入伪类和伪元素概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。下面分别对伪类和伪元素进行解释:

伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。

伪元素用于创建一些不在文档树中的元素,并为其添加样式。比如说,我们可以通过:before来在一个元素前增加一些文本,并为这些文本添加样式。虽然用户可以看到这些文本,但是这些文本实际上不在文档树中。

1、动态伪类选择器:

a:link ,匹配所有未被点击的链接
a:visited ,匹配所有已被点击的链接
a:hover ,匹配鼠标悬停其上的a元素
a:active ,匹配鼠标已经其上按下、还没有释放的a元素
E :focus ,选择获取焦点的输入字段

2:UI元素伪类选择器:

E:checked : {attribute},匹配所有用户界面(form表单)中处于选中状态的元素E
E:enabled : {attribute},匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled : {attribute},匹配所有用户界面(form表单)中处于不可用状态的E元素
E::selection : {attribute},匹配E元素中被用户选中或处于高亮状态的部分

3:结构伪类选择器:

:root()选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素。在HTML文档中,根元素始终是<html>。“:root”选择器等同于<html>元素
:not()选择器称为否定选择器,和jQuery中的:not选择器一模一样,可以选择除某个元素之外的所有元素。
:empty()选择器表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。
:target()选择器来对页面某个target元素(该元素的id被当做页面中的超链接来使用)指定样式,该样式只在用户点击了页面中的超链接,并且跳转到target元素后起作用
:first-child()选择器表示的是选择父元素的第一个子元素的元素E。简单点理解就是选择元素中的第一个子元素
: last-child匹配元素的最后一个子元素。
:nth-child根据元素的位置匹配一个或者多个元素
(它接受一个an+b形式的参数,an+b匹配到的元素示例如下:
1n+0,或n,匹配每一个子元素。
2n+0,或2n,匹配位置为2、4、6、8…的子元素,该表达式与关键字even等价。
2n+1匹配位置为1、3、5、7…的子元素、该表达式与关键字odd等价。
3n+4匹配位置为4、7、10、13…的子元素。)
:nth-last-child()从某父元素的最后一个子元素开始计算,来选择特定的元素
:first-of-type匹配属于其父元素的首个特定类型的子元素的元素。
:nth-of-type与nth-child相似,不同之处在于它是只匹配特定类型的元素。

五、伪元素选择器

伪元素概念:

伪元素用于创建一些不在文档树中的元素,并为其添加样式。比如说,我们可以通过:before来在一个元素前增加一些文本,并为这些文本添加样式。虽然用户可以看到这些文本,但是这些文本实际上不在文档树中。

E::before在被选元素前插入内容。需要使用content属性来指定要插入的内容。被插入的内容实际上不在文档树中。
E::after在被元素后插入内容,其用法和特性与:before相似
E::first-letter匹配元素中文本的首字母。被修饰的首字母不在文档树中。
E:first-line匹配元素中第一行的文本。这个伪元素只能用在块元素中,不能用在内联元素中。
E::selection匹配用户被用户选中或者处于高亮状态的部分。
E::placeholder匹配占位符的文本,只有元素设置了placeholder属性时,该伪元素才能生效

计算选择器的优先级

简单情况:

优先级从高到低分别是:

在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式
作为style属性写在元素标签上的内联样式
Id选择器
类选择器
伪类选择器
属性选择器
标签选择器
通配符选择器
浏览器自定义

复杂场景:

如有多种选择器组合使用,同时选中某元素,直接计算a,b,c,d的值
行内样式 <div style="xxx"></div> ==> a
ID 选择器 ==> b
类,属性选择器和伪类选择器 ==> c
标签选择器、伪元素 ==> d
abcd优先级依次降低

范例

<style>
 .box:first-child {
  color: red;
}
.box:first-of-type {
  background: blue;
}
.box :first-child {
  font-size: 30px;
}
.box :first-of-type {
  font-weight: bold;
}
 </style>
  <div class="container">
    <div class="box">div.box</div>
    <p class="box">p.box</p>
    <div class="box">div.box</div>
    <div class="box">
      <div class="item">div.item</div>
      <p class="item">p.item</p>
    </div>
    <p class="box"></p>
  </div>
  • .box:first-child {
    color: red;
    }
    选择其父元素的第一个class=".box"的子元素为红色,选中的是 <div class="box">div.box</div>并让其字体颜色为红色

  • .box:first-of-type {
    background: blue;
    }
    选择其父元素中指定的某种类型且class=".box"的子元素的背景颜色为蓝色,选中的是 <div class="box">div.box</div>,<p class="box">p.box</p>,并让其背景颜色为蓝色

  • .box :first-child {
    font-size: 30px;
    }
    选择class="box"父元素内的第一个子元素的字体为30px,选中的是 <div class="item">div.item</div>,并让其字体大小为30px;

  • .box :first-of-type {
    font-weight: bold;
    }
    选择claa="box"父元素内的第一个某种类型的子元素的字体加粗,选中的是 <div class="item">div.item</div>
    <p class="item">p.item</p>,并让其字体加粗
    作者:彭荣辉
    链接:https://www.jianshu.com/u/0f804364a8a8
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • HTML&CSS-day01

    A今天所学: HTML常用标签 CSS常用样式 css选择器 B所掌握到的有 全部

  • jQuery选择器总结

    jQuery选择器完全继承了css的风格 常用的css选择器 jQuery选择器获取的是jQuery对象,即使获取...

  • JAVAWEB总结2_CSS JS

    CSS CSS的三种常用选择器:标签选择器、id选择器、class选择器,通过选择器来改变dom节点的样式。 JS...

  • day01 html 与 css 的含义 + 常用标签 + 常用

    html 与 css 的含义 html语法结构 常用标签 css修饰语法 css常用样式 常用选择器以级优先级

  • day01

    A今日所学 一、常用HTML标签 CSS常用选择器 CSS常用样式 盒子模型 B今日已掌握 一、常用HTML标签 ...

  • web前端入门到实战:css常用基本层级伪类属性选择器

    常见的css选择器包含:常用选择器、基本选择器、层级选择器、伪类选择器、属性选择器,其中常用选择器分为:1.htm...

  • DAY02

    1,常用的HTML标签 2,css常用选择器 1.1 元素选择器 注:p标签要慎用 1.2class选择器 特点:...

  • 学习CSS,这些内容你都知道了吗?

    CSS介绍 引入css样式表方法 CSS选择器 CSS常用属性 CSS介绍: CSS全称是(Cascading S...

  • 《Python web开发》笔记 三: CSS基础

    CSS常用选择器 通配符选择器 * id选择器(id #) 类选择器(class .) 元素选择器(E) 后代选...

  • CSS的选择器

    CSS 的常用选择器有: 通用选择器 * , id选择器 # , 类选择器 . , 元素选择器, 后代选择器, 兄...

网友评论

    本文标题:常用css选择器

    本文链接:https://www.haomeiwen.com/subject/dnvffftx.html