首页 > 编程 > HTML > 正文

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

2020-03-22 19:37:50
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于如何使用HTML在两个div标签中间画一条竖线,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父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 >

效果图:

顺便写一下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 }

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

如何使用Html屏蔽右键菜单和左键划字功能

Html 实现动态显示颜色块的报表效果(实例代码)

以上就是如何使用HTML在两个div标签中间画一条竖线的详细内容,html教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表