Heim  >  Fragen und Antworten  >  Hauptteil

Z-index funktioniert nicht mit vue-awesome-swiper in Vue + Laravel-Projekten

Ich verwende vue-awesome-swiper https://madewithvuejs.com/vue-awesome-swiper in meinem Vue + LAravel-Projekt.

Das ist das Ergebnis, das ich erreichen möchte. Der Schiebepfeil befindet sich oben und ist anklickbar.

Was ich stattdessen umsetze, ist Folgendes. Der Schiebepfeil befindet sich nicht oben und ist nicht anklickbar.

Damit vue-awesome-swiper funktioniert, muss der Code einem bestimmten Format folgen.

Dies ist der Swipe-Code, den ich verwende:

<div class="container-fluid p-0 cd-contentx">
        <div class="row mx-0 position-relative">
            <swiper class="swiper position-relative" :options="swiperOptionAuto">
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>                
                <div class="swiper-btn-prev swiper-light" slot="button-prev"></div>
                <div class="swiper-btn-next swiper-light" slot="button-next"></div>
            </swiper>
            <div class="col-12 text-center swiper-caption">
                <h4 class="title-swiper-caption">Exquisite Inspirations Room by Room</h4>
                <a>EXPLORE ALL ROOMS</a>
            </div>
        </div>
    </div>

Dies ist das Skript für den Slider:

<script>
  import { Swiper, SwiperSlide } from 'vue-awesome-swiper'
  import "swiper/css/swiper.css"
  export default {
    name: 'swiper-example-navigation',
    title: 'Navigation',
    components: {
      Swiper,
      SwiperSlide
    },
    data() {
      return {
        swiperOptionAuto: {
            slidesPerView: 'auto',
            loop: true,
            centeredSlides: true,
            navigation: {
                nextEl: '.swiper-btn-next',
                prevEl: '.swiper-btn-prev'
            }
        }
      }
    }
  }
</script>

Das sind die Stile:

.swiper-btn-next, .swiper-btn-prev {
    top: 93%;    
    position: absolute;
    z-index: 1000;
    cursor: pointer;
    padding: 6px;
}

.swiper-caption {
    z-index: 1;
    background-color: #32151a;
    opacity: 70%;
    margin-bottom: 3px;
    padding: 2rem;
    position:absolute;
    bottom:0;
    right:0;
}

Wie Sie sehen können, haben die Swiper-Buttons einen höheren Z-Index, aber sie befinden sich nicht über dem .swiper-caption-Div . Ich habe versucht, die Struktur des HTML-Codes so zu ändern, dass sich die Schiebeschaltfläche und der Schiebetitel wie folgt im selben Div befinden:

<div class="container-fluid p-0 cd-contentx">
        <div class="row mx-0 position-relative">
            <swiper class="swiper position-relative" :options="swiperOptionAuto">
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <swiper-slide class="col-border" style="width: auto">
                        <img src="/images/homepage/ambientes/ambience-1.jpg" alt="" class="img-fluid-ambientes">
                </swiper-slide>
                <div class="col-12 text-center swiper-caption">
                        <h4 class="title-swiper-caption">Exquisite Inspirations Room by Room</h4>
                        <a>EXPLORE ALL ROOMS</a>
                        <div class="swiper-btn-prev swiper-light" slot="button-prev"></div>
                        <div class="swiper-btn-next swiper-light" slot="button-next"></div>
                </div>             
             </swiper>            
        </div>
    </div>

Aber wenn ich den obigen Code verwende, erhalte ich folgendes Ergebnis. Der Schiebeknopf und der Schiebetitel sind verschwunden, wahrscheinlich weil sich der Schiebeknopf in der Vue-Awesome-Swiper-Struktur nicht in einem anderen Div befinden darf. Ich weiß nicht, warum.

Irgendwelche Vorschläge, wie man die richtigen Ergebnisse erhält?

P粉391955763P粉391955763319 Tage vor563

Antworte allen(1)Ich werde antworten

  • P粉615829742

    P粉6158297422023-12-06 10:23:24

    尝试在子元素上使用 999999 z-index 值和/或相对位置和/或绝对位置。

    Antwort
    0
  • StornierenAntwort