您的位置 首页 html教程

HTML如何在两个div标签中间画一条竖线

最近项目经理交小编一个活儿,需要在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p。在网上查了相关资料,最终搞定,下面小编给代价分享解决方法,需要的朋友参考下吧

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

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

1.png

在两个子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>

效果图:

2.png

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

3.png

比较两个子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如何在两个p标签中间画一条竖线,希望对大家有所帮助!

以上就是HTML如何在两个div标签中间画一条竖线的详细内容,更多请关注php中文网其它相关文章!

文章来源:火云技术网

文章标题:HTML如何在两个div标签中间画一条竖线

文章地址:https://www.pyhw.net/34489_html%e5%a6%82%e4%bd%95%e5%9c%a8%e4%b8%a4%e4%b8%aadiv%e6%a0%87%e7%ad%be%e4%b8%ad%e9%97%b4%e7%94%bb%e4%b8%80%e6%9d%a1%e7%ab%96%e7%ba%bf.html

关于作者: 火云技术网

热门文章

发表评论

您的电子邮箱地址不会被公开。

网站地图