如何使我的图像标题网格在不同大小的文本内容下正确浮动
How to keep my image caption grid floating correctly with different sized text content
我这里有一个问题,如果标题太长,如果它超出一行,就会导致后面的元素不能正确浮动。我想拥有它,这样无论在标题的内容上,下面的行都调整为space。我已经看到 another 站点实现了非常相似的东西。
我想不出我还需要什么。
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=10=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
float: left;
display: block
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
CSS 技巧说:
The Overflow Method relies on setting the overflow CSS property on a parent element. If this property is set to auto or hidden on the parent element, the parent will expand to contain the floats
读到这里,我设置了容器div.project-thumbnail
,但没有改变:
.project-thumbnail {
overflow: auto
}
编辑
正如评论所建议的那样,为标题 div div.thumb
设置高度将使其能够正确浮动。一个固定的高度会切断对它来说太大的内容。将 overflow: auto
添加到此 div 只会向其添加一个滚动条,这不是我想要的。
编辑
此站点 here 具有类似的系统。有宽度的项目是浮动的,没有行分隔符,但是如果 div 中的内容超出几行,div 的底部将调整,整齐地对齐下一行。
溢出与此无关。你的div高度不一样...为了正确显示它们,请设置描述容器的高度。
已更新,感谢@user10089632 的评论
要使用 float
获得您想要的布局,请尝试将 clear
属性 添加到每 4 个 .column
。
例子
.column:nth-child(3n + 4) {
clear: both;
}
这将从第 4 个 .column
开始,每第 3 个 .column
作为目标(您不需要将规则应用于示例中的第一个 div)
如果您需要将网格更改为 4 x 4 或其他,您可以调整 nth-child(n)
。
您可以将此代码应用于 article
,具体取决于您网站的其余部分。
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=11=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
float: left;
display: block
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
.column:nth-child(4) {
clear: both;
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
第一个解决方案
这就是您要查找的内容,您只需向 css、
添加一条规则
.row article:nth-child(3n+1){
clear: left;
}
.row article:nth-child(3n+1){
clear: left;
}
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=11=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
float: left;
display: block
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
第二种解决方案:内联块显示
流畅、可扩展、易于掌握
我更喜欢这个解决方案,使用 display:inline-block
,它很简单,现在适用于 IE。唯一的缺点是标记之间的空白(我选择在此处删除它们)。
我刚刚冒昧地修改了您的代码,以便您可以找到修改的内容。
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=13=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
display: inline-block;
vertical-align: top;
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
第三种方案:网格布局
很酷很强大的现代CSS功能,你可以得到更多info here
body {
padding: 0;
margin: 0 auto;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.constraint {
/*! padding-right: 2%; */
/*! padding-left: 2%; */
margin-right: auto;
margin-left: auto;
width: 100%;
}
.col-4 {
/*! width: 33.33333333% */
}
.columns {
padding-left: 25px;
padding-right: 25px;
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
这一切似乎代码太多了。
我使用 Flexbox 对其进行了简化(如下所示)。
这是我所做的:
对于.center
我在包含网格容器的 div 中添加了一个名为 "center" 的 class。它基本上使您的部分居中。
部分
该部分是所有网格元素的容器。我添加了 display、flex-direction、flex-wrap 和 width。您不必声明所有这些(显示除外),因为其中一些是使用 display:flex 附带的默认值。我鼓励您在控制台中对其进行全面测试。
文章
您需要在这里声明宽度和边距。我要声明 4 列。
以下是如何使用 2 列进行计算的示例:
由于我的保证金是 1.66%,我的总保证金 space 是 6.64%
我是怎么得出这个数字的?第一个网格元素在右侧和左侧都有边距。第二个网格元素在右侧和左侧都有边距。所以,1.66% X 4
然后我用 100 减去 6.64,得到 93.36。我 divide 分成两列,因为我有两列。所以每个列宽将为 46.68%。 */
如果要添加填充,则需要声明以下内容:
article { box-sizing:border-box; }
这将防止您的列损坏。
CSS Tricks 有一个关于如何使用 flexbox 的很棒的教程:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
.center {
display: flex;
flex-direction: column;
align-items: center;
}
section {
display:flex;
flex-direction:row;
flex-wrap:wrap;
width:80%;
}
article {
background: grey;
width:21.68%;
margin: 1.66%;
}
img {
max-width:100%;
}
<div class="center">
<section>
<!-- Project previews -->
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</section>
</div>
你必须给 .project-thumbnail 静态高度
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden;
height: 365px;
}
我这里有一个问题,如果标题太长,如果它超出一行,就会导致后面的元素不能正确浮动。我想拥有它,这样无论在标题的内容上,下面的行都调整为space。我已经看到 another 站点实现了非常相似的东西。
我想不出我还需要什么。
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=10=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
float: left;
display: block
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
CSS 技巧说:
The Overflow Method relies on setting the overflow CSS property on a parent element. If this property is set to auto or hidden on the parent element, the parent will expand to contain the floats
读到这里,我设置了容器div.project-thumbnail
,但没有改变:
.project-thumbnail {
overflow: auto
}
编辑
正如评论所建议的那样,为标题 div div.thumb
设置高度将使其能够正确浮动。一个固定的高度会切断对它来说太大的内容。将 overflow: auto
添加到此 div 只会向其添加一个滚动条,这不是我想要的。
编辑
此站点 here 具有类似的系统。有宽度的项目是浮动的,没有行分隔符,但是如果 div 中的内容超出几行,div 的底部将调整,整齐地对齐下一行。
溢出与此无关。你的div高度不一样...为了正确显示它们,请设置描述容器的高度。
已更新,感谢@user10089632 的评论
要使用 float
获得您想要的布局,请尝试将 clear
属性 添加到每 4 个 .column
。
例子
.column:nth-child(3n + 4) {
clear: both;
}
这将从第 4 个 .column
开始,每第 3 个 .column
作为目标(您不需要将规则应用于示例中的第一个 div)
如果您需要将网格更改为 4 x 4 或其他,您可以调整 nth-child(n)
。
您可以将此代码应用于 article
,具体取决于您网站的其余部分。
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=11=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
float: left;
display: block
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
.column:nth-child(4) {
clear: both;
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
第一个解决方案
这就是您要查找的内容,您只需向 css、
添加一条规则.row article:nth-child(3n+1){
clear: left;
}
.row article:nth-child(3n+1){
clear: left;
}
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=11=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
float: left;
display: block
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
第二种解决方案:内联块显示
流畅、可扩展、易于掌握
我更喜欢这个解决方案,使用 display:inline-block
,它很简单,现在适用于 IE。唯一的缺点是标记之间的空白(我选择在此处删除它们)。
我刚刚冒昧地修改了您的代码,以便您可以找到修改的内容。
body {
padding: 0;
margin: 0 auto;
}
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after {
content: '[=13=]20';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.container:after, .row:after, .clearfix:after, .group:after {
clear: both;
}
.row, .clearfix, .group {
zoom: 1;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.column {
display: inline-block;
vertical-align: top;
}
.constraint {
padding-right: 2%;
padding-left: 2%;
margin-right: auto;
margin-left: auto;
width: 100%
}
.col-4 {
width: 33.33333333%
}
.columns {
padding-left: 25px;
padding-right: 25px
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article><article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
第三种方案:网格布局
很酷很强大的现代CSS功能,你可以得到更多info here
body {
padding: 0;
margin: 0 auto;
}
body, html {
height: 100%;
}
body {
color: #000;
background: #FFF
}
.constraint {
/*! padding-right: 2%; */
/*! padding-left: 2%; */
margin-right: auto;
margin-left: auto;
width: 100%;
}
.col-4 {
/*! width: 33.33333333% */
}
.columns {
padding-left: 25px;
padding-right: 25px;
}
.row {
max-width: 100%;
margin: 0px auto;
width: auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.picture {
height: 0;
position: relative;
background-size: cover;
background-position: center center;
background-repeat: no-repeat
}
.thumb,
.thumb-title,
.thumb-description {
margin-bottom: 1rem
}
.picture.portrait {
padding-bottom: 65%
}
section#projects .picture.portrait {
padding-bottom: 75%;
background-position: inherit
}
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
}
<div class="constraint">
<section id="projects">
<!-- Row -->
<div class="row">
<!-- Project previews -->
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article class="project-thumbnail col-4 columns column">
<div class="picture portrait" style="background-image:url('http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg'); background-position: 50%"> </div>
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</div>
</section>
</div>
这一切似乎代码太多了。
我使用 Flexbox 对其进行了简化(如下所示)。
这是我所做的:
对于.center 我在包含网格容器的 div 中添加了一个名为 "center" 的 class。它基本上使您的部分居中。
部分 该部分是所有网格元素的容器。我添加了 display、flex-direction、flex-wrap 和 width。您不必声明所有这些(显示除外),因为其中一些是使用 display:flex 附带的默认值。我鼓励您在控制台中对其进行全面测试。
文章 您需要在这里声明宽度和边距。我要声明 4 列。 以下是如何使用 2 列进行计算的示例:
由于我的保证金是 1.66%,我的总保证金 space 是 6.64% 我是怎么得出这个数字的?第一个网格元素在右侧和左侧都有边距。第二个网格元素在右侧和左侧都有边距。所以,1.66% X 4
然后我用 100 减去 6.64,得到 93.36。我 divide 分成两列,因为我有两列。所以每个列宽将为 46.68%。 */
如果要添加填充,则需要声明以下内容:
article { box-sizing:border-box; }
这将防止您的列损坏。
CSS Tricks 有一个关于如何使用 flexbox 的很棒的教程:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
.center {
display: flex;
flex-direction: column;
align-items: center;
}
section {
display:flex;
flex-direction:row;
flex-wrap:wrap;
width:80%;
}
article {
background: grey;
width:21.68%;
margin: 1.66%;
}
img {
max-width:100%;
}
<div class="center">
<section>
<!-- Project previews -->
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview with some content that makes it extend onto another line.</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
<article>
<img src="http://images.all-free-download.com/images/graphiclarge/hd_sky_picture_05_hd_pictures_166299.jpg" alt="image">
<div class="thumb">
<h3 class="thumb-title">Box One</h3>
<p class="thumb-description">Item preview</p>
</div>
</article>
</section>
</div>
你必须给 .project-thumbnail 静态高度
.project-thumbnail {
margin-bottom: 80px;
margin-bottom: 3rem;
overflow: hidden;
height: 365px;
}