源码动态 源码评测 源码技巧 网站运营 网页制作 网站开发 安全相关 软件教程 IDC资讯 业界消息
高级搜索
关键字:Discuz!  Axure  团购系统
最新更新发布资源提建议收藏本站
当前位置:A5源码 > 资讯报道 > 网页制作 > HTML如何在两个div标签中间画一条竖线

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

作者:zy来源:未知浏览:时间:2018-03-05 13:31我要评论
近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高)。 往常我们画一条横线直接用标签hr即可,当画一条竖线的时候发现找不到标签。

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

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

在两个子div中加多一个div,并设置左(右)边框为可见,并且利用利用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;

}

.maindiv{

width:900px;

padding:10px;

overflow:hidden;

/*关键*/

border:1px solid black;

}

.leftdiv{

float:left;

width:400px;

background-color:#CC6633;

}

.rightdiv{

float:right;

width:400px;

background-color:#CC66FF;

}

.centerdiv{

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>

<div class="maindiv">

<div class="leftdiv"><br><br><br><br><br><br></div>

<div class="centerdiv"></div>

<div class="rightdiv"><br><br><br><br><br><br><br></div>

</div>

</body>

</html>

效果图:

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

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

以下是js的代码

function myfun(){

var div1=document.getElementById("content");

var div2=document.getElementById("side");

var h1=div1.offsetHeight;

var h2=div2.offsetHeight;

if(h1>h2){

div1.style.borderRight="1px dashed #B6AEA3";

}

else{

div2.style.borderLeft="1px dashed #B6AEA3";

}

}

总结

以上所述是小编给大家介绍的HTML如何在两个div标签中间画一条竖线,希望对大家有所帮助。

相关文章
网友对“HTML如何在两个div标签中间画一条竖线”的评论
资讯分类
本类热门资讯
  • 源码推荐
  • 软件推荐
关于我们联系我们发布资源广告服务合作伙伴网站地图版权声明与我们对话