html - CSS - 无法在 div 内对齐图像和文本
问题描述
我正在尝试在左侧带有图标的 div 中显示消息。
预期结果是图标应始终与文本相邻,并且它们需要在 div 的底部中心对齐。
我正在使用:after
伪元素。保留position: absolute
图标并没有帮助,因为这需要手动调整图标相对于文本的位置。
这是CSS。
.parent{
font-weight: 500;
height: 65px;
text-align: center;
padding: 15px 0 10px;
margin: auto;
display: block;
width: 80%;
font-size: 12px;
overflow: hidden;
position: relative;
}
.parent > div {
float: none;
/* display: table-cell; */
vertical-align: middle;
position: absolute;
bottom: 0;
width: 100%;
}
.msg:after {
content: '';
background: url(data:image/...);
height: 16px;
width: 16px;
display: block;
position: absolute;
top: 0;
padding-right: 5px;
left: 108px;
}
和标记:
<div class="parent">
<div class="msg">text goes here</div>
</div>
解决方案
Flexbox 可以做到这一点:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
::before,
::after {
box-sizing: inherit;
}
.parent {
font-weight: 500;
margin: auto;
padding: 1em;
width: 80%;
font-size: 12px;
overflow: hidden;
position: relative;
border: 1px solid red;
}
.msg {
display: flex;
}
.msg p {
padding-left: 1em;
}
.msg:before {
content: "";
height: 16px;
flex: 0 0 16px;
background: red;
border-radius: 100%;
}
<div class="parent">
<div class="msg">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae numquam unde, eum sequi expedita fugiat ipsa exercitationem nesciunt libero repellendus aperiam excepturi, dolorem repudiandae eveniet alias perspiciatis, vero veniam tempora natus magnam
itaque quos. Nemo sit nisi, veniam mollitia fugit eaque reiciendis ex doloribus rem et suscipit debitis commodi sapiente.</p>
</div>
</div>
推荐阅读
- google-play - 如何使用 android management api 静默推送 apk 并通过 android 设备策略安装它?
- python - 没有这样的文件或目录:'builtup/build0.jpg'
- c# - Azure Functions:绑定到 DocumentClient 与静态实例 - 推荐什么?
- mysql - 带有@ORM\Column 的 Symfony 4 Doctrine 引发 MySQL 1054 错误
- python - 如何将值附加到列表中的字典
- angular - 当我模拟 throwError() 时测试失败
- c# - MVC GroupBy 扩展的 Kendo UI Grid 无法按预期工作
- python-3.x - 当提取 keras 模型特征没有得到所有特征标签时
- angular - 是否可以使用翻译方法换出整个图片?角度
- asp.net - 如何使用 .CurrentDirectory() 在 ASP.NET 中获取项目的根目录而不是 IIS Express 的位置?