У меня есть статья "Смена картинки при наведении курсора". Всё хорошо, но непонятно как это применить, когда изображений 3 и более. Чтобы они менялись в цикле, но по щелчку. Ничего нового не придумала, а фактически сделала тоже самое.
1-ый вариант слайдшоу
<style>
.demo {
position: relative;
padding-top: 50%;
}
.demo input { display: none; }
.demo label { transition: 3s; }
.demo img {
position: absolute;
left: 50%;
top: 50%;
max-width: 100%;
max-height: 100%;
-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden; opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {visibility: visible; opacity: 1;}
</style>
<div class="demo">
<input type="radio" name="odin" id="vkl1"/>
<input type="radio" name="odin" id="vkl2"/>
<input type="radio" name="odin" id="vkl3"/>
<input type="radio" name="odin" id="vkl4"/>
<input type="radio" name="odin" id="vkl5" checked="checked"/>
<label for="vkl1"><img src="адрес_изо_1"/></label>
<label for="vkl2"><img src="адрес_изо_2"/></label>
<label for="vkl3"><img src="адрес_изо_3"/></label>
<label for="vkl4"><img src="адрес_изо_4"/></label>
<label for="vkl5"><img src="адрес_изо_5"/></label>
</div>
2-ой вариант слайдшоу
Нужно заменитьvisibility: visible; opacity: 1; на transform: scale(1); z-index: 1;и
visibility: hidden; opacity: 0; на transform: scale(0);
3-ий вариант слайдшоу
Нужно заменитьvisibility: visible; opacity: 1; на clip: rect(0, 1000px, auto, 0);и
visibility: hidden; opacity: 0; на clip: rect(0, 1000px, auto, 1000px);
4-ый вариант слайдшоу
Нужно заменить.demo {
position: relative;
padding-top: 50%;
}
на
.demo {
position: relative;
padding-top: 50%;
perspective: 1000px;
}
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden; opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {visibility: visible; opacity: 1;}
на
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: rotateY(180deg); visibility: hidden; backface-visibility: hidden;
}
.demo #vkl1:checked ~ [for="vkl3"],
.demo #vkl2:checked ~ [for="vkl4"],
.demo #vkl3:checked ~ [for="vkl5"],
.demo #vkl4:checked ~ [for="vkl1"],
.demo #vkl5:checked ~ [for="vkl2"] {transform: rotateY(-180deg); visibility: hidden;}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {transform: rotateY(0deg); visibility: visible;}
5-ый вариант слайдшоу
Нужно заменитьvisibility: visible; opacity: 1; на transform: translateY(0);и
visibility: hidden; opacity: 0; на transform: translateY(150%) rotate(17deg);
6-ой вариант слайдшоу
Нужно заменить.demo {
position: relative;
padding-top: 50%;
}
на
.demo {
position: relative;
padding-top: 50%;
overflow: hidden;
}
и
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden; opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {visibility: visible; opacity: 1;}
на
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: translateX(100%); opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl3"],
.demo #vkl2:checked ~ [for="vkl4"],
.demo #vkl3:checked ~ [for="vkl5"],
.demo #vkl4:checked ~ [for="vkl1"],
.demo #vkl5:checked ~ [for="vkl2"] {
transform: translateX(-100%); opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {transform: translateX(0); opacity: 1;}
7-ой вариант слайдшоу
Нужно заменить.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden; opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {visibility: visible; opacity: 1;}
на
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden;
}
.demo #vkl1:checked ~ [for="vkl3"],
.demo #vkl2:checked ~ [for="vkl4"],
.demo #vkl3:checked ~ [for="vkl5"],
.demo #vkl4:checked ~ [for="vkl1"],
.demo #vkl5:checked ~ [for="vkl2"] {
transform: perspective(1000px) translateX(50%) rotateY(75deg);
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] { transform: rotateY(0); z-index: 1; visibility: visible;}
8-ой вариант слайдшоу
Нужно заменить.demo {
position: relative;
padding-top: 50%;
}
на
.demo {
position: relative;
padding-top: 50%;
overflow: hidden;
}
и
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
visibility: hidden; opacity: 0;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] {visibility: visible; opacity: 1;}
на
.demo label,
.demo #vkl1:checked ~ [for="vkl1"],
.demo #vkl2:checked ~ [for="vkl2"],
.demo #vkl3:checked ~ [for="vkl3"],
.demo #vkl4:checked ~ [for="vkl4"],
.demo #vkl5:checked ~ [for="vkl5"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: translateX(-60%) scale(.7); z-index: 2;
}
.demo #vkl1:checked ~ [for="vkl3"],
.demo #vkl2:checked ~ [for="vkl4"],
.demo #vkl3:checked ~ [for="vkl5"],
.demo #vkl4:checked ~ [for="vkl1"],
.demo #vkl5:checked ~ [for="vkl2"] {
transform: translateX(60%) scale(.7); z-index: 2;
}
.demo #vkl1:checked ~ [for="vkl4"],
.demo #vkl2:checked ~ [for="vkl5"],
.demo #vkl3:checked ~ [for="vkl1"],
.demo #vkl4:checked ~ [for="vkl2"],
.demo #vkl5:checked ~ [for="vkl3"],
.demo #vkl1:checked ~ [for="vkl5"],
.demo #vkl2:checked ~ [for="vkl1"],
.demo #vkl3:checked ~ [for="vkl2"],
.demo #vkl4:checked ~ [for="vkl3"],
.demo #vkl5:checked ~ [for="vkl4"] {
z-index: 1;
}
.demo #vkl1:checked ~ [for="vkl2"],
.demo #vkl2:checked ~ [for="vkl3"],
.demo #vkl3:checked ~ [for="vkl4"],
.demo #vkl4:checked ~ [for="vkl5"],
.demo #vkl5:checked ~ [for="vkl1"] { transform: translateX(0); z-index: 4; visibility: visible;}
16 комментариев:
<label for="vkl1"><img src="адрес_изо_1"/></label>
написать
<label for="vkl1"><img src="адрес_изо_1"/><a href="URL">текст с ссылкой</a></label>
Вместо
.demo img {
position: absolute;
left: 50%;
top: 50%;
max-width: 100%;
max-height: 100%;
-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
можно написать что-то вроде
.demo img {
position: absolute;
left: 50%;
top: 40%;
max-width: 100%;
max-height: 80%;
-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
.demo a {
display: block;
position: absolute;
left: 50%;
top: 90%;
max-width: 100%;
max-height: 20%;
-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
Сообщите, если непонятно написала
Подскажите как сделать в рамках этих слайдов чтобы у фотографий были скругленные края?
Заранее спасибо за ответ.
.demo img {
border-radius: 15px;
}