Flex布局结合border:left/right; 来设置文字中间分割线

今天设计给的稿件的分割线不是平常常见的那种,还给了两条垂直的线。

比如像这样:

看到这张图,第一反应用两条hr,再设置hr的border-left/right。然而这并不能实现这样的效果。

当你给hr设置高度的时候,如果不设置border:none,hr看上去变成了一个有着灰色边框的盒子。比如像这样:

hr{
            height: 15px;
            /*border:none;*/
            /*border-top:1px solid red;*/
            /*border-right: 1px solid red;*/
        }

效果如图:

注释部分取消注释后:

折腾了够久了。期间还试验了文字前面:before :after写法~然而依旧折腾得够呛。

突然觉得,我何不弄简单点。

比如像这样:

<style>
        .box{
            width: 600px;
            display: flex;
            align-items: center;
            margin-top: 20px;
        }
        .div1, .div3{
            flex:1.4;
            border-top: 1px solid red;
        }

        .div2{
            flex:1;
            text-align: center;
            border-left: 1px solid red;
            border-right: 1px solid red;
            font-size:36px;
            line-height: 16px;
            padding: 0 20px;
        }
    </style>
</head>
<body>
<div class="box">
    <div class="div1"></div>
    <div class="div2">我的文字</div>
    <div class="div3"></div>
</div>
</body>

用 Flex 大容器包裹三个盒子,属性设置 align-items: center。使得3个盒子垂直居中对齐。

再给文字设置border-left/right。

注意,这里第二个div文字部分不设置height,而是用设置line-height来达到缩短 border-left/right的高度。

得到的就是文章开头图片那样的效果。

另外一个今天折腾了一小会的是关于 line-gradient。下次再说。

时间: 2024-10-27 05:53:17

Flex布局结合border:left/right; 来设置文字中间分割线的相关文章

flex布局justify-content属性和align-items属性设置

前言: flex最常用的就是justify-content和align-items了,这里把这两个属性介绍下,大家更多关于flex布局可以查看阮一峰的日志,写的非常清楚! 阮一峰flex布局的日志:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 1.justify-content(在父元素设置)     设置弹性盒子元素在主轴(横轴)的对齐方式. 取值: justify-content: flex-start | flex-end

Flex布局摆脱float带来的布局问题

完整文章地址http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 使用浮动(float)的一个比较疑惑的事情是他们怎么影响包含他们的父元素的.如果父元素只包含浮动元素,且父元素未设置高度和宽度的时候.那么它的高度就会塌缩为零.那我们就不能 做高度根据内容自动调整的布局,但是利用flex布局可以实现,不需要设置父元素的宽度和高度,让父元素根据子元素自动调整大小. Flex是Flexible Box的缩

CSS3布局之flex布局效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{ margin: 0; padding: 0; } .container{ width: 1000px; margin:0 auto; } he

转:阮一峰Flex 布局教程:实例篇

作者: 阮一峰 日期: 2015年7月14日 上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇>.我的主要参考资料是Landon Schropp的文章和Solved by Flexbox. 一.骰子的布局 骰子的一面,最多可以放置9个点. 下面,就来看看Flex如何实现,从1个点到9个点的布局.你可以到codepen查看Demo. 如果不加说明,本节的H

Flex 布局学习笔记

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { padding: 0px; margin: 0px; } body { box-sizing: border-box; width: 100%; min-height: 100%; } .ma

Flex 布局2

Flex 布局2 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇>.我的主要参考资料是Landon Schropp的文章和Solved by Flexbox. 一.骰子的布局 骰子的一面,最多可以放置9个点. 下面,就来看看Flex如何实现,从1个点到9个点的布局.你可以到codepen查看Demo. 如果不加说明,本节的HTML模板一律如下. <div class="box"> <

Flex 布局教程:实例篇

本文转载自阮一峰,介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇>.我的主要参考资料是Landon Schropp的文章和Solved by Flexbox. 一.骰子的布局 骰子的一面,最多可以放置9个点. 下面,就来看看Flex如何实现,从1个点到9个点的布局.你可以到codepen查看Demo. 如果不加说明,本节的HTML模板一律如下. <div class="box

CSS3弹性伸缩布局(下)——flex布局

新版本 新版本的flex布局模型是2012年9月提出的工作草案,这个草案是由W3C推出的最新语法,这个版本立志于指定标准,让新式的浏览器全面兼容,在未来的浏览器更新换代中实现统一. 目前几乎大部分的浏览器都支持了.浏览器支持情况可以点击这里查看,下图为支持flex的情况 //HTML代码部分<div> <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p> <p>我是吴广林我是吴

flex布局中 align-items 和 align-conten t的区别

参考资料:http://stackoverflow.com/questions/31250174/css-flexbox-difference-between-align-items-and-align-content 看了很多翻译的技术文档,这一块都讲得模糊不清,看到stackoverflow上有人提问后的回答觉得十分清晰,特来分享,有不当之处欢迎指正. align-items The align-items property applies to all flex containers, a