美文网首页
css实现列表局部放大和压缩效果

css实现列表局部放大和压缩效果

作者: GX_路 | 来源:发表于2019-10-09 17:22 被阅读0次

不废话先看效果

1111.gif

代码分析

布局和js代码

<body>
    <div class="content">
    </div>
    
    <template id="my-temp">
        <div class="temp">
            <div></div>
            <div></div>
        </div>
    </template>

<script>
    if('content' in document.createElement("template")){
        let t = document.querySelector("#my-temp")
        let c = t.content.querySelectorAll("div")[0]
        let items = c.querySelectorAll("div")
        let tb = document.querySelector(".content");
        for(let i = 0;i < 10; i++ ){
            items[0].textContent = i
            items[1].textContent  = '数据' + i
            let clone = document.importNode(t.content, true);
            tb.appendChild(clone)
        }
    }
</script>

</body>

css样式

<style>
        .content{
            height: 500px;
            display: flex;
            margin: 100px;
            flex-direction: column;
            justify-content: space-between;
        }
        
        .temp{
            width: 200px;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            transition-duration: .2s
        }
        
        .temp:hover{
            padding: 3px;
            transform: scale(1.3,1.3);
            box-shadow: 3px 3px 10px rgba(162, 162, 162, 0.6)
        }
    
    </style>

放大效果主要是通过.temp:hover中的transform: scale(1.3,1.3);实现,不多解释
看一下压缩效果的实现方式
首先列表容器样式.content

display: flex;
margin: 100px;
flex-direction: column;
justify-content: space-between;

列表容器设置了justify-content: space-between;样式
在子项的hover样式中调整padding,子项的高度变大,使列表容器的空白空间变小,所以其他子项会向上或向下移动,距离鼠标所在子项越近位移就越明显,所以视觉上会有压缩效果

完整代码

<!DOCTYPE html>
<html lang="zh" >

<head>
    <title>Template</title>
    
    <style>
        .content{
            height: 500px;
            display: flex;
            margin: 100px;
            flex-direction: column;
            justify-content: space-between;
        }
        
        .temp{
            width: 200px;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            transition-duration: .2s
        }
        
        .temp:hover{
            padding: 3px;
            transform: scale(1.3,1.3);
            box-shadow: 3px 3px 10px rgba(162, 162, 162, 0.6)
        }
    
    </style>
</head>

<body>
    <div class="content">
    </div>
    
    <template id="my-temp">
        <div class="temp">
            <div></div>
            <div></div>
        </div>
    </template>

<script>
    if('content' in document.createElement("template")){
        let t = document.querySelector("#my-temp")
        let c = t.content.querySelectorAll("div")[0]
        let items = c.querySelectorAll("div")
        let tb = document.querySelector(".content");
        for(let i = 0;i < 10; i++ ){
            items[0].textContent = i
            items[1].textContent  = '数据' + i
            let clone = document.importNode(t.content, true);
            tb.appendChild(clone)
        }
    }
</script>

</body>

</html>

相关文章

  • css实现列表局部放大和压缩效果

    不废话先看效果 代码分析 布局和js代码 css样式 放大效果主要是通过.temp:hover中的transfor...

  • css的2D转换

    脚本化css下面通过css实现动画效果,可以使用脚本化的css实现滑入,轮廓伸缩的列表,即动态的HTML,一个过时...

  • 7 压缩列表

    压缩列表(ziplist)是列表键和哈希键的底层实现之一。 7.1 压缩列表的构成 压缩列表是Redis为了节约内...

  • Redis数据结构与对象——压缩列表

    压缩列表(ziplist)是列表和哈希键的底层实现之一。 1 压缩列表的构成 压缩列表是Redis节约成本而开发,...

  • scss/sass实现列表顺序加载动画

    效果展示 本文会讲述如何使用scss/sass在微信小程序中实现列表顺序加载的动画。 所用的css特性 CSS a...

  • redis ziplist

    压缩列表 压缩列表(ziplist)是列表键和哈希键的底层实现之一。 当一个列表键只包含少量列表项, 并且每个列表...

  • 06.压缩列表

    1.简介: 压缩列表: 压缩列表是列表键和哈希键的底层实现之一,当一个列表键只包含少量的列表项, 并且每个列表...

  • 8.6 有序集合对象

    有序集合对象的编码可以是ziplist或者skiplistziplist编码的压缩列表对象使用压缩列表作为底层实现...

  • CSS中特殊效果的实现方案

    相关文章 CSS中渐变特性的研究 CSS中颜色突变的实现方案 CSS中条纹效果的实现方案 CSS中环形效果的实现方...

  • 微信小程序开发之购物车底部滑入动画

    使用css3的transition属性来实现购物车列表从底部滑入的动画效果 一、效果图 二、wxml新建2个组件,...

网友评论

      本文标题:css实现列表局部放大和压缩效果

      本文链接:https://www.haomeiwen.com/subject/ieigpctx.html