近日在画1个页面的情况下,遇到1个要求:在页面之中画1条竖线,且这条竖线在高宽比上必须全自动占满全部父div(即这条竖线的高宽比和两个div中较高的1个等高)。
以往大家画1条横线立即用标识<hr>便可,当画1条竖线的情况下发现找不到标识。在网络上搜索了1下材料,大概强烈推荐用js来做。小弟较为固执想用纯css来做,最后寻找掌握决方式,下面我就来共享1下我的做法。
在两个子div中加多1个div,并设定左(右)边框为可见,而且运用运用padding-bottom|margin-bottom正负值抵消消的基本原理。比如设定 padding-bottom:1600px; margin-bottom:⑴600px
;大家能够了解为:应用的是padding能够撑开外层标识而margin无需来撑开外层标识。即当padding-bottom时撑开外层标识的高宽比,外层标识用overflow:hidden;掩藏掉过剩的高,这样可让高宽比与最高的那1栏对齐;而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:⑴600px; /*重要*/ } <!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>
实际效果图:
顺带写1下js的思路和重要编码
较为两个子div的高宽比哪1高。挑选把高的那个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标识正中间画1条竖线,期待对大伙儿有一定的协助,假如大伙儿有任何疑惑请给我留言,网编会立即回应大伙儿的。在此也十分谢谢大伙儿对脚本制作之家网站的适用!