yav*_*avg 7 html css css3 centering flexbox
我认为我的代码井井有条,但是我不知道为什么我无法以这种方式组织元素:
|** *|
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
|** *|
Run Code Online (Sandbox Code Playgroud)
.container {
border: 1px solid red;
display: flex;
justify-content: flex-start;
width: 100%;
height: 200px;
flex-direction: row;
}
.container div {
border: 1px solid blue;
height: 100px;
width: 100px;
}
.right {
display: flex;
align-self: flex-end;
}Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?这是我的实时代码:https : //jsfiddle.net/uxpkh9nL/
而不是align-self: flex-end(在行flex-direction中,align-self并在横轴上align-items对齐弹性项目,这意味着垂直) - 您可以在元素上使用- 请参阅下面的演示:margin-left: autoright
.container{
border:1px solid red;
display:flex;
justify-content:flex-start;
width:100%;
height: 200px;
flex-direction:row;
}
.container div{
border:1px solid blue;
height: 100px;
width: 100px;
}
.right{
display:flex;
/*align-self:flex-end;*/
margin-left: auto; /* added */
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div>
1
</div>
<div>
2
</div>
<div class="right">
3
</div>
</div>Run Code Online (Sandbox Code Playgroud)
在这种情况下,我更喜欢使用边距,但您也可以使用伪元素并用于分隔项目并使用flex-grow: 1它。
添加order: 1到flex items、order: 2伪元素和order: 3elements 中,right将按该顺序放置flex items。
添加flex-grow: 1到伪元素会强制它填充剩余的所有空间,从而将元素放置right到右端。
但如果你问我的话,这就太过分了 - 请参阅下面的演示:
.container{
border:1px solid red;
display:flex;
justify-content:flex-start;
width:100%;
height: 200px;
flex-direction:row;
}
.container div{
border:1px solid blue;
height: 100px;
width: 100px;
order: 1; /* added */
}
.right{
display:flex;
/*align-self:flex-end;*/
order: 3 !important; /* added */
}
.container:after { /* added */
order: 2;
content: '';
display: block;
flex-grow: 1;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div>
1
</div>
<div>
2
</div>
<div class="right">
3
</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |