html - CSS - 无法在 div 内将图像和文本对齐在一起

标签 html css

我试图在左侧带有图标的 div 中显示消息。

预期结果是图标应始终与文本相邻,并且它们需要在 div 的底部中心对齐。

enter image description here enter image description here

我正在使用 :after 伪元素。保持图标的 position: absolute 没有帮助,因为这需要手动调整图标相对于文本的位置。

enter image description here enter image description here

这是 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>

关于html - CSS - 无法在 div 内将图像和文本对齐在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59080909/

相关文章:

javascript - 从任何给定元素中提取 CSS 规则

除了空格和连字符外,下划线的 CSS 自动换行/换行符

javascript - 图像根据移动设备宽度适合 div,无需拉伸(stretch)

html - 根据当前窗口大小将图像垂直和水平居中

html - 字体图标连字

php - 数据库更新问题,无法更新

javascript - React/Nextjs - 知道什么页面在 _app.js 上呈现

html - 将方形 div 与圆形 div 无缝连接

css - 水平滚动条不可选(在 Linux 上?)

css - 当浏览器不支持 CSS 样式但属性支持时会发生什么情况?