【问题标题】:CSS/jQuery image grid layoutCSS/jQuery 图像网格布局
【发布时间】:2015-10-17 16:56:31
【问题描述】:

我已经阅读了很多关于使用 jQuery 甚至是唯一 CSS 的图像网格布局的主题,但我的主题与我阅读的内容有点不同,因为它们主要使用不同宽度的列。

此时我也故意不粘贴任何代码,因为我尝试了各种不同的方法,我的代码似乎不再“好”。

正如您在此页面中看到的那样:http://tinyurl.com/poxn4un - 我想要实现的是图像(在“我们的工作”部分中)展示了它们现在的状态,但底部的两个很好地位于两个边缘图像之间。

我尝试了砌体但没有成功,还尝试了 flexbox,这就是它目前正在使用的。任何帮助将不胜感激,因为这是我希望为其他项目学习的东西。

谢谢,阿德里安

【问题讨论】:

  • 我认为标准 CSS 无法为您实现这一目标。您将必须使用绝对位置或像砌体这样的工具明确地告诉块去哪里。如果您知道确切的布局,您应该能够使用绝对位置来实现它。如果它必须缩放,那么使用百分比作为绝对位置和宽度。
  • 我想避免绝对定位,以防客户想要将图像更改为不同尺寸的图像,但是我认为我最好使用绝对定位的 div 并将图像添加为居中的背景图像所以如果上传了其他图片,背景图片仍会“覆盖”。
  • 我很确定 masonry 可以做到这一点,但您可能必须使用虚拟透明图像。
  • 是的,我发现您可能希望通过限制他们上传的内容或使用“封面”来限制他们。无论哪种方式,绝对 pos 方法都应该有效?.. 您可能想让系统知道哪些图像是横向的,哪些是纵向的,以便可以相应地排列它们。

标签: jquery html css flexbox masonry


【解决方案1】:

您可以为此使用 flex-box 组合布局。

这是一个例子:

JSFiddle example

这是支持它的 CSS 和 HTML:

* {
    box-sizing: border-box;
}
.bricks {
    display: flex;
    height: 450px;
    flex-direction: row;
}
.bricks > * {
    border: solid 1px #222;
}
.sidebar {
    flex: 0 0 220px;
    background-image: url(https://placehold.it/220x450/075883);
}
.center-contain {
    flex: 0 0 402px;
    font-size: 0;
}
.center {
    display: inline-block;
    background-image: url(https://placehold.it/200x225);
    border: solid 1px #e5e5e5;
    height: 225px;
}
.center.m {
    width: 200px;
}
.center.lg {
    width: 300px;
}
.center.sm {
    width: 100px;
}
<div class='bricks'>
    <div class='sidebar sidebar-left'></div>
    <div class='center-contain'>
        <div class='center sm'></div>
        <div class='center lg'></div>
        <div class='center m'></div>
        <div class='center m'></div>
    </div>
    <div class='sidebar sidebar-right'></div>
</div>

【讨论】:

  • 嗨,乔希,感谢您的回答,演示看起来很棒,唯一的问题是网站上的中心图像大小也不同。顶行第一张图像比第二张宽,底行第二张图像比第一张宽。一些额外的课程可以解决这个问题吗?
  • 因为它只是一个display: inline-block在中心,只要它们适合整个容器的最大宽度,它应该就像把它们放在center-contain div中一样简单。
  • @Adrian – 更新说明。
猜你喜欢
  • 2013-08-12
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-24
  • 2014-01-18
  • 1970-01-01
  • 2014-06-02
相关资源
最近更新 更多