When I right-click on the carousel image and click "save", the downloaded image is the one before the current one. What do I need to change in the code to be able to save the current image? It seems so simple, but I can't figure out what it is.
.carousel {
position: relative;
box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.64);
margin-top: 26px;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-open:checked .carousel-item {
position: static;
opacity: 100;
}
.carousel-item {
position: absolute;
opacity: 0;
-webkit-transition: opacity 0.6s ease-out;
transition: opacity 0.6s ease-out;
}
.carousel-item img {
display: block;
height: auto;
max-width: 100%;
}
.carousel-control {
background: rgba(0, 0, 0, 0.28);
border-radius: 50%;
color: #fff;
cursor: pointer;
display: none;
font-size: 40px;
height: 40px;
line-height: 35px;
position: absolute;
top: 50%;
-webkit-transform: translate(0, -50%);
cursor: pointer;
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
text-align: center;
width: 40px;
z-index: 10;
}
.carousel-control.prev {
left: 2%;
}
.carousel-control.next {
right: 2%;
}
.carousel-control:hover {
background: rgba(0, 0, 0, 0.8);
color: #aaaaaa;
}
#carousel-1:checked~.control-1,
#carousel-2:checked~.control-2,
#carousel-3:checked~.control-3 {
display: block;
}
.carousel-indicators {
list-style: none;
margin: 0;
padding: 0;
position: absolute;
bottom: 2%;
left: 0;
right: 0;
text-align: center;
z-index: 10;
}
.carousel-indicators li {
display: inline-block;
margin: 0 5px;
}
.carousel-bullet {
color: #fff;
cursor: pointer;
display: block;
font-size: 35px;
}
.carousel-bullet:hover {
color: #aaaaaa;
}
#carousel-1:checked~.control-1~.carousel-indicators li:nth-child(1) .carousel-bullet,
#carousel-2:checked~.control-2~.carousel-indicators li:nth-child(2) .carousel-bullet,
#carousel-3:checked~.control-3~.carousel-indicators li:nth-child(3) .carousel-bullet {
color: #428bca;
}
<div >
<div >
<input type="radio" id="carousel-1" name="carousel" aria-hidden="true" hidden="" checked="">
<div >
<img src="http://fakeimg.pl/2000x800/F90/fff/?text=TEST1">
</div>
<input type="radio" id="carousel-2" name="carousel" aria-hidden="true" hidden="">
<div >
<img src="http://fakeimg.pl/2000x800/F90/fff/?text=TEST2">
</div>
<input type="radio" id="carousel-3" name="carousel" aria-hidden="true" hidden="">
<div >
<img src="http://fakeimg.pl/2000x800/F90/fff/?text=TEST3">
</div>
<label for="carousel-2" >›</label>
<label for="carousel-1" >‹</label>
<label for="carousel-3" >›</label>
<label for="carousel-2" >‹</label>
<ol >
<li>
<label for="carousel-1" >•</label>
</li>
<li>
<label for="carousel-2" >•</label>
</li>
<li>
<label for="carousel-3" >•</label>
</li>
</ol>
</div>
</div>
CodePudding user response:
Changing position: static
to position: relative
in .carousel-open:checked .carousel-item
seems to fix it:
.carousel {
position: relative;
box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.64);
margin-top: 26px;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-open:checked .carousel-item {
position: static;
opacity: 100;
}
.carousel-item {
position: absolute;
opacity: 0;
-webkit-transition: opacity 0.6s ease-out;
transition: opacity 0.6s ease-out;
}
.carousel-item img {
display: block;
height: auto;
max-width: 100%;
}
.carousel-control {
background: rgba(0, 0, 0, 0.28);
border-radius: 50%;
color: #fff;
cursor: pointer;
display: none;
font-size: 40px;
height: 40px;
line-height: 35px;
position: absolute;
top: 50%;
-webkit-transform: translate(0, -50%);
cursor: pointer;
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
text-align: center;
width: 40px;
z-index: 10;
}
.carousel-control.prev {
left: 2%;
}
.carousel-control.next {
right: 2%;
}
.carousel-control:hover {
background: rgba(0, 0, 0, 0.8);
color: #aaaaaa;
}
#carousel-1:checked~.control-1,
#carousel-2:checked~.control-2,
#carousel-3:checked~.control-3 {
display: block;
}
.carousel-indicators {
list-style: none;
margin: 0;
padding: 0;
position: absolute;
bottom: 2%;
left: 0;
right: 0;
text-align: center;
z-index: 10;
}
.carousel-indicators li {
display: inline-block;
margin: 0 5px;
}
.carousel-bullet {
color: #fff;
cursor: pointer;
display: block;
font-size: 35px;
}
.carousel-bullet:hover {
color: #aaaaaa;
}
#carousel-1:checked~.control-1~.carousel-indicators li:nth-child(1) .carousel-bullet,
#carousel-2:checked~.control-2~.carousel-indicators li:nth-child(2) .carousel-bullet,
#carousel-3:checked~.control-3~.carousel-indicators li:nth-child(3) .carousel-bullet {
color: #428bca;
}
<div >
<div >
<input type="radio" id="carousel-1" name="carousel" aria-hidden="true" hidden="" checked="">
<div >
<img src="http://fakeimg.pl/2000x800/F90/fff/?text=TEST1">
</div>
<input type="radio" id="carousel-2" name="carousel" aria-hidden="true" hidden="">
<div >
<img src="http://fakeimg.pl/2000x800/F90/fff/?text=TEST2">
</div>
<input type="radio" id="carousel-3" name="carousel" aria-hidden="true" hidden="">
<div >
<img src="http://fakeimg.pl/2000x800/F90/fff/?text=TEST3">
</div>
<label for="carousel-2" >›</label>
<label for="carousel-1" >‹</label>
<label for="carousel-3" >›</label>
<label for="carousel-2" >‹</label>
<ol >
<li>
<label for="carousel-1" >•</label>
</li>
<li>
<label for="carousel-2" >•</label>
</li>
<li>
<label for="carousel-3" >•</label>
</li>
</ol>
</div>
</div>