CSS-选择器10-first-child、last-child、nth-child 和 nth-last-child

简介: CSS选择器-系列文章1、CSS选择器说明选择器例子例子描述CSS:first-childp:first-child选择属于父元素的第一个子元素的每个 p元素。

CSS选择器-系列文章

1、CSS选择器说明

选择器 例子 例子描述 CSS
:first-child p:first-child 选择属于父元素的第一个子元素的每个 p元素。 2
:last-child p:last-child 选择属于其父元素最后一个子元素每个 p 元素。 3
:only-child p:only-child 选择属于其父元素的唯一子元素的每个 p 元素。 3
:nth-child(n) p:nth-child(2) 选择属于其父元素的第二个子元素的每个 p 元素。 3
:nth-last-child(n) p:nth-last-child(2) 同上,从最后一个子元素开始计数。 3

特别注意,选择的是选中对象在父元素中的第一个元素

2、基础效果演示

源代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS伪类选择器</title>
    <style type="text/css">
        .div{
            width: 100px;
            margin: 10px;
        }
        /*选中元素的第一个元素*/
        .div:first-child{
            color: red;
        }
        /*选中元素的最后个元素*/
        .div:last-child{
            color: blue;
        }
        /*选中元素的第3个元素*/
        .div:nth-child(3){
            border: 1px solid red;
        }
        /*选中元素的倒数第3个元素*/
        .div:nth-last-child(2){
            border: 1px solid blue;
        }
    </style>
</head>
<body>
    <div class="div">1</div>
    <div class="div">2</div>
    <div class="div">3</div>
    <div class="div">4</div>
    <div class="div">5</div>
</body>
</html>

运行效果:

image.png

3、奇偶选择器

源代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS伪类选择器</title>
    <style type="text/css">
        /*odd 表示选择基数行*/
        /*even 表示选择基数行*/
       /*nth-last-child 只是奇偶计算是倒序*/
        .div:nth-child(even){
            color: red;
        }
    </style>
</head>
<body>
    <div class="div">1</div>
    <div class="div">2</div>
    <div class="div">3</div>
    <div class="div">4</div>
    <div class="div">5</div>
</body>
</html>

运行效果。


image.png

4、有规律的选择器

假如我们想实现边框显示,元素的计数是3n+1红、3n+2 绿 、3n +3 蓝色,应该如何实现呢?
源代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS伪类选择器</title>
    <style type="text/css">
        .div{
            width: 100px;
            margin: 10px;
        }
        .div:nth-child(3n+1){
            border:1px solid red;
        }
        .div:nth-child(3n+2){
            border:1px solid green;
        }
        .div:nth-child(3n){
            border:1px solid blue;
        }
    </style>
</head>
<body>
    <div class="div">1</div>
    <div class="div">2</div>
    <div class="div">3</div>
    <div class="div">4</div>
    <div class="div">5</div>
    <div class="div">6</div>
    <div class="div">7</div>
    <div class="div">8</div>
    <div class="div">9</div>
</body>
</html>

运行效果:


image.png

5、意料之外的显示

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS伪类选择器</title>
    <style type="text/css">
        /*odd 表示选择基数行*/
        /*even 表示选择基数行*/
        .div:nth-child(even){
            color: red;
        }
    </style>
</head>
<body>
    <p class="p">p1</div>
    <div class="div">div1</div>
    <p class="p">p2</div>
    <div class="div">div2</div>
    <p class="p">p3</div>
    <div class="div">div3</div>
    <p class="p">p4</div>
    <div class="div">div4</div>
    <p class="p">p5</div>
    <div class="div">div5</div>
</body>
</html>

运行效果:
  初学的时候我认为如下结果的错误的,预期的结果应该只有div2和div4。事实上这个结果是对的,我们仔细阅读说明会发现,这类选择器选中的是元素在父元素中的计数,因为div元素的位置都是偶数,所以出现如下运行结果。如果我们只想选中div2和div4应该如何做呢?first-of-type、last-of-type、nth-of-type 和 nth-last-of-type系列选择器可以帮助我们实现这个愿望。

image.png

CSS选择器-系列文章
下一节 CSS-选择器11-first-of-type、last-of-type、nth-of-type 和 nth-last-of-type

相关文章
|
4月前
|
前端开发
CSS:高级选择器
CSS:高级选择器
62 1
|
4月前
|
前端开发 JavaScript
CSS:基础选择器
CSS:基础选择器
64 1
|
21天前
|
前端开发
CSS中nth-child 的实用技巧
CSS中nth-child 的实用技巧
CSS中nth-child 的实用技巧
|
2月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
65 5
|
2月前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
64 2
|
4月前
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
4月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
154 1
|
3月前
|
前端开发
CSS常见的选择器
CSS常见的选择器
30 0
|
4月前
|
前端开发 JavaScript
【CSS】选择器
【CSS】选择器
|
5月前
|
前端开发
CSS3选择器
【8月更文挑战第23天】CSS3选择器。
42 1