Reputation: 1273
I'm using LightGallery to make an image gallery and everything's working fine so far but I want to align the entire grid of thumbnails to the center of the page. Right now is just stuck to the left side.Here's the code I used:
<div class="demo-gallery">
<ul id="lightgallery" class="list-unstyled row">
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 480, img/1.jpg 480, img/3.jpg 800" data-src="img/alba-iulia.jpg" data-sub-html="">
<a href="">
<img class="img-responsive" src="img/alba-iulia.jpg">
</a>
</li>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 480, img/1.jpg 480, img/3.jpg 800" data-src="img/3.jpg" data-sub-html="">
<a href="">
<img class="img-responsive" src="img/3.jpg">
</a>
</li>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 480, img/1.jpg 480, img/3.jpg 800" data-src="img/1.jpg" data-sub-html="">
<a href="">
<img class="img-responsive" src="img/1.jpg">
</a>
</li>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 375, img/1.jpg 480, img/3.jpg 800" data-src="img/alba.jpg" data-sub-html="">
<a href="">
<img class="img-responsive" src="img/alba.jpg">
</a>
</li>
</ul>
</div>
EDIT: Here's the CSS:
.demo-gallery{
display: inline-block;
margin-left: auto;
margin-right: auto;
width: 1120px;
margin-top: 50px;
}
.demo-gallery > ul {
margin-bottom: 0;
}
.demo-gallery > ul > li {
float: left;
margin-bottom: 15px;
margin-right: 0px;
width: 280px;
}
.demo-gallery > ul > li a {
border: 3px solid #FFF;
border-radius: 3px;
display: block;
overflow: hidden;
position: relative;
float: left;
text-align: center;
}
.demo-gallery > ul > li a > img {
-webkit-transition: -webkit-transform 0.15s ease 0s;
-moz-transition: -moz-transform 0.15s ease 0s;
-o-transition: -o-transform 0.15s ease 0s;
transition: transform 0.15s ease 0s;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
height: 100%;
width: 100%;
}
.demo-gallery > ul > li a:hover > img {
-webkit-transform: scale3d(1.1, 1.1, 1.1);
transform: scale3d(1.1, 1.1, 1.1);
}
.demo-gallery > ul > li a:hover .demo-gallery-poster > img {
opacity: 1;
}
.demo-gallery > ul > li a .demo-gallery-poster {
background-color: rgba(0, 0, 0, 0.1);
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
-webkit-transition: background-color 0.15s ease 0s;
-o-transition: background-color 0.15s ease 0s;
transition: background-color 0.15s ease 0s;
}
.demo-gallery > ul > li a .demo-gallery-poster > img {
left: 50%;
margin-left: -10px;
margin-top: -10px;
opacity: 0;
position: absolute;
top: 50%;
-webkit-transition: opacity 0.3s ease 0s;
-o-transition: opacity 0.3s ease 0s;
transition: opacity 0.3s ease 0s;
}
.demo-gallery > ul > li a:hover .demo-gallery-poster {
background-color: rgba(0, 0, 0, 0.5);
}
.demo-gallery .justified-gallery > a > img {
-webkit-transition: -webkit-transform 0.15s ease 0s;
-moz-transition: -moz-transform 0.15s ease 0s;
-o-transition: -o-transform 0.15s ease 0s;
transition: transform 0.15s ease 0s;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
height: 100%;
width: 100%;
}
.demo-gallery .justified-gallery > a:hover > img {
-webkit-transform: scale3d(1.1, 1.1, 1.1);
transform: scale3d(1.1, 1.1, 1.1);
}
.demo-gallery .justified-gallery > a:hover .demo-gallery-poster > img {
opacity: 1;
}
.demo-gallery .justified-gallery > a .demo-gallery-poster {
background-color: rgba(0, 0, 0, 0.1);
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
-webkit-transition: background-color 0.15s ease 0s;
-o-transition: background-color 0.15s ease 0s;
transition: background-color 0.15s ease 0s;
}
.demo-gallery .justified-gallery > a .demo-gallery-poster > img {
left: 50%;
margin-left: -10px;
margin-top: -10px;
opacity: 0;
position: absolute;
top: 50%;
-webkit-transition: opacity 0.3s ease 0s;
-o-transition: opacity 0.3s ease 0s;
transition: opacity 0.3s ease 0s;
}
.demo-gallery .justified-gallery > a:hover .demo-gallery-poster {
background-color: rgba(0, 0, 0, 0.5);
}
.demo-gallery .video .demo-gallery-poster img {
height: 48px;
margin-left: -24px;
margin-top: -24px;
opacity: 0.8;
width: 48px;
}
.demo-gallery.dark > ul > li a {
border: 3px solid #04070a;
}
.home .demo-gallery {
padding-bottom: 80px;
}
I read on a post from that I should use margin-left: auto and margin-right: auto ( I used it on the ul but doesn't seem to work.) Thanks for your help!
Upvotes: 0
Views: 1738
Reputation: 51
Remove col-xs-6 col-sm-4 col-md-3
classes and wrap .demo-gallery
div inside other div whose text-align
is center.
<div style="text-align:center">
<div class="demo-gallery">
....
</div>
</div>
Upvotes: 0
Reputation: 18154
You read right. You can center align a block element like div
by applying margin-left: auto;
and margin-right: auto;
or in most cases just margin: auto;
. But you should apply it for a specific width div
. So in your case:
ul
. which is not gonna work, since you have 100%
div
wrapping it.div
, which will have a 100%
width by default:You could do this:
.demo-gallery {
width: 1120px;
margin: auto;
display: block; //the parent should be a block element
}
Here's a pen in action: http://codepen.io/asim-coder/pen/jrPMPX
I added background-color
and changed the width
for simplifying concept.
I suppose you are using BootStrap, (since you are using list-unstyled
, row
, col-*-*
classes) then you don't need to spin your head around it. Simply use the classes which BootStrap provides.
Like:
<div class="demo-gallery container">
<ul id="lightgallery" class="list-unstyled row">
<li class="col-xs-6 col-sm-4 col-md-3">
<a href="">
<img class="img-responsive" src="img/alba-iulia.jpg">
</a>
</li>
....
</div> <!-- end container -->
Upvotes: 0
Reputation: 665
Replace your code with below code, will solve your problem:
<div class="demo-gallery">
<ul id="lightgallery" class="list-unstyled row">
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 480, img/1.jpg 480, img/3.jpg 800" data-src="img/alba-iulia.jpg" data-sub-html="">
<a href="">
<img class="img-responsive text-center" src="img/alba-iulia.jpg">
</a>
</li>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 480, img/1.jpg 480, img/3.jpg 800" data-src="img/3.jpg" data-sub-html="">
<a href="">
<img class="img-responsive text-center" src="img/3.jpg">
</a>
</li>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 480, img/1.jpg 480, img/3.jpg 800" data-src="img/1.jpg" data-sub-html="">
<a href="">
<img class="img-responsive text-center" src="img/1.jpg">
</a>
</li>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="img/alba-iulia.jpg 375, img/1.jpg 480, img/3.jpg 800" data-src="img/alba.jpg" data-sub-html="">
<a href="">
<img class="img-responsive text-center" src="img/alba.jpg">
</a>
</li>
</ul>
</div>
Upvotes: 0