CSS带边框的等高div

CSS带边框的等高div,css,html,equal-heights,Css,Html,Equal Heights,目前,我正在使用负边距技术(例如),使我的水平div看起来具有相同的高度。这在一段时间内效果很好,但现在我必须给div添加边框,但是由于填充和负边距的组合,没有底部边框来拉伸背景 我用我的代码设置了一把小提琴: HTML: 我看过很多不同的解决方案,我最初选择这个解决方案的原因是因为它支持旧的IE。有没有更多的纯CSS选项可以在所有浏览器中实现相同的边框高度?我成功地获得了您想要的结果。这个解决方案是我第一次在这里看到的。唯一的问题是,您需要知道哪一列内容最多,才能使其正常工作。如果这种情况经常

目前,我正在使用负边距技术(例如),使我的水平div看起来具有相同的高度。这在一段时间内效果很好,但现在我必须给div添加边框,但是由于填充和负边距的组合,没有底部边框来拉伸背景

我用我的代码设置了一把小提琴:

HTML:


我看过很多不同的解决方案,我最初选择这个解决方案的原因是因为它支持旧的IE。有没有更多的纯CSS选项可以在所有浏览器中实现相同的边框高度?

我成功地获得了您想要的结果。这个解决方案是我第一次在这里看到的。唯一的问题是,您需要知道哪一列内容最多,才能使其正常工作。如果这种情况经常发生变化(例如:动态内容),您可能需要求助于Javascript解决方案。我已经发布了下面的代码,但您也可以在这里查看JSFIDLE:


纵队

纵队

纵队

纵队

纵队

纵队

/*CSS,宝贝*/ div.div-divs{ 背景:#090; 位置:相对位置; } div.div-div div{ 宽度:30%; 背景:#fff; 排名:0; 底部:0; 边框:1px纯红; } .一{ 左:0; 位置:绝对位置; } .最长的{ 左缘:70%; } .二{ 位置:绝对位置; 左:35%; }

希望这有帮助。

在每列中添加伪元素怎么样

.justified-divs div:after {
      content: '';
      display: block;
      width: 30%;
      height: 0;
      border-bottom: 2px solid red;
      position: absolute;
      bottom: 0;
      padding: 0 10px;
      margin-left: -10px;
}
.justized divs{
字号:0;
文本对齐:对齐;
-ms文本对齐:分布所有行;
文本对齐:分布所有行;
溢出:隐藏;
/*临时调试颜色*/
背景颜色:绿色;
位置:相对位置;
}
.合理的divs:之后{
/*拉伸div以使其具有相等的水平间距*/
内容:'';
宽度:100%;
显示:内联块;
}
.合理分区{
背景色:白色;
字体大小:14px;
垂直对齐:顶部;
显示:内联块;
文本对齐:左对齐;
*显示:内联;

/*旧的IE浏览器真的是一个问题吗?IE6和IE7几乎已经死了。@cimmanon,我同意,但客户端不=)。+1谢谢,这至少简化了我当前的代码。在将其标记为答案之前,我仍将等待社区是否提出任何其他建议,但现在就可以了。
.justified-divs {
    overflow: hidden; /* cut off the stretched background */
}

.justified-divs div {
    padding: 0 10px 9999px 10px; 
    margin-bottom: -9999px;
    *margin-bottom: -9999px;
}
<!-- HTML -->
<div class="justified-divs">
    <div class="one">
       <p>column</p>
    </div>
    <div class="two">
        <p>column</p>
        <p>column</p>
    </div>
    <div class="longest">
        <p>column</p>
        <p>column</p>
        <p>column</p>
    </div>
</div>

/* CSS, BABY */
div.justified-divs{
    background: #090;
    position: relative;
}

div.justified-divs div{
    width: 30%;
    background: #fff;
    top:0;
    bottom:0;
    border: 1px solid red;
}

.one{
   left:0;
   position: absolute;
}

.longest{
    margin-left: 70%;    
}

.two{
    position: absolute;
    left: 35%;     
}
.justified-divs div:after {
      content: '';
      display: block;
      width: 30%;
      height: 0;
      border-bottom: 2px solid red;
      position: absolute;
      bottom: 0;
      padding: 0 10px;
      margin-left: -10px;
}