You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

文本换行时before伪元素图标缩小问题的原因及修复咨询

问题:文本换行时伪元素图标缩小

当容器内文本换行后,通过:before伪元素实现的圆形头像图标尺寸会小于CSS中指定的36px。

原因分析

父元素.initial使用了display: flex布局,:before伪元素作为flex子元素,默认的flex-shrink属性值为1。当容器内文本换行导致空间分配变化时,flex子元素会被自动压缩,即使设置了固定的width和height,也无法保持原有尺寸。

修复方法

给:before伪元素添加flex-shrink: 0,禁止其被压缩;或者直接设置flex: none(等同于flex-grow:0; flex-shrink:0; flex-basis:auto),确保伪元素始终保持设置的宽高。

修改后的CSS代码

.initial {
  align-items: center;
  display: flex;
  font-size: 12px;
  margin: 10px 0px 10px 0px;
}

.initial::before {
  content: attr(data-initials);
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: #111111;
  border-radius: 100%;
  color: #ffffff;
  height: 36px;
  letter-spacing: 1px;
  line-height: 12px;
  margin-right: 10px;
  text-transform: uppercase;
  width: 36px;
  flex-shrink: 0; /* 添加此行禁止伪元素被压缩 */
}

测试用HTML代码

<div class="row">
  <div data-initials="A" class="col-md-6 initial">
    This is a smaller text.
  </div>
</div>

<div class="row">
  <div data-initials="A" class="col-md-6 initial">
    This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text. This ist a very long text.
  </div>
</div>

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:23:23