欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

css 伪类:last-child等不起作用

程序员文章站 2022-05-22 14:33:50
...

【前言】

    今天学生练习项目遇到不少问题,这里列举一个:css 伪类:last-child等不起作用?

 

【详解】

     首先我再强调下,伪类选择器`:first-child`和`:last-child`是根据父级进行筛选的。所以如果想对某个尾部元素设置样式,必须在之前加上父级元素。即子元素 父级元素:last-child 子元素。

<style>
#icons{
    border: 1px solid bisque;
    height: 250px;
}
#icons .column{//每一列
    width: 25%;
    display: inline-block;
    float: left;
    text-align: center;
}
#icons .column .txt{//每列文字
    width: 100%;
    height: 52px;
    margin-top: 134px;
    border-right: 2px solid #787b83;//在此处加隔条
    
}
#icons .column .txt:last-child{
    border-right: none;
}
#icons .column .txt p{
    width: 160px;
    height: 52px;
    font-size: 14px;
    line-height: 18px;
    color: #767777;
    margin-left: 25%;
}

 

<div id="icons">
            <div class="column column1">
                <div class="txt">
                    <p>打造全新世界观,让你更爱你的生活</p>
                </div>
            </div>
            <div class="column column2">
                <div class="txt">
                    <p>丰富多彩的公益活动,发挥新世界的主人公意识</p>
                </div>
            </div>
            <div class="column column3">
                <div class="txt">
                    <p>时尚的新理念,超前体验未知的生活</p>
                </div>
            </div>
            <div class="column column4">
                <div class="txt">
                    <p>完善的培养机制,培养你全新的世界观</p>
                </div>
            </div>
        </div>
</div>

 效果如下:

css 伪类:last-child等不起作用
            
    
    博客分类: CSS,浏览器兼容学生提问 CSS浏览器兼容学生提问 

   学生一般以为在 `#icons .column .txt` 处加隔条后,想把最后一个竖隔条设为 `border:none;` 没想到如上如所示,全部都不见了。

   原因在于,伪类选择器`:first-child`和`:last-child`是根据父级进行筛选的,`#icons .column .txt:last-child` 的父级是‘.txt`,在该处上的子级只有一个,最后的子级当然也是自己本身,所以要想达到效果,就应该在‘.txt`的父级添加伪类。

#icons .column:last-child .txt{
    border-right: none;
}

 效果如下:

css 伪类:last-child等不起作用
            
    
    博客分类: CSS,浏览器兼容学生提问 CSS浏览器兼容学生提问 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.