美文网首页
高效-2多列等高

高效-2多列等高

作者: 钱学敏 | 来源:发表于2018-05-19 22:56 被阅读0次

多列等高

方案一:设置一个很大的padding 再来一个很大的负的margin值矫正回去

<pre>多列等高</pre>  

<div class="wrapper">
  <div>测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高</div>
   <div>测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高</div>
  <div>测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高</div>
  <div>测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高测试多行等高</div>
</div>

<style>
  .wrapper{
    overflow: hidden;
  }
  .wrapper > div{
    width: 23%;
    float: left;
    border: 1px solid #ccc;
    background: lightgreen;
    /*关键代码*/
    padding-bottom: 9999px;
    margin-bottom: -9960px;
  }
</style>
image.png

这种方案虽然对齐了,但是底部的border没有了,设置的圆角也没生效。

方案二:借助table自适应的特性

.wrapper > div{
  border: 1px solid #ccc;
  background: lightgreen;
  display: table-cell;
  width: 20000px; /*设置很大的宽度,table自动平分宽度*/
  border-radius: 10px;/*这里的圆角就正常了*/
}
image.png

这种方法还可以借助媒体查询实现响应式,小于500px时每列占一行。

    @media (max-width:500px) {
      .wrapper {
        display: block;
      }
      .wrapper>div {
        display: block;
        width: 100%;
      }
    }
03.gif

如果想实现在1024px的设备上一行显示两列,可以在第二个和第三个中间加个tr

    <div class="wrapper">
      <div>column 1</div>
      <div>column 2</div>
    <!-- 关键代码 start -->
      <span class="tr"></span>
    <!-- 关键代码  end-->
      <div>column 3</div>
      <div>column 4</div>
    </div>

    <style>
    .tr{
        display: none;
    }
    @media (max-width:1024px) and (min-width: 501px) {
      .tr{
        display: table-row;
      }
    }
    </style>
03.gif

但是这里有个小问题:中屏拉到大屏时 tr的display:none已经没有作用了,因为table的布局已经计算好了。但是一般不用考虑这种拉伸范围很大的情况,正常的刷新页面是可以的,如果真要解决则需要借助js

相关文章

  • 高效-2多列等高

    多列等高 方案一:设置一个很大的padding 再来一个很大的负的margin值矫正回去 这种方案虽然对齐了,但是...

  • 多列等高布局

    flex布局 table

  • 多列等高布局

    之所以会出现多列等高布局,是因为在网页设计中可能会出现以下状况。 出现这种情况的原因也很简单,就是各个 div 标...

  • 多列等高实现

    需求 无法提前获知最高列的长度时实现多列等高对齐的方法 兼容最好的方法--padding补偿法 原理:用paddi...

  • jQuery设置多列等高

  • 页面架构

    布局解决方案 水平居中布局 垂直居中布局 水平垂直都居中的布局 多列布局 多列等分布局 多列等高布局 在多列布局的...

  • 如何实现多列等高布局?

    其实现原理就是给每一列添加相对应用的容器,并进行相互嵌套,并在每个容器中设置背景色。这里需要提醒大家你有多少列就需...

  • 前端面试每日 3+1 —— 第354天

    今天的知识点 (2020.04.04) —— 第354天 (我也要出题) [html] 列举几种多列等高布局的方法...

  • CSS 3列(等高文本列)

    css 3可以创建等高文本列,通过column-count、column-width、column-gap属性实现...

  • 2018-08-30日前端面试题

    点击查看源码 1、css实现两列布局 1.右侧固定宽度,左侧自适应屏幕宽度;2.左右两列等高布局;3.左右两列的高...

网友评论

      本文标题:高效-2多列等高

      本文链接:https://www.haomeiwen.com/subject/nutzdftx.html