当前位置: 首页 > 知识库问答 >
问题:

Flex列将最后一项对齐到flex-end

秦景同
2023-03-14

我有下面这样的html,我想在flexbox列中将flex开始中的最后一项与flex结束和剩余项对齐。

<div class="container">
    <div class="leftlist">
    
        <div class="watchlist lefticons">
            <i class="fas fa-bookmark"></i>
    
        </div>
    
        <div class="watchlist lefticons">
            <i class="fas fa-user"></i>
    
        </div>
    
        <div class="watchlist lefticons last">
            <i class="fas fa-sign-out-alt"></i>
        </div>
    
    </div>
</div>

和Css如下所示

   .container
    {
      left: 0;
      z-index: 2;
      position: fixed;
      height: 100%;
      width: $leftbarwidth;
      border-right: 1px solid rgb(233, 233, 233);
      background-color: rgb(255, 255, 255);
    }
        .leftlist
        {
            display: flex;
            flex-flow: column nowrap;
            align-items: center;
        }
        
        .lefticons
        {
            cursor: pointer;
        flex: 1 1 auto;
        width: 100%;
        font-size: 22px;
        text-align: center;
        padding: 12px 3px;
        color:#ff5722;
        text-align: center;
        margin: auto;
        border-bottom: 1px solid rgb(233, 233, 233);
        
        }
        
 

结果如下所示,如何使用类移动项目。倒数第二。我尝试了下面这样的方法,我尝试了对齐项目和对齐内容,但它似乎仍然不起作用,但它不会将最后一个元素移到底部。

   .last
    {
        margin-top:auto;
        align-self: flex-end;
        align-content: flex-end;
    }

共有2个答案

阎淮晨
2023-03-14

如果leftList具有高度:100%;你可以在比赛前把物品交给我。最后一步:1;所以他占据了所有可用的空间。

.leftList {
  height: 100%;
}
.leftList .lefticons:nth-child(2) { // You could also give the second icon a seperate class
  flex-grow: 1;
}

我希望这就是你要找的。

弓方伟
2023-03-14

这应该行得通。我删除了css类名的空格。

HTML

<div class="watchlist lefticons">
            <i class="fas fa-bookmark">Text</i>
    
        </div>
    
        <div class="watchlist-lefticons">
            <i class="fas fa-user">Text</i>
    
        </div>
    
        <div class="watchlist-lefticons-last">
            <i class="fas fa-sign-out-alt">Text</i>
      </div>

CSS

.watchlist-lefticons-last {
  position:absolute;
  bottom:0;
  height:60px;
}

如果要复制代码,则可能需要更改css中的类名。

 类似资料:
  • 我有一个简单的flex-box布局,其中有一个容器,如: 现在我希望最后一行中的项目与另一行对齐。应该使用,因为网格的宽度和高度可以调整。 目前看来

  • 这件事我也办不到。我使用的是react和styled组件,我的对齐/对齐不起作用。 DIV-设置为flex,FLEX-方向为列DIV-标题div DIV-主体div,flex生长设置为1,以便flexbox占据容器的全部高度 现在,身体的flex项占据了整个高度(良好),我试图将内容居中在这个div的中间。我已经尝试了所有的Align/Justify组合,但都不起作用,我不知道为什么。这是我的代码

  • 我有一个datagrid,我想在其中对齐某些列,使文本居中对齐(headertext和data)。当数据是数字时,我需要以右对齐的方式对齐,保持“总柱中心对齐”属性。请看图片。

  • 我有如下要求: 一个元素位于视口的左侧,两个元素位于视口的右侧。为了学习,我尝试了不包装元素的布局。 这种布局在FlexBox中可能吗? 下面是HTML: 我尝试使用和,但没有用。请帮忙。 CSS:

  • 我想知道是否有一种有效的方法来对齐不同的灵活项目(!)div flex容器,使flex项具有相同的宽度,如下所示: 笔记: 我必须在一个循环中呈现flex div(这是引导警报),一个接一个(因此只有在最后才清楚应用于水平对齐列的宽度) 这是一个简化的例子。实际上,弹性项包含不同的长度 这是在不进行自定义宽度计算的情况下呈现弹性项的方式: 也许有一个“开箱即用”的功能,它以一种不太“粗俗”的方式处