CSS基础——day6—上

74 阅读4分钟

一、css3新增的选择器

属性选择器

  • 根据元素的属性属性值来选择元素;
  • 语法:元素名称[相关属性] { css样式 }

1.属性名选择元素

  • 语法:标签选择器[属性] {}
  • 通过某一个属性选择元素。
  • image.png

2.属性值选择元素

  • 语法:标签选择器[属性=属性值] {}
  • 通过某一个属性和属性值选择元素;
  • image.png
  • 注意:属性值的引号可以省略不写;

3.属性值以某一个字符开头

  • 语法:标签选择器[属性^=属性值里面的字符]
  • 通过某一个属性选择元素,但是属性值必须是以某一个字符开头的。
  • image.png
  • 注意: ^= 后面的值不能是纯数字或者以数字开头,必须是字母。

4.属性值以某一个字符结尾

  • 语法:标签选择器[属性$=属性值里面的字符]
  • 通过某一个属性选择元素,但是属性值必须是以某一个字符结尾的。
  • image.png
  • 注意: $= 后面的值不能是纯数字或者以数字开头,必须是字母

5.属性值包含某一个字符

  • 语法:标签选择器[属性*=属性值里面的字符]
  • 通过某一个属性选择元素,但是属性值不管在什么位置只要包含某一个字符即可选中;
  • image.png
  • 注意: *= 后面的值不能是纯数字或者以数字开头,必须是字母

结构伪类选择器

  • css3结构伪类选择器根据html的结构顺序来选择元素,比如选择第一个,最后一个,某一个等;

1.:nth-child 选择器

  • 通过nth-child选择元素是将这个父级盒子中的所有子元素依次排序,然后按照对应的顺序选择元素,不会将元素分类。
  • 查找方法:先查看位置,然后再去匹配是不是对应的标签,如果选择的位置元素不匹配则不会渲染样式;
  1. 第一个元素:first-child {}
  • 选择结构中指定的第一个元素;
  • image.png
  1. 最后一个元素:last-child {}
  • 选择结构中指定的最后一个元素。
  • image.png
  1. 倒数第几个:nth-last-child(n)
  • 选择结构中指定的倒数第n个元素;
  1. 某一个元素nth-child(n)
  • 选择结构中指定的第n个元素;
  • image.png

n的取值

  1. 直接取值为n
  • 表示选中所有的该标签
  1. 取值为关键字odd或者even
  • odd 表示取值为奇数.
  • even 表示取值为偶数;
  1. 取值为数学公式
  • 2n表示偶数;
  • 2n+1 表示奇数;
  • 3n表示取值为3的倍数;
  • n+3表示从第3个开始一直选择到最后一个;
  • -n+3表示表示前3个;

2.:nth-of-type选择器

  • 选择元素的规则: 先将父级里面元素分类(比如班级里的学生分为男生和女生)并且各自排序,然后再去匹配位置;
  1. 第一个元素:first-of-type;
  • 选择父元素下某一类元素的第一个元素;
  • image.png
  1. 最后一个元素:last-of-type;
  • 选择父元素下某一类元素的最后一个元素
  • image.png
  1. 某一个元素:nth-of-type(n);
  • 选择器父元素下某一类标签中的第n个元素;
  • image.png
  • 注意: nth-of-type(n) 中 n的取值和nth-child是一样的

二、伪元素

  • 伪元素可以帮助我们利用CSS创建新标签元素,而不需要在HTML结构中书写该html标签,从而简化HTML结构
  • 新创建的这个元素在html结构中是找不到的,所以我们称为伪元素;它不是真正意义上的元素;

伪元素的分类

::before

  • 在元素内容前面插入一个伪盒子
  • .box::before { content: ''; }

::after

  • 在元素内容后面插入一个伪盒子
  • .box::after { content: ''; }

伪元素注意事项和特点

  1. 伪元素必须添加给双标签,如果加给单标签是不生效的;
  2. 伪元素设置的时候必须添加content属性,否则不生效,哪怕是空的也要设置空的引号;
  3. 伪元素的显示模式默认是行内元素的特点,直接设置宽高是无效的,我们需要转化;
  4. 伪元素的权重值为0001;