HTML在两个div标签中间画一条竖线的代码

互联网 18-3-3
近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p(即这条竖线的高度和两个p中较高的一个等高)。

往常我们画一条横线直接用标签<hr>即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,大致推荐用js来做。小弟比较偏执想用纯css来做,最终找到了解决方法,下面我就来分享一下我的做法。

在两个子p中加多一个p,并设置左(右)边框为可见,并且利用利用padding-bottom|margin-bottom正负值相抵消的原理。例如设置 padding-bottom:1600px; margin-bottom:-1600px;我们可以理解为:运用的是padding可以撑开外层标签而margin不用来撑开外层标签。即当padding-bottom时撑开外层标签的高度,外层标签用overflow:hidden;隐藏掉多余的高,这样可以让高度与最高的那一栏对齐;而margin关乎模块布局,margin可以抵消掉padding撑开的盒子使布局能够从内容部分开始。

以下是代码:

body{        margin-top:100px;        margin-left:200px;    }    .mainp{        width:900px;        padding:10px;        overflow:hidden; /*关键*/        border:1px solid black;    }    .leftp{        float:left;        width:400px;        background-color:#CC6633;    }    .rightp{        float:right;        width:400px;        background-color:#CC66FF;    }    .centerp{        float:left;        width:50px;        border-right: 1px dashed black;        padding-bottom:1600px;  /*关键*/        margin-bottom:-1600px;  /*关键*/    }      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    <html xmlns="http://www.w3.org/1999/xhtml">    <head>    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />    <title>竖线画法</title>    <link href="../css/demo.css" rel="stylesheet" type="text/css" />    </head>    <body>        <p class="mainp">            <p class="leftp"><br><br><br><br><br><br></p>            <p class="centerp"></p>            <p class="rightp"><br><br><br><br><br><br><br></p>        </p>    </body>    </html>

效果图:

顺便写一下js的思路和关键代码

比较两个子p的高度哪一高。选择把高的那个p的相邻边框设为可见也可达到目的。

以下是js的代码

function myfun(){      var p1=document.getElementById("content");      var p2=document.getElementById("side");      var h1=p1.offsetHeight;      var h2=p2.offsetHeight;        if(h1>h2){            p1.style.borderRight="1px dashed #B6AEA3";        }else{            p2.style.borderLeft="1px dashed #B6AEA3";      }    }

html中如何让DIV标签中的P标签水平和垂直都居中?

html小技巧之td,div标签里内容不换行

js 为label标签和div标签赋值的方法

以上就是HTML在两个div标签中间画一条竖线的代码的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 中间
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:H5中meta标签及作用

相关资讯