如何用css实现百叶窗效果

1.效果图

  利用纯css实现百叶窗效果

  效果如下:

 2.代码如下:

1.创建一个div

2.设置无序列表,插入事先准备好的图片

​
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>css实现百叶窗效果</title>
    <link rel="stylesheet" href="./css/index.css">
</head>
<body>
    <div class="box">
        <ul>
            <li><img src="./img/01.jpg" alt=""></li>
            <li><img src="./img/02.jpg" alt=""></li>
            <li><img src="./img/03.jpg" alt=""></li>
            <li><img src="./img/04.jpg" alt=""></li>
            <li><img src="./img/05.jpg" alt=""></li>
        </ul>
    </div>
</body>

</html>

​

3.设置样式

1.设置box的宽高 外边距 边框 overflow(溢出隐藏)

  overflow:给一个元素中设置overflow:hidden,那么该元素的内容若超出了给定的宽度和高度属性,那么超出的部分将会被隐藏,不占位。(也可以利用overflow:hidden清除浮动)

注意:利用通配符*{

        margin=0;

        padding=0;

       }

清除原有边框样式

利用选择器分别设置每个部分的样式

2. 因为ul是块级元素,所以为了方便可以把ul设置为弹性布局

  因为ul li是自带内外边距的标签,可以更灵活方便的控制网页的标签

3.利用transition设置百叶窗过渡时间

  transitition为css3动画内容,实现百叶窗效果的重要样式,过渡时间设置单位以s/ms为单位。

4.把img设置为块级元素,设置宽高

5.设置hover效果(hover为伪类选择器)

  hover: 鼠标伪类 ,冒号(:)后面的hover 是固定的写法,冒号(:)前面是要添加hover伪类的 目标

(目标尽量不要写成标签选择器),指定的目标: 最好是单一的。

作用: 鼠标移入移出的时候触发指定样式

鼠标移入时; 触发 hover的样式

鼠标移出时: 回到 初始样式。 整个hover中的代码,都不会被加载

使用hover伪类时,将 子代(后代)选择器 写在hover之后会表示:

:前面是触发者

hover之后的是 显示者

* {
    margin: 0;
    padding: 0;
}

.box {
    margin: 100px auto;
    border: 1px solid royalblue;
    width: 700px;
    height: 500px;
    overflow: hidden;
}
.box ul {
    display: flex;
}

.box li {
    width: 100px;
    height: 500px;
    list-style: none;
    border-left: 1px solid royalblue;
    box-shadow: 0 0 25px #000;
    transition: all 0.5s;
}
.box li img{
    display: block;
    width: 600px;
    height: 500px;
    background-repeat: on-repeat;
}
.box ul:hover li{
    width: 40px;
}
.box ul li:hover{
    width: 600px;
}

效果视频:

百叶窗

以上就是关于css制作百叶窗效果的,利用了css相关内容来实现的,有兴趣的小伙伴可以自己试一试。