CSS 伪类选择器

摘要:
css的伪类选择器真的是爱与恨的混合体。每次它被完全混淆时,我们仍然需要做一个总结。

对css的伪类选择器真的是又爱又恨,每次都很完美的被搞混了,还是得做一下总结。

1.  :nth-of-type(n)   选择第n个元素

1 <div class="box">
2     <p>1 永远相信美好的事情</p>
3     <a>2 即将发生</a>
4     <p>3 永远相信美好的事情</p>
5     <p>4 永远相信美好的事情</p>
6     <a>5 即将发生</a>
7     <a>6 即将发生</a>
8 </div>
  选择第2个a元素,实用

  a:nth-of-type(2){ background: red; }

CSS 伪类选择器第1张

2.  :last-of-type   选择最后一个元素

<div class="box">
    <p>1 永远相信美好的事情</p>
    <a>2 即将发生</a>
    <p>3 永远相信美好的事情</p>
    <p>4 永远相信美好的事情</p>
    <a>5 即将发生</a>
    <a>6 即将发生</a>
</div>
  p:last-of-type{ background: red; }

CSS 伪类选择器第2张

3.  :first-of-type   选择第一个元素

<div class="box">
    <p>1 永远相信美好的事情</p>
    <a>2 即将发生</a>
    <p>3 永远相信美好的事情</p>
    <p>4 永远相信美好的事情</p>
    <a>5 即将发生</a>
    <a>6 即将发生</a>
</div>
  a:first-of-type{ background: red; }

CSS 伪类选择器第3张

4.  :nth-child(n)   选择父元素的第n个子元素

1 <div class="box">
2     <p>1 永远相信美好的事情</p>
3     <a>2 即将发生</a>
4     <p>3 永远相信美好的事情</p>
5     <p>4 永远相信美好的事情</p>
6     <a>5 即将发生</a>
7     <a>6 即将发生</a>
8 </div>
  第二个子元素必须为 a ,否则无效

  a:nth-child(2)
{ background: red; }

CSS 伪类选择器第4张

5.  :nth-last-child(n)   选择父元素的倒数第n个子元素

1 <div class="box">
2     <p>1 永远相信美好的事情</p>
3     <a>2 即将发生</a>
4     <p>3 永远相信美好的事情</p>
5     <p>4 永远相信美好的事情</p>
6     <a>5 即将发生</a>
7     <a>6 即将发生</a>
8 </div>
  倒数第二个必须为 a ,否则无效

  a:nth-last-child(2)
{ background: red; }

CSS 伪类选择器第5张

6.  :nth-last-of-type(n)   选择倒数的第n个元素

1 <div class="box">
2     <p>1 永远相信美好的事情</p>
3     <a>2 即将发生</a>
4     <p>3 永远相信美好的事情</p>
5     <p>4 永远相信美好的事情</p>
6     <a>5 即将发生</a>
7     <a>6 即将发生</a>
8 </div>
  选择倒数的第2个p元素,更实用

  p:nth-last-of-type(2)
{ background: red; }

CSS 伪类选择器第6张

7.  :last-child   选择最后一个元素

 1 <div class="box">
 2     <p>1 永远相信美好的事情</p>
 3     <a>2 即将发生</a>
 4     <p>3 永远相信美好</p>
 5 </div>
 6 <div class="box">
 7     <a>1 永远相信美好的事情</a>
 8     <p>2 即将发生</p>
 9     <a>3 永远相信美好</a>
10 </div>
11 <div class="box">
12     <p>1 永远相信美好的事情</p>
13     <p>2 即将发生</p>
14     <p>3 永远相信美好</p>
15 </div>
  选择 p 元素的 父元素的 最后一个子元素,如果最后一个子元素不为 p ,则无效

  p:last-child{ background: red; }

CSS 伪类选择器第7张

8.  :first-child   选择第一个元素 与  :last-child 相对

 1 <div class="box">
 2     <p>1 永远相信美好的事情</p>
 3     <a>2 即将发生</a>
 4     <p>3 永远相信美好</p>
 5 </div>
 6 <div class="box">
 7     <a>1 永远相信美好的事情</a>
 8     <p>2 即将发生</p>
 9     <p>3 永远相信美好</p>
10 </div>
11 <div class="box">
12     <p>1 永远相信美好的事情</p>
13     <p>2 即将发生</p>
14     <p>3 永远相信美好</p>
15 </div>
  选择 p 元素的 父元素的 第一个子元素,如果第一个子元素不为 p ,则无效
  p:first-child{ background: red; }

CSS 伪类选择器第8张

9.  :only-of-type   选择父元素中仅有一个子元素的元素

 1 <div>
 2     <p>永远相信美好的事情即将发生</p>
 3     <span>世界上没有什么事情比学习更重要</span>
 4 </div>
 5 <div>
 6     <p>加油</p>
 7     <p>努力</p>
 8     <p>奋斗</p>
 9 </div>
