【问题标题】:make max-width columns fluid?使最大宽度列流动?
【发布时间】:2014-06-13 17:14:10
【问题描述】:

我有一个流畅/响应式的列布局,例如:

.row{
    float:left;
    max-width:960px;
    width:100%;
}

.column{
    float:left;
    margin:0 15px;
}

.column:first-child{
    margin-left:0;
}

.column:last-child{
    margin-right:0;
}

.column.third{
    max-width:300px;
}

html:

<div clas="row">
    <div class="column third">content</div>
    <div class="column third">content</div>
    <div class="column third">content</div>
</div>

它可以工作,但是当我调整窗口大小时,列不会调整大小,它们只会保持最大宽度,直到窗口低于最大宽度。

他们是否可以让他们在不使用百分比的情况下调整窗口大小?我想避免使用百分比宽度和边距,因为它们(很多时候)不是整个像素的实际大小,并且可能导致轻微的间隙和其他事情

JS 小提琴到目前为止它的位置: fiddle

【问题讨论】:

    标签: html css grid fluid-layout


    【解决方案1】:

    使用百分比而不是像素的分辨率。

    例如使用margin-left 10% 代替150px。它可能会起作用。

    【讨论】:

      【解决方案2】:

      您必须先在元素上定义宽度,然后才能计算最大宽度,因此只需按照以下内容将 CSS 更改为 .column.third

      .column.third{
          width:100%;
          max-width:300px;
      }
      

      Demo Fiddle

      More from MDN

      max-width CSS 属性用于设置给定的最大宽度 元素。它可以防止 width 属性的使用值 变得大于为 max-width 指定的值。

      【讨论】:

      • 感谢您提供的信息,但列仍然不流畅 - 它们保持在定义的最大宽度,直到查看窗口低于该值 - 这意味着列会破坏布局并在 300 之间相互向下- 959 像素
      • @rpsep 除非您使用 calc 或 % margins,否则您将无法完成您想要的操作
      • 不是我希望的答案,但回答了我的问题:)
      猜你喜欢
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 2013-03-17
      • 2018-07-09
      • 1970-01-01
      • 2012-08-06
      • 2013-05-14
      • 2014-11-14
      相关资源
      最近更新 更多