繁体   English   中英

每侧的内容和线条居中填充剩余空间

[英]Centered content and lines on each side filling the remaining space

<div class="text-mid">
  <span>TEXT</span>
</div>

的CSS

.text-mid {
  display:block;
  margin: 10px;
  padding; 10px;
}

我想要像图片一样的安排→ 在此处输入图片说明

编辑

我希望没有Flexbox的解决方案

这是调整后的CSS,不使用flexbox。

 .text-mid { width: 100%; display: block; text-align: center; position: relative; } .middle { padding: 10px; background-color: white; } .start { left: 0; } .finish { right: 0; } .start, .finish { transform: translateY(50%); position: absolute; top: 50%; width: 50%; background-color: black; height: 1px; z-index: -1; } 
 <div class="text-mid"> <span class="start"></span> <span class="middle">TEXT</span> <span class="finish"></span> </div> 

如果您不想更改标记:

 .text-mid { text-align: center; background-color: white; position: relative; z-index: -2; } .text-mid::before { position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background-color: grey; content: ' '; z-index: -1; } .text-mid span { background-color: white; padding: 0 10px; } 
 <div class="text-mid"> <span>TEXT</span> </div> 

我为左右行添加了两个新的DIV 我也将.text-mid classdisplay更改为flex

 .text-mid { display: flex; } span { display: block; margin: 0 5px; } #left { background-color: #AAAAAA; flex: 1; height: 1px; margin-top: 8px; } #right { background-color: #AAAAAA; flex: 1; height: 1px; margin-top: 8px; } 
 <div class="text-mid"> <div id="left"></div> <span>TEXT AREA</span> <div id="right"></div> </div> 

使用伪元素很容易做到这一点

通过同时使用两者,这对于背景也将是完全透明的。

主要技巧是设置overflow: hidden在包装器上,每个伪overflow: hidden上的width足以覆盖所有可能的宽度

 .text-mid { margin: 10px; padding: 10px; text-align: center; overflow: hidden; } .text-mid span { position: relative; padding: 0 5px; } .text-mid span::before, .text-mid span::after { content: ''; position: absolute; width: 50vw; top: 50%; border-top: 1px solid black; } .text-mid span::after { left: 100%; } .text-mid span::before { right: 100%; } 
 <div class="text-mid"> <span>TEXT</span> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM