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

作者&投稿:伯牙吾台朋 (若有异议请与网页底部的电邮联系)
~

近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父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标签中间画一条竖线,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!





东方神起所有成员的个人SOLO歌曲(mp3或者wma都行)
161.俊秀-Anyband-Talk Play Love http:\/\/www.mediafire.com\/?bnmmzgwslm2 162.俊秀-Beatuiful Thing http:\/\/www.mediafire.com\/?1jnihg3xeyz 163.俊秀-My Page http:\/\/www.mediafire.com\/?bzzb1tmljzk 164.俊秀-Propos http:\/\/www.mediafire.com\/?3jxzthqjytt 165.俊秀-死心 http:\/\/www.media...

谁能详细介绍一下各种高清视频格式?
三,如何收看HDTV节目? 目前有两种方式可欣赏到HDTV节目。一种是在电视上实时收看HDTV,需要满足两个条件,首先是电视可接收到HDTV信号,这需要额外添加相关的硬件,其次是电视符合HDTV标准,主要是指电视的分辨率和接收端口而言。 另一种是在电脑上通过软件播放。目前我国只有极少部分地区可接收到HDTV数字信号,而且HDTV电视...

华硕p5gd1_tml\/s主板能支持e6300cpu吗?
你好!可以 华硕P5GD1-TMX\/S主板可以配什么CUP Intel 奔腾双核 E5300(散)¥380 主频2.6 Intel 酷睿2双核 E7400(散)¥680 Intel 酷睿2四核 Q9300(散)¥895 看你这主板就像是品牌机。针脚为775的CPU都能搭配,上面已经举例子了。E5300很是不错。内存是DDR的,DDR400 1G内存肯定能插 e6300cpu支持...

松下PLC编程软件中TMX.TMY.TMR.TML代表什么意思?
TML :输入0.001秒定时器\\x0d\\x0aTMR :输入0.01秒定时器\\x0d\\x0aTMX :输入0.1秒定时器\\x0d\\x0aTMY :输入1秒定时器\\x0d\\x0a如:\\x0d\\x0aTML 0,K100 设置时间是0.001×100=0.1s\\x0d\\x0aTMR 1,K100 设置时间是0.01×100=1s\\x0d\\x0aTMX 2,K100 ...

尼康d850wifi怎么联机拍摄
wifi视频传输模块,MT7688A核心板 广告机、收银机可用到我司的WIFI模块产品有以下:联发科(MTK)系列:USB网卡:TML1505C-MT7601系列; TML3011A-MT7603系列;TML1507F-RT3070系列;AP路由:TMA1508B-MT7688系列;TMA3007A-MT7628系列。瑞昱(Realtek)系列:USB接口:TML1510EU-RTL8188EUS系列; TML...

东方神起的较有名的歌和好听的歌
1.A Whole New World(Special Track)2.All In Vain 3.Always There(清)4.Angle We Have Heard On High(清)5.Balloons 6.Balloons(New ver)7.Beautiful Life 8.Beautiful Life (日)9.Begin 10.Begin(清)11.Break up the shell 12.Choosey Lover 13.Choosey Lover(R.Yamaki's Groove Mix)...

求东方神起清唱的视频或音频
161.俊秀-Anyband-Talk Play Love http:\/\/www.mediafire.com\/?bnmmzgwslm2 162.俊秀-Beatuiful Thing http:\/\/www.mediafire.com\/?1jnihg3xeyz 163.俊秀-My Page http:\/\/www.mediafire.com\/?bzzb1tmljzk 164.俊秀-Propos http:\/\/www.mediafire.com\/?3jxzthqjytt 165.俊秀-死心 http:\/\/www.mediafir...

eos200d的wifi怎么使用
无线路由WiFi模块,RTL8188FTV WiFi模块 图像传输、航拍(FPC)可用到我司的WIFI模块产品有以下:联发科(MTK)系列:USB网卡:TML1505C-MT7601系列; TML3011A-MT7603系列;TML1507F-RT3070系列;AP路由:TMA1508B-MT7688系列;TMA3007A-MT7628系列。瑞昱(Realtek)系列:USB接口:TML1510EU-RTL8188...

安阳县19427796685: 如何使用HTML在两个div标签中间画一条竖线 -
夕寇双甲: <div style="width:150px;height:150px;float:left;background:#f00;"></div><div style="width:1px;height:150px;float:left;background:#000;margin-left:10px;margin-right:10px;"></div><div style="width:150px;height:150px;float:left;background:#0f...

安阳县19427796685: Html5实现如何在两个div元素之间拖放图像 -
夕寇双甲: 这个主要是使用的元素的onmousemove,onmousedown,onmouseup三个事件,使用者三个事件获取相应的坐标,然后就可以实现相应的效果

安阳县19427796685: 求代码,两个DIV中间之间画线 -
夕寇双甲: 你可以了解一下html5的 大概原理是:在这里面,你获取两个点,就可以画出一条直线了 获取两个div的点,可以通过js,或者jq来获得它的坐标

安阳县19427796685: 我想在div之间画一条线,请问怎么实现? -
夕寇双甲: 因为你给每个div都加了 border 1px的宽度.如果屏幕总宽度1000,那么每个div的宽带为252(而非250).具体实现:可以在每个div外面套一个div,单独控制宽带百分比.代码如下:<!DOCTYPE html><head> <title>Index</title> <style type="...

安阳县19427796685: css3实现两个div中间内凹圆角 -
夕寇双甲: 利用:before 或者:after 可以实现 中间内凹圆角

安阳县19427796685: css中2个DIV中间的线是怎么做的不像是图片 -
夕寇双甲: 也可以用只有一个点或线的小图片作为背景浏览器会自动横向重复填满层区域. .bian{width:100%;height:5px;background:url(bian.gif);}

安阳县19427796685: html布局,下面怎么使两个div在同一行显示? -
夕寇双甲: 两种常用方法: <p class="p_left">左左左左左左左</p><p class="p_right">右右右右右右右</p>.一、 .p_left{float:left;}..p_right{float:left;}. 二、(中间如果有空格 他会留空格的 上面的就不会,你要块状也可以换成display:inline-block;)...

安阳县19427796685: 如何让html让两个DIV相交在一起 -
夕寇双甲: 用position 相对位置 做图层效果. 例: position: absolute; 设为相对位置 z-index: 999; 设置层级 top: 10px; 设置位置或使用right left top: -10px;

安阳县19427796685: html的问题,怎么让一个DIV在另一个DIV中水平垂直居中? -
夕寇双甲: html中让一个DIV在另一个DIV中水平垂直居中,可以通过将一个div包裹第二个div,然后在将设置第一个div的宽高,要比第二大上很多,然后在设置第二个的宽高,然后通过margin:auto auto;这里我提交代码: <html> <head> <title>文字测试</...

安阳县19427796685: HTML网页如何灵活的在两个地方插入背景图片? -
夕寇双甲: 需要插入两个div 两个div都要有图片作为底图,一个为左上角定义底图,一个为右下角定义.大体的做法是<div style="background:url(xxx.gif) no-repeat left bottom;"><div style="background:url(vvv.gif) no-repeat left top;"> 这里面添加描述的内容,也可以插入table等内容</div></div> xxx.gif是右下角那张图片的地址 vvv.gif那里是左上角那张图片的地址 具体应用的时候还要有些变化,可以随时咨询我

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网