You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS选择Flex布局中每行的最后一个子元素?

如何用纯CSS选中Flex布局每行的最后一个元素?

本问题并非相似Stack Overflow问题的重复,请在标记为重复前仔细阅读。

我已仔细阅读上述相似问题,区别在于该问题是选择最后一行的所有元素,而我需要选择每行的最后一个元素。

是否存在无需JavaScript即可选择Flex布局中每行最后一个元素的方法?在示例中,我希望用CSS选择器选中div 5、10(以及最终的12)。

Flex示例

当然,方案需要支持响应式:

  • 窗口尺寸改变时,:nth-child(5)这类固定位置的选择器无法选中正确的div。
  • 子div的宽度是可变的。

我再次确认,上述相似问题的需求是选择最后一行的所有元素,而我需要的是每行的最后一个元素。

由于上述问题尚无合适解决方案,我担心若无JavaScript则无法实现需求。

以下是示例代码:

HTML代码

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Gajraj+One&family=Monoton&family=Righteous&display=swap" rel="stylesheet">

<div id="container">
    <div class="child">1</div>
    <div class="child">2</div>
    <div class="child">3</div>  
    <div class="child">4</div>  
    
    <div class="child">5</div>
    <div class="child">6</div>
    <div class="child">7</div>  
    <div class="child">8</div>  
    
    <div class="child">9</div>
    <div class="child">10</div>
    <div class="child">11</div> 
    <div class="child">12</div> 
</div>

CSS代码

#container {
    background-color: LightSteelBlue;   
    
    width: 100%;
    height: fit-content;
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between; 
    /*justify-content: stretch;*/
}

.child {
    font-family: 'Monoton', cursive;
    
    color: white;
    font-size: 40px;
    display : flex;
    align-items : center;
    justify-content: center;
    
    width: 100px;
    height: 100px;
    margin: 10px;
    background-color: SteelBlue;
    
    border: 1px solid black;
    flex-grow: 1;
}

#container::after {
    /*background-color: red;*/
    content: "";    
    flex-grow: 100;
}

内容的提问来源于stack exchange,提问作者Fifi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 23:27:48