html - 无法使具有背景图像的三个 div 响应

标签 html css twitter-bootstrap responsive-design background-image

我有三个包含背景图像的 div (background-image: url()),但我在使它们具有响应性(使用 Bootstrap )和在它们之间放置间距方面遇到了问题。我尝试了 width: 100% 和 margin: 0 auto 之类的东西,但是添加边距属性有点删除边距,如果使用边距,图像之间会失去间距,而填充当然不起作用。同样出于某种原因,我无法将宽度添加到图像的唯一高度。

http://codepen.io/skullscream-1471533661/full/jAooJB

我通常会用谷歌搜索这个,但这让我很沮丧,我什至想不出要用谷歌搜索什么。

最佳答案

Flexbox 非常适合让这类事情变得简单。 Here is a great resource for flexbox to learn from.

这里我给了父元素“display: flex”来让子元素变得灵活。我已经让 children 宽 32%(留下 1% 的差距)。我已将父级设置为“justify-content: space-between”,以告诉 flex 元素在每个元素之间留出空间。

在移动设备上,我给了父级“flex-wrap: wrap”,这样如果它们太宽,它们就会掉到下一行,而子级则为 100% 宽度,这样它们就会跨越设备的整个宽度。

此外,为了使背景图像能够与流体框一起正常工作,我为它们设置了“background-size: contain”和“background-position: center center”。理想情况下,最好为它们使用实际的图像标签。

请注意,flexbox 还没有完全的浏览器支持 (but it's still pretty good) , 你需要 add vendor prefixes as necessary.

.projects {
  display: flex;
  justify-content: space-between;
}

.projects > div {
  flex: 0 1 32%;
  background-size: contain;
  background-position: center center;
}

@media screen and (max-width: 760px) {
  .projects {
    flex-wrap: wrap;
  }
  .projects > div {
     flex: 0 1 100%;
     margin-bottom: 20px;
   }
 }

关于html - 无法使具有背景图像的三个 div 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39112873/

相关文章:

javascript - 为什么单击关闭按钮后,可忽略的警报不再显示?

html - Wordwrap 无法与 NavMenu 和 Div 一起正常工作

javascript - 在工具提示中将鼠标悬停在上面时更改背景颜色

html - 在 MailChimp 中使用自己的自定义表单

HTML 根据浏览器大小改变列

html - 具有相同样式的链接和按钮

javascript - 在 Bootstrap 面板中旋转图像

javascript - 随机化图形类图像

html - IE 9 中的 Rapheal 饼图渲染问题

php - 如何使用 Wordpress 处理这个 CSS 问题?