最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 15:25:59
文档

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

HTML在两个div标签中间画一条竖线的代码:近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p(即这条竖线的高度和两个p中较高的一个等高)。往常我们画一条横线直接用标签<hr>即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,
推荐度:
导读HTML在两个div标签中间画一条竖线的代码:近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p(即这条竖线的高度和两个p中较高的一个等高)。往常我们画一条横线直接用标签<hr>即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,
近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父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标签中间画一条竖线的代码

HTML在两个div标签中间画一条竖线的代码:近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父p(即这条竖线的高度和两个p中较高的一个等高)。往常我们画一条横线直接用标签<hr>即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,
推荐度:
标签: 标签 中间 两个
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top