CSS - 显示带有边框和文本溢出的内联 block 元素

标签 css sass

我有一个 inline-block 元素,我想在其上放置一个 border-bottom,但是当该元素内的文本换行到下一行时,它会两行文本底部的边框,而不仅仅是元素的底部。

这是一个演示:

http://codepen.io/Tiger0915/pen/azpeVY

这是相关的 SCSS:

div {
  width: 150px;
  text-align: center;
  span {
    border-bottom: 20px solid rgba(0,0,0,0.3);
  }
}

如何让它只将边框放在元素的底部?

我必须使用 display: inline-block 而不能只使用 display: block 的原因:

  • 我需要文本能够换行,因为屏幕尺寸是 小

  • 我无法在 span 上指定定义的宽度,它需要根据文本是否适合 1 行或多行(取决于屏幕宽度)来更改宽度

  • span 需要在 div 内 text-align: center

最佳答案

我将您的 SCSS 更改为此,它对我来说工作正常:

div {
  width: 150px;
  text-align: center;
  span {
    display: inline-block;
    border-bottom: 20px solid rgba(0,0,0,0.3);
  }
}

只需添加 display: inline-block;就像你说的那样。默认情况下,<span>元素是 display: inline;不是display: inline-block; .

关于CSS - 显示带有边框和文本溢出的内联 block 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909558/

相关文章:

jQuery 手机 : fixed footer glitches

css - 选择类(class)第一和第二名

SASS 内置模块错误 : Invalid CSS after

sass - Sass 用来解析@import 语句的算法是什么?

html - 使悬停时的背景变暗

css - 表问题中的 Bootstrap 最大宽度内容

jquery - Javascript 动画/CSS 过渡上的 Renderbug Chrome(OS X 上为 36)

css - 创建特殊效果 CSS box-shadow

php - 内部样式不适用于我的 pdf

css - 不兼容的单位 : 'rem' and 'px' with bootstrap 4 alpha 6