簡體   English   中英

中心絕對定位<a>到絕對定位的圖像</a>

[英]center absolutely positioned <a> to absolutely positioned image

我嘗試使文本居中放置在圖像的中間,但是問題是,在嘗試調整網站大小時,我沒有成功使文本變為中心。 任何建議如何解決它,我做錯了什么?

 * {box-sizing:border-box} body {font-family: Verdana,sans-serif;margin:0} .imageSlide-container { position: relative; margin: auto; } .imageSlide { position: absolute; width: 100%; height: auto; opacity: 0; z-index: 1; -webkit-transition: opacity 2.5s; -moz-transition: opacity 2.5s; -o-transition: opacity 2.5s; transition: opacity 2.5s; } .showing { opacity: 1; z-index: 2; } .prev, .next { z-index: 3; position: absolute; top: 50%; width: auto; cursor: pointer; color: red; /*margin-top: -22px;*/ padding: 15px; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; } .next { right: 0; border-radius: 3px 0 0 3px; } .prev:hover, .next:hover { background-color: rgba(0,0,0,0.8) } @media only screen and (max-width: 300px) { .prev, .next,.text {font-size: 11px} 
 <div class="imageSlide-container"> <img class="imageSlide showing" src="https://www.w3schools.com/howto/img_nature_wide.jpg"> <img class="imageSlide" src="https://www.w3schools.com/howto/img_fjords_wide.jpg"> <img class="imageSlide" src="https://www.w3schools.com/howto/img_mountains_wide.jpg"> <a class="prev" onclick="plusSlide-button(-1)">&#10094;</a> <a class="next" onclick="plusSlide-button(1)">&#10095;</a> </div> 

這是使用您的代碼來自以下注釋的更新版本,我在.imageSlide添加了top:0 ,並解決了刪除最后一個圖像問題的滑塊。

https://jsfiddle.net/k391zyn1/3/

的HTML:

<div class="imageSlide-container">
    <img class="imageSlide showing" src="https://www.w3schools.com/howto/img_nature_wide.jpg">
    <img class="imageSlide" src="https://www.w3schools.com/howto/img_fjords_wide.jpg">
    <img class="imageSlide" src="https://www.w3schools.com/howto/img_mountains_wide.jpg">

    <a class="prev" onclick="plusSlide-button(-1)">&#10094;</a>
    <a class="next" onclick="plusSlide-button(1)">&#10095;</a>
</div>

CSS:

* {box-sizing:border-box}
body {font-family: Verdana,sans-serif;margin:0}

.imageSlide-container {
    position: relative;
    margin: auto;
}
.imageSlide {
    position: absolute;
    top:0;
    width: 100%;
    height: auto;
    opacity: 0;
    z-index: 1;

     -webkit-transition: opacity 2.5s;
    -moz-transition: opacity 2.5s;
    -o-t ransition: opacity 2.5s;
    transition: opacity 2.5s;
}
.showing {
    position: static;
    opacity: 1;
    z-index: 2;
}


.prev, .next {
    z-index: 3;
    position: absolute;
    top: 50%;
    width: auto;
    cursor: pointer;
    color: red;
    margin-top: -22px;
    padding: 15px;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;

}
.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}
.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8)
}
@media only screen and (max-width: 300px) {
    .prev, .next,.text {font-size: 11px}
}

javascript:

  var slides = document.querySelectorAll('.imageSlide');
   var currentSlide = 0;
   var slideInterval = setInterval(nextSlide,3000);

   function nextSlide(){
       slides[currentSlide].className = 'imageSlide';
       currentSlide = (currentSlide+1)%(slides.length);
       console.log('currentSlide',currentSlide);
       slides[currentSlide].className = 'imageSlide showing';
   }

我通過在.showing上添加position: static解決了它,因為您看到的圖像可能未設置為position: absolute ,所以按鈕中的代碼top: 50%可能來自某物。

 * {box-sizing:border-box} body {font-family: Verdana,sans-serif;margin:0} .imageSlide-container { position: relative; margin: auto; } .imageSlide { position: absolute; width: 100%; height: auto; opacity: 0; z-index: 1; -webkit-transition: opacity 2.5s; -moz-transition: opacity 2.5s; -o-transition: opacity 2.5s; transition: opacity 2.5s; } .showing { position: static; opacity: 1; z-index: 2; } .prev, .next { z-index: 3; position: absolute; top: 50%; width: auto; cursor: pointer; color: red; margin-top: -22px; padding: 15px; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; } .next { right: 0; border-radius: 3px 0 0 3px; } .prev:hover, .next:hover { background-color: rgba(0,0,0,0.8) } @media only screen and (max-width: 300px) { .prev, .next,.text {font-size: 11px} 
 <div class="imageSlide-container"> <img class="imageSlide showing" src="https://www.w3schools.com/howto/img_nature_wide.jpg"> <img class="imageSlide" src="https://www.w3schools.com/howto/img_fjords_wide.jpg"> <img class="imageSlide" src="https://www.w3schools.com/howto/img_mountains_wide.jpg"> <a class="prev" onclick="plusSlide-button(-1)">&#10094;</a> <a class="next" onclick="plusSlide-button(1)">&#10095;</a> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM