明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

HTML在2個(gè)div標(biāo)簽中間畫(huà)一條豎線的代碼

[摘要]近日在畫(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)分享一下我的做法。

HTML在兩個(gè)div標(biāo)簽中間畫(huà)一條豎線的代碼

在兩個(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>

效果圖:

HTML在兩個(gè)div標(biāo)簽中間畫(huà)一條豎線的代碼

順便寫(xiě)一下js的思路和關(guān)鍵代碼

HTML在兩個(gè)div標(biāo)簽中間畫(huà)一條豎線的代碼

比較兩個(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)站。