当前位置 博文首页 > 向往的那片海洋:CSS 实现百叶窗轮播图

    向往的那片海洋:CSS 实现百叶窗轮播图

    作者:[db:作者] 时间:2021-08-20 21:42

    代码实现效果:

    # 跳转此链接可查看:
    https://www.bilibili.com/video/BV16v411e7Qi/   
    

    结构层:

    <!DOCTYPE html>
    <html>
    	<head>
    	    <meta charset="UTF-8">
    	    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    	    <link rel="shortcut icon" href="image/logo-footer.png" type="image/x-icon">
    	    <title>使用CSS3实现百叶窗</title>
    	</head>
    	<body>
    	    
    	    <div id="container">
    	        
    	        <input type="radio" id="ra1" name="choose" checked><label for="ra1"></label>
    	        <input type="radio" id="ra2" name="choose"><label for="ra2"></label>
    	        <input type="radio" id="ra3" name="choose"><label for="ra3"></label>
    	        <input type="radio" id="ra4" name="choose"><label for="ra4"></label>
    	        
    	        <ul class="pic">
    	            <li><div></div>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	            </li>
    	            <li>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	            </li>
    	            <li>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	            </li>
    	            <li>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	                <div></div>
    	            </li>
    	        </ul>
    	    </div>
    	    
    	</body>
    </html>
    

    样式层:

    @keyframes div {
        0% {
    	    transform: scale(0.6);
    	    filter: blur(10px);
    	    transform: rotateY(-90deg);
        }
    	100%{
    	    transform: scale(1);
    	    filter: blur(0px);
    	    transform: rotateY(0deg);
    	}
    }
    	
    	      
    input{
    	display:none;
    }  	
    *{
    	margin:0;
    	padding:0;
    }
    	        
    body{
    	background-color: antiquewhite;
    }
    	
    ul,li{
    	list-style:none;
    }
    #container{
    	width:1226px;
    	height:460px;
    	margin:100px auto;
    	border:3px solid #082323;
    	position:relative; 
    }
    #container .pic li{
    	width:306.5px;
    	height:460px;
    	float:left;
    	position:relative;
    	overflow:hidden;
    }
    #container .pic li div{
    	width:306.5px;
    	height:460px;
    	position:absolute;
    	left:-306.5px;
    }
    	        
    #container .pic li div:nth-child(1){
    	background-image:url("image/1.jpg");
    	background-size: 1226px 460px;
    }
    #container .pic li div:nth-child(2){
    	background-image:url("image/2.jpg");
    	background-size: 1226px 460px;
    }
    #container .pic li div:nth-child(3){
    	background-image:url("image/3.jpg");
    	background-size: 1226px 460px;
    }
    #container .pic li div:nth-child(4){
    	background-image:url("image/4.jpg");
    	background-size: 1226px 460px;
    }     
    #container .pic li:nth-child(1) div{
        background-position:0;
    }
    #container .pic li:nth-child(2) div{
        background-position:-306.5px;
    }
    #container .pic li:nth-child(3) div{
        background-position:-613px;
    }
    #container .pic li:nth-child(4) div{
        background-position:-919.5px;
    }
    	        
    label{
        display:block;
    	width:10px;
    	height:10px;
    	background:#999;
    	z-index:2;
    	border-radius:100%;
    	color:#fff;
    	position:absolute;
    	bottom:15px;
    	text-align:center;
    	line-height:20px;
    }
    label:nth-child(2) {
        right:628px;
    }
    label:nth-child(4) {
        right:613px;
    }
    label:nth-child(6) {
        right:598px;
    }
    label:nth-child(8) {
        right:583px;
    }
    
    input:checked + label{
        background:#0a7979;
    }  
    input#ra1:checked ~ .pic li div:nth-child(1),
    input#ra2:checked ~ .pic li div:nth-child(2),
    input#ra3:checked ~ .pic li div:nth-child(3),
    input#ra4:checked ~ .pic li div:nth-child(4){
    	left: 0;
    	animation-name: div;
    	animation-duration: 1s;
        animation-iteration-count: 1;
    }
    

    相应图片素材:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    cs