我想在居中标题前后创建一行。线条和文本必须具有透明背景,以便能够将它们放置在不同的背景上。线的宽度不应超过 100%。
就像图片中的这里:
标题文本可能会更改:
- 标题宽度未知
- 标题可以跨多行
h1 {
text-align: center;
border-bottom: 1px solid #000;
}
<h1>Today</h1>
我想在居中标题前后创建一行。线条和文本必须具有透明背景,以便能够将它们放置在不同的背景上。线的宽度不应超过 100%。
就像图片中的这里:
标题文本可能会更改:
h1 {
text-align: center;
border-bottom: 1px solid #000;
}
<h1>Today</h1>
非标准解决方案)):
更多标准:
前任,前任
你可以用 2 个伪元素和一个边框在标题的两边画一条线:
transparent background(线条和标题具有透明背景)。span才能工作。@andweb-tiki翻译图像标题前后的 线条。
这是另一种使用 flexbox 显示的方法。该属性
flex-grow确定当元素的总大小小于容器大小时应如何在元素之间分配可用空间。默认情况下,描述字符串的元素
width是空的,没有内容(即大部分是空的,不占用空间)。但是,应用于flex-grow这些元素将确保剩余空间在它们之间均匀分布(总容器空间 - 文本空间)。这使得该行看起来像是从头到尾运行,除了文本所在的位置。内容两边实线:
在下面的代码片段中,从上到下的渐变用于在内容的两侧创建实线效果。
内容两边带有渐变效果的一行:
在下面的代码片段中,使用从左到右的微妙渐变来创建从文本旁边的纯色到另一侧透明的线条效果。
笔记。在代码片段中,我
span为字符串使用了额外的元素,因为IE11, 似乎不支持flex-grow伪元素。否则,同样可以使用伪元素来实现。这种方法的缺点是浏览器对此功能的支持相当低。
您可能还需要调整一些浏览器设置,我在这里的回答中对此进行了详细说明,与此类似。
This currently doesn't provide anything beyond the answer
@web-tiki,但这是另一种可能的选择。这种方法在以下情况下会更有用:@Harry在图像答案标题之前和之后对 Line的 松散翻译。