Итак, я работал над своим веб-проектом, где я использовал форму поверх карусели, используя css. Он отлично работает с анимацией скольжения, но когда я добавляю класс carousel-fade, форма в центре также исчезает с каруселью, но я хочу предотвратить это. Здесь, в примере, вместо этой большой формы я использовал простой тег <div> для демонстрации. Как я могу решить эту проблему?
carousel-fade
<div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script> <script> $(function(){ $('.carousel').carousel({ interval: 1000 }) ; }) ; </script> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <style> /*CSS*/ #vcenter { position: absolute ; top: 55%; left: 50%; transform: translate(-50%, -50%); font-weight: bold ; } div#back1{ background-image: url('https://images.pexels.com/photos/11744/pexels-photo-11744.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500'); height: 100vh ; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; } div#back2{ background-image: url('https://images.pexels.com/photos/207130/pexels-photo-207130.jpeg? auto=compress&cs=tinysrgb&dpr=1&w=500'); height: 100vh ; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; } div#back3{ background-image: url('https://images.pexels.com/photos/1178683/pexels-photo-1178683.jpeg? auto=compress&cs=tinysrgb&dpr=1&w=500'); height: 100vh ; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; } </style> <body> <!-- carousel --> <div class="carousel slide carousel-fade" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <div id="back1"></div> </div> <div class="carousel-item"> <div id="back2"></div> </div> <div class="carousel-item"> <div id="back3"></div> </div> </div> </div> <div id="vcenter" class="container"> <p class="text-center text-primary">I am at center</p> </div> </body>
Добавить z-index: 1; css свойство к #vcenter ..
z-index: 1;
#vcenter
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script> <script> $(function(){ $('.carousel').carousel({ interval: 1000 }) ; }) ; </script> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <style> /*CSS*/ #vcenter { position: absolute ; top: 55%; left: 50%; transform: translate(-50%, -50%); font-weight: bold ; z-index: 1; } div#back1{ background-image: url('https://images.pexels.com/photos/11744/pexels-photo-11744.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500'); height: 100vh ; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; } div#back2{ background-image: url('https://images.pexels.com/photos/207130/pexels-photo-207130.jpeg? auto=compress&cs=tinysrgb&dpr=1&w=500'); height: 100vh ; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; } div#back3{ background-image: url('https://images.pexels.com/photos/1178683/pexels-photo-1178683.jpeg? auto=compress&cs=tinysrgb&dpr=1&w=500'); height: 100vh ; background-attachment: scroll; background-position: center; background-size: cover; background-repeat: no-repeat; } </style> <body> <!-- carousel --> <div class="carousel slide carousel-fade" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <div id="back1"></div> </div> <div class="carousel-item"> <div id="back2"></div> </div> <div class="carousel-item"> <div id="back3"></div> </div> </div> </div> <div id="vcenter" class="container"> <p class="text-center text-primary">I am at center</p> </div> </body>
Просто добавьте z-index выше 1 к #vcenter:
z-index
#vcenter { position: absolute ; top: 55%; left: 50%; transform: translate(-50%, -50%); font-weight: bold ; z-index: 9; }
Это необходимо, потому что активный слайд имеет z-index 1. Проверьте это сами. :)
1
Удалите этот класс 'carousel-fade' из первого div, и если вы хотите добавить какой-либо дополнительный класс, тогда вместо имени класса карусели по умолчанию вы использовали свое собственное имя класса.