前端小技巧之div标签连线

今天分享下”前端小技巧之div标签连线“这篇文章,文中根据实例编码详细介绍,或许对大家的编程之路有着一定的参考空间与使用价值,需要的朋友接下来跟着云南仟龙Mark一起学习一下吧。 近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高)。

往常我们画一条横线直接用标签


即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,大致推荐用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; /关键/ ​​

​​} ​​

​​ ​​

​​<​​​​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" ​​http://www.qlyl1688.com/products/yyjd.html ​​"​​​​> ​​

​​<​​​​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”; ​​

​​} ​​

​​}​​

总结

以上是云南仟龙Mark给大家介绍的所有内容,希望对大家有所帮助,如果大家有任何疑问请在脚本之家留言,如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值