gpt4 book ai didi

html - 为什么我的容器中的第二个 div 没有显示?

转载 作者:搜寻专家 更新时间:2023-10-31 08:49:40 25 4
gpt4 key购买 nike

我从 https://codepen.io/supah/pen/zZaPeE 中获取了 CSS、HTML 和 javascript 代码在我的导航栏下方输入幻灯片。我现在想在幻灯片下方使用 iframe 添加嵌入 map ,使其成为我网页上向下滚动的第三个元素,但它以在顶部被剪掉的方式出现在幻灯片下方。作为一名新编码员,我认为问题在于position:absolute,但我不知道这是否正确或如何解决。我试过使用底部,但它只会向上移动幻灯片并遮挡导航栏。我也试过将 iframe 放在幻灯片之前,结果是幻灯片向下移动,但也有剪辑。

我的 HTML 代码与 codepen 基本相同,只是替换了图片和文本。因为 iframe 也可以工作,所以我不认为 HTML 是问题所在。

   body,
html {
background: #110101;
font-family: 'Roboto', sans-serif;
overflow: hidden;
}

.split-slideshow {
display: block;
}

.slideshow {
position: absolute;
z-index: 1;
padding-top: 40px;
left: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
}
.slideshow .slider {
width: 100vw;
height: 100vw;
z-index: 2;
}
.slideshow .slider * {
outline: none;
}

