HTML如何在兩個(gè)div標(biāo)簽中間畫一條豎線
近日在畫一個(gè)界面的時(shí)候,遇到一個(gè)需求:在界面當(dāng)中畫一條豎線,且這條豎線在高度上需要自動(dòng)占滿整個(gè)父div(即這條豎線的高度和兩個(gè)div中較高的一個(gè)等高)。
往常我們畫一條橫線直接用標(biāo)簽<hr>即可,當(dāng)畫一條豎線的時(shí)候發(fā)現(xiàn)找不到標(biāo)簽。在網(wǎng)上查找了一下資料,大致推薦用js來(lái)做。小弟比較偏執(zhí)想用純css來(lái)做,最終找到了解決方法,下面我就來(lái)分享一下我的做法。

在兩個(gè)子div中加多一個(gè)div,并設(shè)置左(右)邊框?yàn)榭梢?jiàn),并且利用利用padding-bottom|margin-bottom正負(fù)值相抵消的原理。例如設(shè)置 padding-bottom:1600px; margin-bottom:-1600px;我們可以理解為:運(yùn)用的是padding可以撐開(kāi)外層標(biāo)簽而margin不用來(lái)?yè)伍_(kāi)外層標(biāo)簽。即當(dāng)padding-bottom時(shí)撐開(kāi)外層標(biāo)簽的高度,外層標(biāo)簽用overflow:hidden;隱藏掉多余的高,這樣可以讓高度與最高的那一欄對(duì)齊;而margin關(guān)乎模塊布局,margin可以抵消掉padding撐開(kāi)的盒子使布局能夠從內(nèi)容部分開(kāi)始。
以下是代碼:
body{
margin-top:100px;
margin-left:200px;
}
.maindiv{
width:900px;
padding:10px;
overflow:hidden; /*關(guān)鍵*/
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; /*關(guān)鍵*/
margin-bottom:-1600px; /*關(guān)鍵*/
}
<!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的思路和關(guān)鍵代碼

比較兩個(gè)子div的高度哪一高。選擇把高的那個(gè)div的相鄰邊框設(shè)為可見(jiàn)也可達(dá)到目的。
以下是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";
}
}
總結(jié)
以上所述是小編給大家介紹的HTML如何在兩個(gè)div標(biāo)簽中間畫一條豎線,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
- 這篇文章主要介紹了div+css布局中選擇使用html標(biāo)簽的方法,需要的朋友可以參考下2014-05-06
div css與xhtml css是什么意思?-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
不知道從什么時(shí)候開(kāi)始,在網(wǎng)絡(luò)上到處可以看到div css,到底什么是div css呢?難道就是傳說(shuō)中的標(biāo)準(zhǔn)重構(gòu)嗎?標(biāo)準(zhǔn)從最簡(jiǎn)單的根源來(lái)說(shuō)不是合理使用xhtml的標(biāo)簽嗎?可為什么還2008-10-17關(guān)于DIV CSS和XHTML CSS的理解-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
WEB標(biāo)準(zhǔn)是一系列標(biāo)準(zhǔn)的集合,并不是僅“DIV CSS”布局就可以實(shí)現(xiàn)。以CSS網(wǎng)頁(yè)布局只是標(biāo)準(zhǔn)的基礎(chǔ)之一。“DIV CSS”布局只是一種通俗的稱呼罷了。而2008-10-17

