【发布时间】:2015-08-17 12:25:14
【问题描述】:
我需要显示从居中文本的左右边缘填充 10 像素的左右边框。当所有文本都放入一行时没有问题,但是当文本占据多行时,环绕的 inline-block 元素会拉伸到其容器宽度的 100%。
我需要一个纯 CSS 解决方案。
这是 JSFiddle 与问题的工作演示:https://jsfiddle.net/k8wrbctr/
这是 HTML:
<div class="container">
<div class="borders-wrapper"><span>The title</span></div>
<div class="borders-wrapper"><span>The title that takes up multiple lines</span></div>
</div>
这是 CSS:
.container {
width: 200px;
text-align: center;
background-color: #ddd;
}
.borders-wrapper {
display: inline-block;
border-left: 2px solid black;
border-right: 2px solid black;
padding-left: 10px;
padding-right: 10px;
margin-bottom: 20px;
}
结果如下:
| The title |
| The title that takes up |
| multiple lines |
这就是我想要实现的目标:
| The title |
| The title that takes up |
| multiple lines |
【问题讨论】:
-
我还没有解决方案,我只是注意到在“向上”一词之后添加
<br>会导致边框按照您想要的方式放置。 -
这个stackoverflow.com/questions/26459929/… 似乎是同样的问题。我希望其中一种解决方案对您有用!
-
您可以添加类似“max-width: 80%;”的内容第二块
-
感谢@icke,但您提供的链接没有任何纯 CSS 的有效解决方案。有一种使用 JS 的解决方案,但我真的不想诉诸于此,因为我正在制作的页面是响应式的,所以我必须绑定一个侦听器来调整事件大小并在每次用户调整窗口大小时重新计算宽度。我真的很想避免这种情况。
-
@icke:关于
修复问题的有趣观察,不幸的是我也不能使用它,因为页面是响应式的,并且单词需要在不同的分辨率下以不同的方式中断。