• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    HTML如何在两个div标签中间画一条竖线

    发布者: 涵韵 | 发布时间: 2025-8-13 01:12| 查看数: 100| 评论数: 0|帖子模式

    近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高)。
      往常我们画一条横线直接用标签<hr>即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,大致推荐用js来做。小弟比较偏执想用纯css来做,最终找到了解决方法,下面我就来分享一下我的做法。

      在两个子div中加多一个div,并设置左(右)边框为可见,并且利用利用padding-bottom|margin-bottom正负值相抵消的原理。例如设置   
    1. padding-bottom:1600px; margin-bottom:-1600px
    复制代码
    ;我们可以理解为:运用的是padding可以撑开外层标签而margin不用来撑开外层标签。即当padding-bottom时撑开外层标签的高度,外层标签用overflow:hidden;隐藏掉多余的高,这样可以让高度与最高的那一栏对齐;而margin关乎模块布局,margin可以抵消掉padding撑开的盒子使布局能够从内容部分开始。
    以下是代码:
    1. body{  
    2.     margin-top:100px;  
    3.     margin-left:200px;  
    4. }  
    5. .maindiv{  
    6.     width:900px;  
    7.     padding:10px;  
    8.     overflow:hidden; /*关键*/  
    9.     border:1px solid black;  
    10. }  
    11. .leftdiv{  
    12.     float:left;  
    13.     width:400px;  
    14.     background-color:#CC6633;  
    15. }  
    16. .rightdiv{  
    17.     float:right;  
    18.     width:400px;  
    19.     background-color:#CC66FF;  
    20. }  
    21. .centerdiv{  
    22.     float:left;  
    23.     width:50px;  
    24.     border-right: 1px dashed black;  
    25.     padding-bottom:1600px;  /*关键*/  
    26.     margin-bottom:-1600px;  /*关键*/  
    27. }  

    28. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    29. <html xmlns="http://www.w3.org/1999/xhtml">  
    30. <head>  
    31. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    32. <title>竖线画法</title>  
    33. <link href="../css/demo.css" rel="stylesheet" type="text/css" />  
    34. </head>  
    35. <body>  
    36.     <div class="maindiv">  
    37.         <div class="leftdiv"><br><br><br><br><br><br></div>  
    38.         <div class="centerdiv"></div>  
    39.         <div class="rightdiv"><br><br><br><br><br><br><br></div>  
    40.     </div>  
    41. </body>  
    42. </html>  
    复制代码
    效果图:

      顺便写一下js的思路和关键代码

    比较两个子div的高度哪一高。选择把高的那个div的相邻边框设为可见也可达到目的。
    以下是js的代码
    1. function myfun(){  
    2.   var div1=document.getElementById("content");  
    3.   var div2=document.getElementById("side");  
    4.   var h1=div1.offsetHeight;  
    5.   var h2=div2.offsetHeight;  
    6.     if(h1>h2){  
    7.         div1.style.borderRight="1px dashed #B6AEA3";  
    8.     }else{  
    9.         div2.style.borderLeft="1px dashed #B6AEA3";  
    10.   }  
    11. }  
    复制代码
    总结
    以上所述是小编给大家介绍的HTML如何在两个div标签中间画一条竖线,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表