【问题标题】:CSS image grid without clear columns没有清晰列的 CSS 图像网格
【发布时间】:2015-03-12 09:21:03
【问题描述】:

一位客户要求我修复他们的图像网格 CSS。虽然我认为他们只是为了让它正常运行而对 HTML 进行了很多操作,但似乎问题比我最初想象的更具技术性。

因为我想不出正确的关键字,所以谷歌也没有多大帮助。

我的问题是: 横幅是png的。如您所见,底部 3x1 横幅应与另一个 3x1 横幅的底部对齐。

如果我正在处理列(在本例中为 2),这并不是一个真正的问题,但我并非如此。由于有时一张图片会占用多列的宽度,因此两者之间没有明确的界限。

HTML:

<div class="page-banners grid-container">
        <div class="grid12-6 banner">
                <img src="3x1.png" />
        </div>
        <div class="grid12-6 banner">
                <img src="3x2.png" />
        </div>
        <div class="grid12-6 banner">
                <img src="3x1.png" />
        </div>
</div>

CSS:

.grid12-6 {
    width: 48%;
}
.grid12-1, .grid12-2, .grid12-3, .grid12-4, .grid12-5, .grid12-6, .grid12-7, .grid12-8, .grid12-9, .grid12-10, .grid12-11, .grid12-12, .grid-full, .grid-col2-sidebar, .grid-col2-main {
    display: inline;
    float: left;
    margin-left: 1%;
    margin-right: 1%;
}

变化

float:left;

display:inline-block;

没有效果,它只是让第一个 3x1 横幅垂直对齐 3x2 的基线。

答案可能相当简单。但我花了很多时间盯着它。

下面是一个示例(在 excel 中制作),如果插入了所有图像,页面可能会“看起来”。每种颜色作为横幅的占位符。

基本上,这就是我想要的,但没有 javascript。 http://desandro.github.io/masonry/demos/basic-multi-column.html

【问题讨论】:

  • 我认为问题在于这一切都是动态的,他当时无法知道 3x2.png 是否有两行高......因为我不明白。

标签: html css grid masonry


【解决方案1】:

把图片放在一列应该够了,没试过

<div class="page-banners grid-container">
    <div class="grid12-6 banner">
        <img src="3x1.png" />
        <img src="3x1.png" />
    </div>
    <div class="grid12-6 banner">
        <img src="3x2.png" />
    </div>
</div>

您可能需要调整它们之间的间距

【讨论】:

  • 网格默认有 12 列(正如您从类中看到的那样) 问题是在这 12 列中,每个组合都应该是可能的。没有明确的分栏符。
  • 是的,但是这个例子和bootstrap非常相似,它使用基本相同的网格系统,但是发生了相同的例子:jsfiddle.net/ycwuh4f3 那是因为项目一个接一个地浮动,因为没有更多的空间在没有创建新行/行的情况下,它必须创建一个
  • 这就是为什么我想知道是否有另一种方法可以在没有 inline-block 或 float 的情况下完成此操作
  • 据我所知:没有。
【解决方案2】:

这很难说,因为您没有给我们提供真实的使用示例,而是尝试将横幅上的高度设置为最低高度,并且 inages 会像这样自然溢出:

.banner{height:100px}

http://fiddle.jshell.net/gndLuqqy/

【讨论】:

  • 我编辑了这个问题,以更清楚地说明我想要实现的目标。我可以设置 1 行的高度。此外,我可以看到它在小提琴中有效。我不明白为什么较大的块既不能以 100px 裁剪,也不能只是缩小以适应 100px 的高度。我想我已经离开游戏很久了......
  • 好的,所以 img 和被赋予了 display:block;在网站上,这使它缩小。然而,在尝试添加一行后,它会中断,因为下一行在 100px 上继续。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-16
  • 2015-04-27
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-28
相关资源
最近更新 更多