首页前端开发HTMLHTML如何在两个div标签中间画一条竖线

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

时间2024-01-27 15:42:03发布访客分类HTML浏览614
导读:收集整理的这篇文章主要介绍了HTML如何在两个div标签中间画一条竖线,觉得挺不错的,现在分享给大家,也给大家做个参考。 近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这...
收集整理的这篇文章主要介绍了HTML如何在两个div标签中间画一条竖线,觉得挺不错的,现在分享给大家,也给大家做个参考。

近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高)。

  往常我们画一条横线直接用标签hr> 即可,当画一条竖线的时候发现找不到标签。在网上查找了一下资料,大致推荐用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;
  /*关键*/  }
      !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>
      

效果图:

  顺便写一下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";
    }
  }
      

总结

以上所述是小编给大家介绍的HTML如何在两个div标签中间画一条竖线,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

div标签html

若转载请注明出处: HTML如何在两个div标签中间画一条竖线
本文地址: https://pptw.com/jishu/588394.html
html中meta标签及用法详解 html文本溢出显示省略字符的两种常用解决方法

游客 回复需填写必要信息