html – 短行是任何一个侧面文本

使用CSS和 HTML有很多答案可以在某些文本的两侧添加一行,但这些行总是填充容器的整个宽度.我只希望这些行在文本的两侧长度为150px,如下所示:

example of what the lines should look like

文本将是动态的,因此可能会改变长度并需要居中.

这是我一直在研究的一些jsfiddle代码

https://jsfiddle.net/vh0j4q1e/

<div id="container">

文字标题

#container {
width:800px;
text-align:center;
background-color:#ccc;
}
h1 {
position: relative;
font-size: 30px;
z-index: 1;
overflow: hidden;
text-align: center;
}
h1:before,h1:after {
position: absolute;
top: 51%;
overflow: hidden;
width: 50%;
height: 3px;
content: '';
background-color: red;
}
h1:before {
margin-left: -50%;
text-align: right;
}

任何人都可以帮助改进此代码,以便按照上图显示线条?

解决方法

你可以在这里使用FlexBox

h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

h2:after,h2:before {
  content: '';
  width: 150px;
  height: 2px;
  background: red;
  margin: 0 10px;
}
<h2>Lorem ipsum</h2>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些