10 <div>
11     <span>世界上没有什么事情比学习更重要</span>
12     <p>永远相信美好的事情即将发生</p>
13 </div>
  选择 p 的父元素的子元素中仅有一个为 p 的元素

  p:only-of-type
{ background: red; }

CSS 伪类选择器第9张

10.  :only-child   选择父元素中唯一一个子元素的元素

 1 <div>
 2     <p>永远相信美好的事情即将发生</p>
 3     <span>世界上没有什么事情比学习更重要</span>
 4 </div>
 5 <div>
 6     <p>加油</p>
 7     <p>努力</p>
 8     <p>奋斗</p>
 9 </div>
10 <div>
11     <p>永远相信美好的事情即将发生</p>
12 </div>
  选择 p 的父元素的唯一一个子元素并且为 p 的元素

  p:only-child
{ background: red; }

CSS 伪类选择器第10张

11.  :not(selector)   选择selector以外的元素

 1 <ul>
 2     <li>123123</li>
 3     <li>123123</li>
 4     <p>pppppppp</p>
 5     <li>123123</li>
 6     <li>123123</li>
 7     <p>pppppppp</p>
 8     <div>divdiv</div>
 9     <li>123123</li>
10 </ul>
  选择li以外的元素

  ul :not(li)
{ color: red; }

CSS 伪类选择器第11张

12.  :first-letter   选择元素的第一字母/字符(只对块级元素生效)

1     <p>永远相信美好的事情即将发生</p>
2     <span>世界上没有什么事情比学习更重要</span>
3     <p>加油</p>
4     <p>努力</p>
5     <p>奋斗</p>
6     <p>wsydxiangwang</p>
  选 p 元素的第一个字符,只对块级元素生效

  p:first-letter{ font-size: 40px; background: red; }

CSS 伪类选择器第12张

13.  :first-line   选择元素的第一行(只对块级元素生效)

1     <p>永远相信美好的事情即将发生,永远相信美好的事情即将发生,永远相信</p>
2     <span>世界上没有什么事情比学习更重要</span>
3     <p>wsydxiangwang</p>
  选择第一行的元素,只对块级元素生效

  p:first-line
{ background: red; }

CSS 伪类选择器第13张

免责声明:文章转载自《CSS 伪类选择器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇url加密并计算时间Docker --Dockerfile(制作镜像)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS揭秘—打字动效(四)

    前言:        所有实例均来自《CSS揭秘》,该书以平时遇到的疑难杂症为引,提供解决方法,只能说秒极了,再一次刷新了我对CSS的认知     该书只提供了关键CSS代码,虽然有在线示例代码链接,但访问速度较慢。下面示例代码是我自己写的,若有错误,欢迎指正     注:我会在最开头附上每个相关示例所需CSS属性链接作为补充,以供查阅和学习   ...

CSS 实现加载动画之五-光盘旋转

今天做的这个动画叫光盘旋转,名字自己取的。动画的效果估计很多人都很熟悉,就是微信朋友圈里的加载动画。做过前面几个动画,发现其实都一个原理,就是如何将动画的元素如何分离出来。这个动画的实现也很简单,关键点在于如何将元素拼凑成风车形状。然后定义动画的关键帧为rotate 360度,应用于整个元素上,就可以使整个元素旋转起来。案例在请在chrome中查看。 1....

CSS3之边框图片border-image

CSS3中有关border的属性,还有很多,今天我将为大家介绍一个很好玩的属性——Border-image。有了CSS3之边框图片Border-image,我们可以轻松搞定圆角,轻松搞定很多之前难搞的东东。 一、border-image的语法 1、border-image-source border-image-source:url(image);/*im...

CSS(八)-- 变形(过渡、动画、平移、旋转、缩放)

目录 1.过渡(transition) 1.1transition-property:指定执行过渡的属性 1.2transition-duration:执行过渡需要的时间 1.3transition-timing-function:过得的时序函数 通过贝塞尔曲线指定 steps()分步执行过渡效果 1.4 transition-delay:过...

uniapp 小程序实现自定义底部导航栏(tarbar)

在小程序开发中,默认底部导航栏很难满足实际需求,好在官方给出了自定义形式,效果如下: 话不多说,直接上代码 1.组件 custom-tarbar.vue文件 <template> <view class="tarbar"> <view class=".tarbar-list"...

CSS3系列四(Media Queries移动设备样式)

viewport设置适应移动设备屏幕大小  viewport:允许开发者创建一个虚拟窗口并自定义其窗口的大小或缩放功能 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0" /> 代码中的content属性可以设置如下6种不同参数...