分享更有价值
被信任是一种快乐

如何使用CSS实现自适应分隔线

文章页正文上

小编给大家分享一下如何使用CSS实现自适应分隔线,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
分割线是网页中比较常见的一类设计了,

这里的自适应是指两边的横线会随着文字的个数和父级的宽度自适应
偷偷的看了一下知乎的实现,很显然是用一块白色背景覆盖的,加一点背景就露馅了
心想:知乎的前端也不怎么样?可能别人的重点不在这些上面吧
下面列举几种更好的实现方式,不会露馅的那种
  主要原理是设置文本居中text-align: center;,然后给定两个伪元素,分别绝对定位,那么此时伪元素也是跟随着水平居中的,设置足够的宽度,然后把左边的往左位移100%就可以了,父级记得超出隐藏。
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (伪元素+transform)by XboxYan (@xboxyan) onCodePen.

这个比较好理解了,设置display:flex,然后两个伪元素分别铺满剩余空间。
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (伪元素+flex)by XboxYan (@xboxyan) onCodePen.

同样利用text免费云主机、域名-align: center使文本和伪元素居中,然后生成足够大的box-shadow或者outline,由于不支持单个方向,所以用clip-path或者clip裁剪掉
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (伪元素+box-shadow/outline+clip-path)by XboxYan (@xboxyan) onCodePen.

这个实现需要多一层标签,外部仍然是text-align: center,内部文本里添加两个伪元素绝对定位,其中左边的设置距离右边100%(相对于文本标签)即可
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (伪元素+right:100%)by XboxYan (@xboxyan) onCodePen.

这个思路可以不用到伪元素,不过需要额外的标签,给内部文本左右足够大的1px边框,此时需要设置line-height:1px,由于内部整体以及足够大了(超过父级),可以使用绝对定位和transform: translateX(-50%)居中
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (border+transform)by XboxYan (@xboxyan) onCodePen.

这个思路只需要一个伪元素,在文本内部生成一个伪元素,利用足够大的border和相同的负值(绝对定位+left/right)还原位置
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (伪元素+border+left/right)by XboxYan (@xboxyan) onCodePen.

主要思路为父级设置display:table,伪元素设置display:table-cell,并设置足够大的宽度即可
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (伪元素+table-cell)by XboxYan (@xboxyan) onCodePen.

利用fieldset和legend标签组合,可以天然实现分隔线效果,参考至张鑫旭的这篇文章
具体实现如下
html结构为
css样式为
See the PenCSS分隔线 (fieldset+legend)by XboxYan (@xboxyan) onCodePen.
以上是“如何使用CSS实现自适应分隔线”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

相关推荐: jquery如何判断是什么元素类型

这篇文章主要介绍“jquery如何判断是什么元素类型”,在日常操作中,相信很多人在jquery如何判断是什么元素类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery如何判断是什么元素类型”的疑惑有所帮助!接下来,请跟着…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册