.slideshow .slider .item {
height: 100vh;
width: 100vw;
position: relative;
overflow: hidden;
border: none;
}
.slideshow .slider .item .text {
display: none;
}
.slideshow .slider .item img {
min-width: 101%;
min-height: 101%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.slideshow .slick-dots {
position: fixed;
z-index: 100;
width: 40px;
height: auto;
bottom: auto;
top: 50%;
right: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: auto;
color: #fff;
display: block;
}
.slideshow .slick-dots li {
display: block;
width: 100%;
height: auto;
}
.slideshow .slick-dots li button {
position: relative;
width: 20px;
height: 15px;
text-align: center;
}
.slideshow .slick-dots li button:before {
content: '';
background: #fff;
color: #fff;
height: 2px;
width: 20px;
border-radius: 0;
position: absolute;
top: 50%;
right: 0;
left: auto;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
opacity: 0.6;
}
.slideshow .slick-dots li.slick-active button:before {
width: 40px;
opacity: 1;
}
.slideshow.slideshow-right {
left: 0;
z-index: 1;
width: 50vw;
pointer-events: none;
}
.slideshow.slideshow-right .slider {
left: 0;
position: absolute;
}

.slideshow-text {
position: absolute;
top: 56%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 100;
font-size: 80px;
width: 100vw;
text-align: center;
color: #fff;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 100;
pointer-events: none;
text-transform: uppercase;
letter-spacing: 20px;
line-height: 1.5;
}
@media (max-width: 767px) {
.slideshow-text {
font-size: 40px;
}
}

.ss{
text-decoration: none;
color: white;
border: white 2px solid;
}

很抱歉摘录了这么长的代码,我真的不知道问题到底是什么,或者是否同时出现了多个问题。我从摘录中删除了 CSS 代码,即使我知道它很可能不是罪魁祸首。

编辑:HTML:

    <body>
<div class="split-slideshow">
<div class="slideshow">
<div class="slider">
<div class="item">
<img src="img/ban1.png" />
</div>
<div class="item">
<img src="img/ban2.png" />
</div>
<div class="item">
<img src="img/ban3.png" />
</div>
<div class="item">
<img src="img/ban4.png" />
</div>
</div>
</div>
<div class="slideshow-text">
<div class="item"><a href="#" class="ss">TEXT ONE</a></div>
<div class="item"><a href="#" class="ss">TEXT TWO</a></div>
<div class="item"><a href="#" class="ss">TEXT THREE</a></div>
<div class="item"><a href="#" class="ss">TEXT FOUR</a></div>
</div>
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.js'></script>
<script src="js/splitslick/js/index.js"></script>

<div class="map">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3520.2685758805533!2d-82.46569269999999!3d28.0773494!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88c2c74f729035a1%3A0xddc564fe471ed4fa!2s14304%20Capitol%20Dr%2C%20Tampa%2C%20FL%2033613!5e0!3m2!1sen!2sus!4v1569802270070!5m2!1sen!2sus"
width="400" height="300" frameborder="0" style="border:0;" allowfullscreen=""></iframe>
</div>
</body>

另一个编辑:一个片段!此处的演示实际上与我的计算机解释的运行方式略有不同,但由于看不到 iframe 的观点成立,所以这根本不是什么大问题。

var $slider = $('.slideshow .slider'),
maxItems = $('.item', $slider).length,
dragging = false,
tracking,
rightTracking;

$sliderRight = $('.slideshow').clone().addClass('slideshow-right').appendTo($('.split-slideshow'));

rightItems = $('.item', $sliderRight).toArray();
reverseItems = rightItems.reverse();
$('.slider', $sliderRight).html('');
for (i = 0; i < maxItems; i++) {
$(reverseItems[i]).appendTo($('.slider', $sliderRight));
}

$slider.addClass('slideshow-left');
$('.slideshow-left').slick({
vertical: true,
verticalSwiping: true,
arrows: false,
infinite: true,
dots: true,
speed: 1000,
cssEase: 'cubic-bezier(0.7, 0, 0.3, 1)'
}).on('beforeChange', function(event, slick, currentSlide, nextSlide) {

if (currentSlide > nextSlide && nextSlide == 0 && currentSlide == maxItems - 1) {
$('.slideshow-right .slider').slick('slickGoTo', -1);
$('.slideshow-text').slick('slickGoTo', maxItems);
} else if (currentSlide < nextSlide && currentSlide == 0 && nextSlide == maxItems - 1) {
$('.slideshow-right .slider').slick('slickGoTo', maxItems);
$('.slideshow-text').slick('slickGoTo', -1);
} else {
$('.slideshow-right .slider').slick('slickGoTo', maxItems - 1 - nextSlide);
$('.slideshow-text').slick('slickGoTo', nextSlide);
}
}).on("mousewheel", function(event) {
event.preventDefault();
if (event.deltaX > 0 || event.deltaY < 0) {
$(this).slick('slickNext');
} else if (event.deltaX < 0 || event.deltaY > 0) {
$(this).slick('slickPrev');
};
}).on('mousedown touchstart', function(){
dragging = true;
tracking = $('.slick-track', $slider).css('transform');
tracking = parseInt(tracking.split(',')[5]);
rightTracking = $('.slideshow-right .slick-track').css('transform');
rightTracking = parseInt(rightTracking.split(',')[5]);
}).on('mousemove touchmove', function(){
if (dragging) {
newTracking = $('.slideshow-left .slick-track').css('transform');
newTracking = parseInt(newTracking.split(',')[5]);
diffTracking = newTracking - tracking;
$('.slideshow-right .slick-track').css({'transform': 'matrix(1, 0, 0, 1, 0, ' + (rightTracking - diffTracking) + ')'});
}
}).on('mouseleave touchend mouseup', function(){
dragging = false;
});

$('.slideshow-right .slider').slick({
swipe: false,
vertical: true,
arrows: false,
infinite: true,
speed: 950,
cssEase: 'cubic-bezier(0.7, 0, 0.3, 1)',
initialSlide: maxItems - 1
});
$('.slideshow-text').slick({
swipe: false,
vertical: true,
arrows: false,
infinite: true,
speed: 900,
cssEase: 'cubic-bezier(0.7, 0, 0.3, 1)'
});
body,
html {
background: #110101;
font-family: 'Roboto', sans-serif;
overflow: hidden;
}

.split-slideshow {
display: block;
}

.slideshow {
position: absolute;
z-index: 1;
padding-top: 40px;
left: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
}
.slideshow .slider {
width: 100vw;
height: 100vw;
z-index: 2;
}
.slideshow .slider * {
outline: none;
}

.slideshow .slider .item {
height: 100vh;
width: 100vw;
position: relative;
overflow: hidden;
border: none;
}
.slideshow .slider .item .text {
display: none;
}
.slideshow .slider .item img {
min-width: 101%;
min-height: 101%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.slideshow .slick-dots {
position: fixed;
z-index: 100;
width: 40px;
height: auto;
bottom: auto;
top: 50%;
right: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: auto;
color: #fff;
display: block;
}
.slideshow .slick-dots li {
display: block;
width: 100%;
height: auto;
}
.slideshow .slick-dots li button {
position: relative;
width: 20px;
height: 15px;
text-align: center;
}
.slideshow .slick-dots li button:before {
content: '';
background: #fff;
color: #fff;
height: 2px;
width: 20px;
border-radius: 0;
position: absolute;
top: 50%;
right: 0;
left: auto;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
-webkit-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
opacity: 0.6;
}
.slideshow .slick-dots li.slick-active button:before {
width: 40px;
opacity: 1;
}
.slideshow.slideshow-right {
left: 0;
z-index: 1;
width: 50vw;
pointer-events: none;
}
.slideshow.slideshow-right .slider {
left: 0;
position: absolute;
}

.slideshow-text {
position: absolute;
top: 56%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 100;
font-size: 80px;
width: 100vw;
text-align: center;
color: #fff;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 100;
pointer-events: none;
text-transform: uppercase;
letter-spacing: 20px;
line-height: 1.5;
}
@media (max-width: 767px) {
.slideshow-text {
font-size: 40px;
}
}

.ss{
text-decoration: none;
color: white;
border: white 2px solid;
}
<body>
<div class="split-slideshow">
<div class="slideshow">
<div class="slider">
<div class="item">
<img src="https://png.pngtree.com/thumb_back/fw800/background/20190222/ourmid/pngtree-blue-gradient-pattern-overlay-background-banner-image_50591.jpg" />
</div>
<div class="item">
<img src="https://png.pngtree.com/thumb_back/fw800/background/20190222/ourmid/pngtree-blue-gradient-pattern-overlay-background-banner-image_50591.jpg" />
</div>
<div class="item">
<img src="https://png.pngtree.com/thumb_back/fw800/background/20190222/ourmid/pngtree-blue-gradient-pattern-overlay-background-banner-image_50591.jpg" />
</div>
<div class="item">
<img src="https://png.pngtree.com/thumb_back/fw800/background/20190222/ourmid/pngtree-blue-gradient-pattern-overlay-background-banner-image_50591.jpg" />
</div>
</div>
</div>
<div class="slideshow-text">
<div class="item"><a href="#" class="ss">TEXT ONE</a></div>
<div class="item"><a href="#" class="ss">TEXT TWO</a></div>
<div class="item"><a href="#" class="ss">TEXT THREE</a></div>
<div class="item"><a href="#" class="ss">TEXT FOUR</a></div>
</div>
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.12/jquery.mousewheel.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.js'></script>
<script src="js/splitslick/js/index.js"></script>

<div class="map">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3520.2685758805533!2d-82.46569269999999!3d28.0773494!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88c2c74f729035a1%3A0xddc564fe471ed4fa!2s14304%20Capitol%20Dr%2C%20Tampa%2C%20FL%2033613!5e0!3m2!1sen!2sus!4v1569802270070!5m2!1sen!2sus"
width="400" height="300" frameborder="0" style="border:0;" allowfullscreen=""></iframe>
</div>
</body>

最佳答案

将 map 置顶

.map {
position : absolute;
z-index : 100;
bottom : 10px;
}

如果你想让它出现在第 3 页...

     <div class="slider">
<div class="item">
<img src="img/ban1.png" />
</div>
<div class="item">
<img src="img/ban2.png" />
</div>
<div class="item">
<img src="img/ban3.png" />

// Put your map div here

</div>
<div class="item">
<img src="img/ban4.png" />
</div>
</div>

这可以使用您提供的 codepen。

关于html - 为什么我的容器中的第二个 div 没有显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58160228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com