PNG图像中透明切口后面的旋转木马
Carousel behind transparent cutout in PNG image
我认为遇到问题是一项简单的任务,也许只需要另一双眼睛。
我们有横幅图片,右侧是电脑显示器。 "screen" 已被剪掉,因此横幅的一部分是透明的 (.PNG)。
我需要在剪切图像后面放置一个旋转木马,这样它给人的印象是旋转木马在屏幕上"playing"。
现在我正在尝试使用 Slick Carousel 来实现这一点,但如果其他人有更好的轮播推荐,我愿意接受。
http://codepen.io/tconroy/pen/ZYRaRd
以上是我目前所拥有的代码笔——我遇到的主要问题是幻灯片在图像内容的前面(重叠图像),当它应该在图像内容的后面(播放在横幅后面,通过屏幕中的透明 "gap" 可见。
我为幻灯片使用了占位符图像,但这些是我们将使用的每张图像的实际尺寸。幻灯片中的图片应为 "centered",背景颜色可见。 (基本上图像被叠加到彩色幻灯片上)。
HTML
<div class="inner-wrap">
<header>
<div class="contain-to-grid">
<div class="inner-carousel-wrapper">
<div class="inner-carousel">
<div class="slide yellow">
<img class="" src="http://lorempixel.com/350/347/sports" alt="">
</div>
<div class="slide purple">
<img class="" src="http://lorempixel.com/416/347/abstract" alt="">
</div>
<div class="slide red">
<img class="" src="http://lorempixel.com/381/346/city" alt="">
</div>
<div class="slide blue">
<img class="" src="http://lorempixel.com/338/346/transport" alt="">
</div>
<div class="slide green">
<img class="" src="http://lorempixel.com/343/347/nature" alt="">
</div>
<div class="slide orange">
<img class="" src="http://lorempixel.com/361/347/cats" alt="">
</div>
</div> <!-- .inner-carousel -->
<img src="http://i.imgur.com/HodKXD4.png">
</div> <!-- .inner-carousel-wrapper -->
</div>
</header>
</div>
<section class="container">
Notice how the "slides" above are overlapping the ipad square (bottom right of monitor)? The slides should appear "behind" the ipad.
</section>
SCSS
$lesson-blue: #33B2E6;
$lesson-green: #26B789;
$lesson-orange: #F58231;
$lesson-yellow: #FFD648;
$lesson-red: #E43533;
$lesson-purple: #616373;
.inner-carousel-wrapper {
background: black;
}
.inner-carousel {
position: absolute;
float: right;
margin-left: 54.3%;
margin-top: 6.0%;
width: 45.7%;
height: 76%;
}
.inner-carousel .slide {
&.blue {background: $lesson-blue; }
&.green {background: $lesson-green;}
&.orange {background: $lesson-orange;}
&.yellow {background: $lesson-yellow;}
&.red {background: $lesson-red;}
&.purple {background: $lesson-purple;}
img {
margin: 0 auto;
padding: 6%;
width: 60%;
}
}
JS
$('.inner-carousel').slick({
accessibility: false,
autoplay: true,
autoplaySpeed: 2500,
arrows: false,
draggable: false,
slide: '.slide'
});
几件事一起解决这个问题:
.contain-to-grid {
/* background: #333; */
}
.inner-carousel-wrapper {
/* background: black; */
}
.inner-carousel {
z-index: -1;
}
您需要稍微调整一下 sizing/position,但它应该可以正常工作。
我不确定这是否适合您,但您可以为背景图像指定一个 id
,为其指定绝对定位,然后更改其 z-index。这样的事情应该有效:
HTML
<img id="bg" src="http://i.imgur.com/HodKXD4.png">
CSS
#bg {position:absolute;z-index:2;}
我认为遇到问题是一项简单的任务,也许只需要另一双眼睛。
我们有横幅图片,右侧是电脑显示器。 "screen" 已被剪掉,因此横幅的一部分是透明的 (.PNG)。
我需要在剪切图像后面放置一个旋转木马,这样它给人的印象是旋转木马在屏幕上"playing"。
现在我正在尝试使用 Slick Carousel 来实现这一点,但如果其他人有更好的轮播推荐,我愿意接受。
http://codepen.io/tconroy/pen/ZYRaRd
以上是我目前所拥有的代码笔——我遇到的主要问题是幻灯片在图像内容的前面(重叠图像),当它应该在图像内容的后面(播放在横幅后面,通过屏幕中的透明 "gap" 可见。
我为幻灯片使用了占位符图像,但这些是我们将使用的每张图像的实际尺寸。幻灯片中的图片应为 "centered",背景颜色可见。 (基本上图像被叠加到彩色幻灯片上)。
HTML
<div class="inner-wrap">
<header>
<div class="contain-to-grid">
<div class="inner-carousel-wrapper">
<div class="inner-carousel">
<div class="slide yellow">
<img class="" src="http://lorempixel.com/350/347/sports" alt="">
</div>
<div class="slide purple">
<img class="" src="http://lorempixel.com/416/347/abstract" alt="">
</div>
<div class="slide red">
<img class="" src="http://lorempixel.com/381/346/city" alt="">
</div>
<div class="slide blue">
<img class="" src="http://lorempixel.com/338/346/transport" alt="">
</div>
<div class="slide green">
<img class="" src="http://lorempixel.com/343/347/nature" alt="">
</div>
<div class="slide orange">
<img class="" src="http://lorempixel.com/361/347/cats" alt="">
</div>
</div> <!-- .inner-carousel -->
<img src="http://i.imgur.com/HodKXD4.png">
</div> <!-- .inner-carousel-wrapper -->
</div>
</header>
</div>
<section class="container">
Notice how the "slides" above are overlapping the ipad square (bottom right of monitor)? The slides should appear "behind" the ipad.
</section>
SCSS
$lesson-blue: #33B2E6;
$lesson-green: #26B789;
$lesson-orange: #F58231;
$lesson-yellow: #FFD648;
$lesson-red: #E43533;
$lesson-purple: #616373;
.inner-carousel-wrapper {
background: black;
}
.inner-carousel {
position: absolute;
float: right;
margin-left: 54.3%;
margin-top: 6.0%;
width: 45.7%;
height: 76%;
}
.inner-carousel .slide {
&.blue {background: $lesson-blue; }
&.green {background: $lesson-green;}
&.orange {background: $lesson-orange;}
&.yellow {background: $lesson-yellow;}
&.red {background: $lesson-red;}
&.purple {background: $lesson-purple;}
img {
margin: 0 auto;
padding: 6%;
width: 60%;
}
}
JS
$('.inner-carousel').slick({
accessibility: false,
autoplay: true,
autoplaySpeed: 2500,
arrows: false,
draggable: false,
slide: '.slide'
});
几件事一起解决这个问题:
.contain-to-grid {
/* background: #333; */
}
.inner-carousel-wrapper {
/* background: black; */
}
.inner-carousel {
z-index: -1;
}
您需要稍微调整一下 sizing/position,但它应该可以正常工作。
我不确定这是否适合您,但您可以为背景图像指定一个 id
,为其指定绝对定位,然后更改其 z-index。这样的事情应该有效:
HTML
<img id="bg" src="http://i.imgur.com/HodKXD4.png">
CSS
#bg {position:absolute;z-index:2;}