中心响应图像
Center responsive images
我的图片不会以 margin: 0 auto;
或 padding: 0 auto;
居中
如果我在它周围的 <div>
中执行 text-align: center;
,它也不起作用。
我认为这是因为图像具有响应性。
那么如何让这些图像居中呢?
@media only screen and (min-width: 1001px) {
.gallerij {
max-width: 825px;
margin: 20px auto;
padding: 0 10px 30px 200px;
}
}
.gallerij h1 {
margin-left: 10px;
}
.gallerij div.img {
border: 1px solid #ccc;
padding: 0;
margin-top: 10px;
background-color: rgba(211, 211, 211, 0.30);
}
.gallerij div.img:hover {
border: 1px solid #000000;
}
.gallerij div.img img {
display: block;
width: auto;
max-width: 100%;
height: 200px;
padding: 3px;
margin-left: auto;
margin-right: auto;
}
.gallerij div.desc {
padding: 15px;
text-align: center;
}
.gallerij * {
box-sizing: border-box;
}
.responsive {
padding: 0 6px;
float: left;
width: 24.9999%;
max-width: 200px;
}
@media only screen and (max-width: 700px) {
.responsive {
width: 49.99999%;
}
}
@media only screen and (max-width: 500px) {
.responsive {
width: 100%;
}
}
.gallerij .clearfix:after {
content: "";
display: table;
clear: both;
margin-bottom: 30px;
}
<div class="gallerij">
<h1 class="page-titel">All articles:</h1><br>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img4.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="clearfix"></div>
</div>
HTML 看起来那么长,因为我必须做更多的图片,这样你才能明白我的意思。当您单击 "full page" 时,它们将是彼此相邻的 4 张图像,在这个小图像中(可能)是 3 张,我不知道您是否可以将其缩小,但随后它将变成 2 张图像,最后是 1 张。
当它为 3 和 4 时它居中,但当它为 2 或 1 时它不再居中。如果您能看到它没有集中在代码段上,我会知道,所以我会粘贴一些打印屏幕来显示它。
2 张图片并排:
1 张图片:
唯一的问题是它们没有居中,我找不到如何做到这一点。
您需要更多代码或信息吗?
这应该有效:
.gallerij {
width: 420px;
margin: 0 auto;
}
将您的图片包裹在一个包罗万象的 div 中,并以 flexbox 居中。
或者,从您的项目中删除 float:left
,使它们成为 display:inline-block
,然后将它们包裹在 div 和 text-align:center
中。
Flexbox 示例:
<div style="
display: flex;
flex-flow: row wrap;
justify-content: center;
">
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
...
</div>
没有 flexbox 解决方案:
<div style="text-align:center;">
<div class="responsive" style="float:none;display:inline-block;">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
...
</div>
我想这可能是您想要的?
确保移除浮动以将图像从浮动到左侧重置。
还添加了边距:0 auto;
(或者 text-align 以图像容器为中心)无论你想做什么。
@media only screen and (min-width: 1001px) {
.gallerij {
max-width: 825px;
margin: 20px auto;
padding: 0 10px 30px 200px;
}
}
.gallerij h1 {
margin-left: 10px;
}
.gallerij div.img {
border: 1px solid #ccc;
padding: 0;
margin-top: 10px;
background-color: rgba(211, 211, 211, 0.30);
}
.gallerij div.img:hover {
border: 1px solid #000000;
}
.gallerij div.img img {
display: block;
width: auto;
max-width: 100%;
height: 200px;
padding: 3px;
margin-left: auto;
margin-right: auto;
}
.gallerij div.desc {
padding: 15px;
text-align: center;
}
.gallerij * {
box-sizing: border-box;
}
.responsive {
padding: 0 6px;
float: left;
width: 24.9999%;
max-width: 200px;
}
@media only screen and (max-width: 700px) {
.responsive {
width: 49.99999%;
float: none;
margin: 0 auto;
}
}
@media only screen and (max-width: 500px) {
.responsive {
width: 100%;
}
}
.gallerij .clearfix:after {
content: "";
display: table;
clear: both;
margin-bottom: 30px;
}
<div class="gallerij">
<h1 class="page-titel">All articles:</h1><br>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img4.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="clearfix"></div>
</div>
我的图片不会以 margin: 0 auto;
或 padding: 0 auto;
居中
如果我在它周围的 <div>
中执行 text-align: center;
,它也不起作用。
我认为这是因为图像具有响应性。
那么如何让这些图像居中呢?
@media only screen and (min-width: 1001px) {
.gallerij {
max-width: 825px;
margin: 20px auto;
padding: 0 10px 30px 200px;
}
}
.gallerij h1 {
margin-left: 10px;
}
.gallerij div.img {
border: 1px solid #ccc;
padding: 0;
margin-top: 10px;
background-color: rgba(211, 211, 211, 0.30);
}
.gallerij div.img:hover {
border: 1px solid #000000;
}
.gallerij div.img img {
display: block;
width: auto;
max-width: 100%;
height: 200px;
padding: 3px;
margin-left: auto;
margin-right: auto;
}
.gallerij div.desc {
padding: 15px;
text-align: center;
}
.gallerij * {
box-sizing: border-box;
}
.responsive {
padding: 0 6px;
float: left;
width: 24.9999%;
max-width: 200px;
}
@media only screen and (max-width: 700px) {
.responsive {
width: 49.99999%;
}
}
@media only screen and (max-width: 500px) {
.responsive {
width: 100%;
}
}
.gallerij .clearfix:after {
content: "";
display: table;
clear: both;
margin-bottom: 30px;
}
<div class="gallerij">
<h1 class="page-titel">All articles:</h1><br>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img4.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="clearfix"></div>
</div>
HTML 看起来那么长,因为我必须做更多的图片,这样你才能明白我的意思。当您单击 "full page" 时,它们将是彼此相邻的 4 张图像,在这个小图像中(可能)是 3 张,我不知道您是否可以将其缩小,但随后它将变成 2 张图像,最后是 1 张。 当它为 3 和 4 时它居中,但当它为 2 或 1 时它不再居中。如果您能看到它没有集中在代码段上,我会知道,所以我会粘贴一些打印屏幕来显示它。
2 张图片并排:
1 张图片:
唯一的问题是它们没有居中,我找不到如何做到这一点。
您需要更多代码或信息吗?
这应该有效:
.gallerij {
width: 420px;
margin: 0 auto;
}
将您的图片包裹在一个包罗万象的 div 中,并以 flexbox 居中。
或者,从您的项目中删除 float:left
,使它们成为 display:inline-block
,然后将它们包裹在 div 和 text-align:center
中。
Flexbox 示例:
<div style="
display: flex;
flex-flow: row wrap;
justify-content: center;
">
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
...
</div>
没有 flexbox 解决方案:
<div style="text-align:center;">
<div class="responsive" style="float:none;display:inline-block;">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
...
</div>
我想这可能是您想要的? 确保移除浮动以将图像从浮动到左侧重置。 还添加了边距:0 auto; (或者 text-align 以图像容器为中心)无论你想做什么。
@media only screen and (min-width: 1001px) {
.gallerij {
max-width: 825px;
margin: 20px auto;
padding: 0 10px 30px 200px;
}
}
.gallerij h1 {
margin-left: 10px;
}
.gallerij div.img {
border: 1px solid #ccc;
padding: 0;
margin-top: 10px;
background-color: rgba(211, 211, 211, 0.30);
}
.gallerij div.img:hover {
border: 1px solid #000000;
}
.gallerij div.img img {
display: block;
width: auto;
max-width: 100%;
height: 200px;
padding: 3px;
margin-left: auto;
margin-right: auto;
}
.gallerij div.desc {
padding: 15px;
text-align: center;
}
.gallerij * {
box-sizing: border-box;
}
.responsive {
padding: 0 6px;
float: left;
width: 24.9999%;
max-width: 200px;
}
@media only screen and (max-width: 700px) {
.responsive {
width: 49.99999%;
float: none;
margin: 0 auto;
}
}
@media only screen and (max-width: 500px) {
.responsive {
width: 100%;
}
}
.gallerij .clearfix:after {
content: "";
display: table;
clear: both;
margin-bottom: 30px;
}
<div class="gallerij">
<h1 class="page-titel">All articles:</h1><br>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img2.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img4.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="responsive">
<div class="img">
<a href="#">
<img src="img/ERD_Easy/img3.jpg" alt="" class="article-img">
</a>
<div class="desc">Artikel naam + kleine bescrijving</div>
</div>
</div>
<div class="clearfix"></div>
</div>