【发布时间】:2018-07-18 07:17:18
【问题描述】:
我正在处理图片库,希望图片的容器完全居中在页面上,但图片是左对齐的。
这是我想要的输出:
但是,当我尝试在容器上执行 text-align: center 时(id:gallery),我得到的图像显示如下:
我尝试使用之前的堆栈溢出问题:CSS: Center block, but align contents to the left
并将图像包装在另一个 div 中,然后将其与 display: inline-block; 和 text-align: left; 对齐,但图像似乎在整个页面上左对齐:
我可以做些什么来完成我想要的输出?
HTML
<div id="gallery">
<div id="images">
<div class="container">
<a href="images/gallery/image1.jpg" data-lightbox="mygallery">
<img src="images/gallery/image1.jpg">
<div class="overlay">
<img src="images/magnify.png">
</div>
</a>
</div>
<div class="container">
<a href="images/gallery/image2.jpg" data-lightbox="mygallery">
<img src="images/gallery/image2.jpg">
<div class="overlay">
<img src="images/magnify.png">
</div>
</a>
</div>
</div>
</div>
CSS
#gallery{
text-align: center;
}
#images{
display: inline-block;
text-align: left;
}
img{
width: 300px;
cursor: pointer;
}
.overlay {
position: absolute;
right: 0;
left: 0;
cursor: pointer;
visibility: hidden;
color: transparent;
top: 0;
bottom: 0;
width: 100%;
height: 100%;
transition: all ease-in .3s;
}
.overlay > img{
height: 50%;
width: 50%;
top: 50%;
visibility: hidden;
left: 50%;
transform: translate(-50%,-50%);
position: absolute;
}
.overlay:hover > img{
visibility: visible;
}
.container {
position: relative;
display: inline-block;
margin: 5px;
}
.container:hover .overlay {
visibility: visible;
opacity: .6;
background: black;
color: white;
}
【问题讨论】:
-
将最大宽度赋予
#gallery并添加margin:auto