CSS 行内定位下划线,换行后首字符丢失定位怎么办?

css 行内定位下划线,换行后首字符丢失定位怎么办?

使用 css 行内样式进行定位时,换行后的第一个字符丢失定位的问题

使用 inline 元素进行定位时,如果你发现换行后的第一个字符没有应用样式,那么需要将 span 元素设置为行内块元素。

问题代码中将 span 元素定位相对,并在伪元素中设置下划线样式:

.row span {
  position: relative;
}

.row span::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: -3px;
  height: 3px;
  background: #f00;
}

但是,默认情况下,span 元素是内联元素,会随着文本流动。由于定位是基于元素的边框框,内联元素的边框框非常窄,导致无法定位下划线。

通过将 span 元素设置为行内块元素,可以解决此问题:

.row span {
  position: relative;
  display: inline-block;
}

display: inline-block 会使元素既有内联元素的文本流动特性,又有块元素的固定宽度和高度。这样可以让下划线伪元素定位在 span 元素内部,从而实现对换行后第一个字符的定位。

以上就是CSS 行内定位下划线,换行后首字符丢失定位怎么办?的详细内容,更多请关注硕下网其它相关文章!