这篇文章给大家分享的是有关CSS实现自适应分隔线的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
CSS如何实现自适应分隔线?下面CSS栏目就来给大家介绍一下CSS实现自适应分隔线的N种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
分割线是网页中比较常见的一类设计了,比如说知乎的更多回答
这里的自适应是指两边的横线会随着文字的个数和父级的宽度自适应引用>偷偷的看了一下知乎的实现,很显然是用一块白色背景覆盖的,加一点背景就露馅了
心想:可能别人的重点不在这些上面吧
下面列举几种更好的实现方式,不会露馅的那种
1。伪元素+变换:translateX (-100%);
主要原理是设置文本居中<代码> text-align:中心;> 代码,然后给定两个伪元素,分别绝对定位,那么此时伪元素也是跟随着<强>水平居中>强的,设置足够的宽度,然后把左边的往左位移<代码> 代码> 100%就可以了,父级记得超出隐藏。
具体实现如下
<代码> html 代码>结构为
& lt; div类=皌itle"在我是分割线& lt;/div><代码> CSS代码>样式为
.title { 位置:相对; text-align:中心; 溢出:隐藏; 字体大小:14 px; 颜色:# 999; } {后.title:之前,.title:: 内容:& # 39;& # 39;; 显示:inline-block; 宽度:100%; 身高:1 px; 位置:绝对的; 背景:# ccc; 上图:50%; } {前.title:: margin-left: -10 px; 变换:translateX (-100%); } {后.title:: margin-left: 10 px; }CSS分隔线(伪元素+变换)
2。伪元素+ flex
这个比较好理解了,设置<代码>显示:flex代码> ,然后两个伪元素分别铺满剩余空间。
具体实现如下
<代码> html 代码>结构为
& lt; div类=皌itle"在我是分割线& lt;/div><代码> css代码>样式为
.title { 显示:flex; 对齐项目:中心; 字体大小:14 px; 颜色:# 999; } {后.title:之前,.title:: 内容:& # 39;& # 39;; flex: 1; 身高:1 px; 背景:# ccc; } {前.title:: margin-right: 10 px; } {后.title:: margin-left: 10 px; }CSS分隔线(伪元素+ flex)
3。伪元素+不必/大纲+ clip-path
同样利用<代码> text-align:中心> 代码使文本和伪元素居中,然后生成足够大的<代码>不必> 代码或者<代码>大纲> 代码,由于不支持单个方向,所以用<代码> clip-path> 代码或者<代码>夹> 代码裁剪掉
具体实现如下
<代码> html 代码>结构为
& lt; div类=皌itle"在我是分割线& lt;/div><代码> css代码>样式为
.title { text-align:中心; 字体大小:14 px; 颜色:# 999; 溢出:隐藏; } {后.title:之前,.title:: 内容:& # 39;& # 39;; 显示:inline-block; 宽度:0; 身高:1 px; 不必:0 0 0 9999 px # ccc; vertical-align:中间; } {前.title:: margin-right: 10 px; clip-path:多边形(0 0,-9999 px 0, -9999 px 100%, 0 100%); } {后.title:: margin-left: 10 px; clip-path:多边形(0 0,9999 px 0, 9999 px 100%, 0 100%); }CSS分隔线(伪元素+不必/大纲+ clip-path)
4。伪元素+右:100%
这个实现需要多一层标签,外部仍然是<代码> text-align:中心> 代码,内部文本里添加两个伪元素绝对定位,其中左边的设置距离右边100%(相对于文本标签)即可
具体实现如下
<代码> html 代码>结构为
& lt; div类=皌itle"比; & lt;跨类=癷nner"在我是分割线& lt;/span> & lt;/div><代码> css代码>样式为
.title { text-align:中心; 字体大小:14 px; 颜色:# 999; 溢出:隐藏; } 在{ 位置:相对; } 在::{之前、在:之后 位置:绝对的; 内容:& # 39;& # 39;; 宽度:9999 px; 身高:1 px; 背景:# ccc; 上图:50%; } {之前。:: 右:100%; margin-right: 10 px; } {后。:: margin-left: 10 px; }CSS实现自适应分隔线的方法