在写页面的时候我们经常需要写一些带文字的分割线。我们需要横线垂直居中,文字水平居中,并且横线的长度能根据文字长度自适应。类似这样:
为此我参考了一些插件的做法,加上自己的一些思考,总结出以下三种写法:
使用table-cell以及背景图片(vux以及Cola-UI的写法)
这个方法主要应用了table-cell的自适应特性,再配合使用background-position将北京图片居中。为了减少http请求,此处的图片采用base64。
|
|
|
|
使用flex-box
这个方法主要是利用了flex-box中自动撑满空间的特性,以及align-items:center
。优点是代码简洁优雅,缺点是兼容性稍差。
|
|
|
|
利用table-cell的自动撑满特性以及vertical-align特性
这个是我自己根据前两个方案总结出来的。其实实现这种分割线的要点在于实现自动撑满空间,以及垂直居中。恰好table-cell都能做到这两点。
我提出的这个方法缺点是html结构有点复杂。
|
|
|
|
以上就是我收集、提出的三种实现自适应文字分割线的方法,欢迎大家提出修改意见:)