html - 嵌入式 span 元素中的 FlexBox 对齐问题
问题描述
我想与span
右侧的日期时间元素对齐。我可以通过使用float
属性来做到这一点,但是当我使用 flexbox 时,我不能这样做。
截屏:
代码示例:
.flex-container {
display: flex;
flex-direction: row;
width: 300px;
margin: auto;
padding: 10px;
color: #fff;
background: #777;
}
.flex-container .secondText {
flex-grow: 1;
}
<div class="flex-container">
<span class="firstText">some text here..<span class="secondText">13:30</span></span>
</div>
解决方案
让两个<span>
标签都是flex-items
(使它们都是 的直接子级<div class="flex-container"></div>
)。然后添加margin-left: auto;
到要向右对齐的元素:
.flex-container {
font-family: Arial, sans-serif;
font-size: 12px;
display: flex;
justify-content:space-between;
width: 300px;
margin: auto;
padding: 10px;
flex-wrap: wrap;
color: #fff;
background: #1E79AA;
}
.flex-container .firstText {
line-height: 1.5;
text-align: justify; /* optional; text-align: right works too */
}
/* To avoid overlaping of time and plain text!!! */
.flex-container .firstText:after {
content: "";
display: inline-block;
width: 40px;
line-height: 1.5em;
}
.flex-container .secondText {
margin-left: auto;
margin-top: -1.5em;
height: 1.5em;
line-height: 1.5em;
width: 40px;
background: #FF9500;
text-align: center;
}
<div class="flex-container">
<span class="firstText">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed massa orci, euismod elementum porttitor tempor, laoreet ut mauris. Aliquam feuaiat quam ac sem feuaiat hendrerit hendrerit feuaiat evoid overlap. </span>
<span class="secondText">23:30</span>
</div>
推荐阅读
- node.js - 休息 Api 与 node.js 本地主机没有回答
- angular - 来自父组件中 ng-template 子项的 Angular 处理事件
- hibernate - Spring Boot - 锁定实体
- javascript - SyntaxError:JSON 输入的意外结束↵ 在 http://localhost:3000/static/js/0.chunk.js:974:41
- function - 我们可以在 Azure 功能中使用 Microsoft.Office.Interop.excel.dll 吗?
- c# - 派生类中的 HttpContext 为空
- css - office-ui-fabric-react:loadTheme 更改全局 CSS?
- libgdx - 如何检测 libGDX 中两个演员之间的碰撞?
- visual-studio-code - 如何在 VS Code 中禁用 C++ 错误检查?
- c# - OpenID Connect AllowedRedirectUris 为空,导致 IdentityServer4 上出现“无效的 redirect_uri”