輪播在各個公司的官網上是很是常見的一種功能,可以有效的展現多個動態信息。以前通常實現輪播,是使用的js的動畫。今天來介紹一種使用純css實現的輪播圖。css
<div class="slide">
<ul class="slide-auto">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
複製代碼
.slide {
position: relative;
margin: auto;
width: 600px;
height: 200px;
text-align: center;
font-family: Arial;
color: #FFF;
overflow: hidden;
}
.slide ul {
margin: 10px 0;
padding: 0;
width: 9999px;
transition: all 0.5s;
}
/*//自動播放*/
.slide .slide-auto {
animation: marginLeft 10.5s infinite;
}
.slide li {
float: left;
width: 600px;
height: 200px;
list-style: none;
line-height: 200px;
font-size: 36px;
}
.slide li:nth-child(1) {
background: #9fa8ef;
}
.slide li:nth-child(2) {
background: #ef9fb1;
}
.slide li:nth-child(3) {
background: #9fefc3;
}
@keyframes marginLeft {
0% {
margin-left: 0;
}
28.5% {
margin-left: 0;
}
33.3% {
margin-left: -600px;
}
62% {
margin-left: -600px;
}
66.7% {
margin-left: -1200px;
}
95.2% {
margin-left: -1200px;
}
100% {
margin-left: 0;
}
}
複製代碼
<!-- 點擊輪播 -->
<div class="slide" style="margin-top: 80px;">
<input type="radio" name="sildeInput" value="0" id="sildeInput1" checked hidden />
<label for="sildeInput1">1</label>
<input type="radio" name="sildeInput" value="1" id="sildeInput2" hidden />
<label for="sildeInput2">2</label>
<input type="radio" name="sildeInput" value="1" id="sildeInput3" hidden />
<label for="sildeInput3">3</label>
<ul>
<li>one-點擊切換</li>
<li>two-點擊切換</li>
<li>three-點擊切換</li>
</ul>
</div>
複製代碼
.slide {
position: relative;
margin: auto;
width: 600px;
height: 200px;
text-align: center;
font-family: Arial;
color: #FFF;
overflow: hidden;
}
.slide ul {
margin: 10px 0;
padding: 0;
width: calc(600px * 3);
transition: all 0.5s;
}
.slide li {
float: left;
width: 600px;
height: 200px;
list-style: none;
line-height: 200px;
font-size: 36px;
}
.slide li:nth-child(1) {
background: #9fa8ef;
}
.slide li:nth-child(2) {
background: #ef9fb1;
}
.slide li:nth-child(3) {
background: #9fefc3;
}
.slide input[name="sildeInput"] {
display: none;
}
.slide label[for^="sildeInput"] {
position: absolute;
top: 170px;
width: 20px;
height: 20px;
margin: 0 10px;
line-height: 20px;
color: #FFF;
background: green;
cursor: pointer;
border-radius: 50%;
}
.slide label[for="sildeInput1"] {
left: 0;
}
.slide label[for="sildeInput2"] {
left: 30px;
}
.slide label[for="sildeInput3"] {
left: 60px;
}
#sildeInput1:checked~ul {
margin-left: 0;
}
#sildeInput2:checked~ul {
margin-left: -600px;
}
#sildeInput3:checked~ul {
margin-left: -1200px;
}
#sildeInput1:checked~label[for="sildeInput1"] {
color: #000;
background: #fff;
}
#sildeInput2:checked~label[for="sildeInput2"] {
color: #000;
background: #fff;
}
#sildeInput3:checked~label[for="sildeInput3"] {
color: #000;
background: #fff;
}
複製代碼