css - 如何使用百分比宽度使一行 5 个 <divs> 响应?

标签 css html width padding

我创建了一个由一行五个 float div 组成的小部件,每个包含一个图像。这是 HTML 的精简版:

<div class="panel">
  <img src="/images/image.jpg" height="160" width="160">
</div>
<div class="panel">
  <img src="/images/image.jpg" height="160" width="160">
</div>
<div class="panel">
  <img src="/images/image.jpg" height="160" width="160">
</div>
<div class="panel">
  <img src="/images/image.jpg" height="160" width="160">
</div>
<div class="panel">
  <img src="/images/image.jpg" height="160" width="160">
</div>

这是 CSS 的精简版:

.panel {
display: inline-block;
float: left;
height: 160px;
position: relative;
margin: 8px 25px 0 0;
width: 160px;
}

五个 div 位于一个容器中(原始宽度为 940px - 当屏幕宽度减小到 940px 以下时更改为 width: auto),左右填充(每边 20 像素)。

我已经使用媒体查询创建了一个响应式样式表,但我现在想让 float 的 div 在宽度减小时适合屏幕。

有人知道我该怎么做吗?

最佳答案

我不确定你在找什么,但也许只使用 calc() 是处理这一切的最佳方式。

.panel {
  float: left;
  height: 160px;
  width: calc(20% - 25px);
  margin: 8px 25px 0 0;  
}

除默认的 static 位置外,您不需要任何其他位置。当您 float 一个元素时,将显示设置为 inline-block 也没有任何意义,因为它更像是一个 block 元素。

对于容器你可能会做这样的事情:

.container {
  width: 940px;
  max-width: 100%;
}

所以这将是一个响应式的东西

您可以在此处查看calc() 兼容性:http://caniuse.com/calc

关于css - 如何使用百分比宽度使一行 5 个 <divs> 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16959670/

相关文章:

android - 在 Android 中用两行四个按钮填满整个屏幕

javascript - jQuery 进度条未正确填充

css - Bootstrap : "success", "warning"和 "danger"透明问题

html - 将多个轮播元素合并到 flex 网格中

javascript - 如何检索动态创建的元素的偏移量?

css - 50% 的并排盒子,但想将固定大小的盒子放在每个盒子的中央?

javascript - 如何调整字体大小和重排文本以适应带有 html 标签的父 div 的宽度和高度

html - 最后一个元素的 margin-bottom 不会拉伸(stretch)它的容器

javascript - 导航离开然后返回时, polymer 按钮/文本变粗

css - ul 在 nowrap 文本后不增加宽度