My carousel owl contains photographs of various widths and heights. How to align them in the middle - both horizontally and vertically?
$("#owl-example").owlCarousel({ navigation: true });
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.theme.min.css"> <div id="owl-example" class="owl-carousel"> <div><img src="//placehold.it/120x120/69c/fff/" alt=""></div> <div><img src="//placehold.it/200x200/c69/fff/" alt=""></div> <div><img src="//placehold.it/160x160/9c6/fff/" alt=""></div> <div><img src="//placehold.it/240x240/fc6/fff/" alt=""></div> <div><img src="//placehold.it/160x160/9c6/fff/" alt=""></div> <div><img src="//placehold.it/200x200/c69/fff/" alt=""></div> <div><img src="//placehold.it/120x120/69c/fff/" alt=""></div> </div> <script src="//code.jquery.com/jquery-1.12.4.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.js"></script>
Owl Carousel creates additional blocks in your layout. To correctly add CSS properties, you need to work with this HTML structure:
<div id="owl-demo" class="owl-carousel owl-theme"> <div class="owl-wrapper-outer"> <div class="owl-wrapper"> <div class="owl-item"> <div> <img src="" alt=""> </div> </div> <div class="owl-item"> <div> <img src="" alt=""> </div> </div> </div> </div> </div>
In addition, the carousel adds an attribute styleto all blocks. For example, a block with a class .owl-wrappergets a property displaywith a value block. Therefore, you should use the declaration !importantin your CSS.
style
.owl-wrapper
display
block
!important
, text-align: center; .owl-item > div.
text-align: center;
.owl-item > div
, . float.
float
.owl-centered. :
.owl-centered
https://codepen.io/glebkema/pen/BzgZxX
@import url('//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.css'); @import url('//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.theme.min.css'); .owl-centered .owl-wrapper { display: table !important; } .owl-centered .owl-item { display: table-cell; float: none; vertical-align: middle; } .owl-centered .owl-item > div { text-align: center; }
<div id="owl-example" class="owl-carousel owl-centered"> <div><img src="//placehold.it/120x120/69c/fff/" alt=""></div> <div><img src="//placehold.it/200x200/c69/fff/" alt=""></div> <div><img src="//placehold.it/160x160/9c6/fff/" alt=""></div> <div><img src="//placehold.it/240x240/fc6/fff/" alt=""></div> <div><img src="//placehold.it/160x160/9c6/fff/" alt=""></div> <div><img src="//placehold.it/200x200/c69/fff/" alt=""></div> <div><img src="//placehold.it/120x120/69c/fff/" alt=""></div> </div> <script src="//code.jquery.com/jquery-1.12.4.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.js"></script>
2.1.1 CSS3 Flexbox :
.owl-carousel .owl-stage { display: flex; align-items: center; }
. :
$( document ).ready( function() { $( '.owl-carousel' ).owlCarousel({ autoplay: true, margin: 2, loop: true, responsive: { 0: { items:1 }, 200: { items:3 }, 500: { items:4 } } }); });
.owl-carousel .owl-stage { display: flex; align-items: center; } .owl-carousel .caption { text-align: center; }
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/assets/owl.carousel.min.css" rel="stylesheet"/> <div class="owl-carousel"> <div class="item"> <img src="http://lorempicsum.com/up/350/200/1"> <div class="caption">Caption 1</div> </div> <div class="item"> <img src="http://lorempicsum.com/up/255/200/2"> <div class="caption">Caption 2</div> </div> <div class="item"> <img src="http://lorempicsum.com/up/627/200/3"> <div class="caption">Caption 3</div> </div> <div class="item"> <img src="http://lorempicsum.com/up/627/300/4"> <div class="caption">Caption 4</div> </div> <div class="item"> <img src="http://lorempicsum.com/up/627/400/5"> <div class="caption">Caption 5</div> </div> <div class="item"> <img src="http://lorempicsum.com/up/255/200/6"> <div class="caption">Caption 6</div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.2.1/owl.carousel.min.js"></script>
:
@media (max-width:500px) { .owl-carousel .owl-item { text-align:center; } .owl-carousel .item { float: none; display: inline-block; } }
HTML, , : : - , , :
, divs . , table table-cell block inline-block
table
table-cell
inline-block
.owl-stage{ display: block !important; } .owl-item{ display: inline-block; float: none; vertical-align: middle; } .item{ text-align: center; }
Result (all images have different sizes):
Source: https://habr.com/ru/post/1652595/More articles:Problem with the release of Sencha extjs with lame version 52 + Vb.net - vb.netMarshalJSON is not called - jsonSeveral CSS classes do not work - cssAngular 2 Asynchronous pipe does not display new values ββwith Observable - angularLogstash does not start as a service - logstashhttps://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=ru&sp=nmt4&tl=en&u=https://fooobar.com/questions/1652596/how-to-minimize-number-of-classes-to-modify-when-interface-is-changed&usg=ALkJrhiMlcPWn-zs8BwiAFC7zUyg7rETywHow can I fix this border image with CSS error? - cssParameters in Powershell_ISE from the command line - command-linestd :: async for Windows and Solaris 10 - multithreadingDisable form group input using javascript - javascriptAll Articles