HTML在2個(gè)div標(biāo)簽中間畫(huà)一條豎線的代碼
發(fā)表時(shí)間:2023-09-16 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]近日在畫(huà)一個(gè)界面的時(shí)候,遇到一個(gè)需求:在界面當(dāng)中畫(huà)一條豎線,且這條豎線在高度上需要自動(dòng)占滿整個(gè)父p(即這條豎線的高度和兩個(gè)p中較高的一個(gè)等高)。往常我們畫(huà)一條橫線直接用標(biāo)簽<hr>即可,當(dāng)畫(huà)一條豎線的時(shí)候發(fā)現(xiàn)找不到標(biāo)簽。在網(wǎng)上查找了一下資料,大致推薦用js來(lái)做。小弟比較偏執(zhí)想用純css...
近日在畫(huà)一個(gè)界面的時(shí)候,遇到一個(gè)需求:在界面當(dāng)中畫(huà)一條豎線,且這條豎線在高度上需要自動(dòng)占滿整個(gè)父p(即這條豎線的高度和兩個(gè)p中較高的一個(gè)等高)。
往常我們畫(huà)一條橫線直接用標(biāo)簽<hr>即可,當(dāng)畫(huà)一條豎線的時(shí)候發(fā)現(xiàn)找不到標(biāo)簽。在網(wǎng)上查找了一下資料,大致推薦用js來(lái)做。小弟比較偏執(zhí)想用純css來(lái)做,最終找到了解決方法,下面我就來(lái)分享一下我的做法。
在兩個(gè)子p中加多一個(gè)p,并設(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;
}
.mainp{
width:900px;
padding:10px;
overflow:hidden; /*關(guān)鍵*/
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; /*關(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>豎線畫(huà)法</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>
效果圖:
順便寫(xiě)一下js的思路和關(guān)鍵代碼
比較兩個(gè)子p的高度哪一高。選擇把高的那個(gè)p的相鄰邊框設(shè)為可見(jiàn)也可達(dá)到目的。
以下是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";
}
}
相關(guān)推薦:
html中如何讓DIV標(biāo)簽中的P標(biāo)簽水平和垂直都居中?
html小技巧之td,div標(biāo)簽里內(nèi)容不換行
js 為label標(biāo)簽和div標(biāo)簽賦值的方法
以上就是HTML在兩個(gè)div標(biāo)簽中間畫(huà)一條豎線的代碼的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語(yǔ),涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。