首页 > 其他分享 >css动画-卡片滚动效果

css动画-卡片滚动效果

时间:2024-07-31 16:55:40浏览次数:17  
标签:动画 卡片 ipsum iure consectetur elit Enim amet css

动画效果

效果如下:

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="s3k8Hysa-1722416279176" src="https://live.csdn.net/v/embed/414055"></iframe>


当卡片进行左右滚动时,每次都恰好滑动出来下一个卡片,将下一个卡片完整的展现在容器中间。

核心代码

1.设置容器和卡片的样式

.wrapper {
    display: flex;
    gap: 20px;
    width: 300px;
    margin: 100px auto;
    overflow-x: scroll;
}

.card {
    box-sizing: border-box;
    padding: 20px 30px;
    flex-shrink: 0;
    width: 300px;
    background-color: white;
    border-radius: 14px;
    text-align: center;
}

2.为容器设置 scroll-snap-type属性

.wrapper {
    scroll-snap-type: x mandatory;
}

x是指沿着X轴滚动,mandatory是若滚动容器当前未在滚动,则其可见视口必须吸附至吸附位置。。

3.为卡片设置scroll-snap-align属性

.card {
    scroll-snap-align: center;
}

完整代码

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=
    , initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            background-color: #e8e7ee;

        }

        .wrapper {
            display: flex;
            gap: 20px;
            width: 300px;
            margin: 100px auto;
            overflow-x: scroll;
            scroll-snap-type: x mandatory;

        }

        .card {
            scroll-snap-align: center;

            box-sizing: border-box;
            padding: 20px 30px;
            flex-shrink: 0;
            width: 300px;
            background-color: white;
            border-radius: 14px;
            text-align: center;
        }
    </style>
</head>

<body>
    <div class="wrapper">
        <div class="card">
            <h2>Card 1</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 2</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 3</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 4</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 5</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 6</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 7</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 8</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 9</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
        <div class="card">
            <h2>Card 10</h2>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim tempore commodi a recusandae aliquam est
                saepe eaque molestiae blanditiis amet suscipit iure, magnam facere, consectetur nam dolorum error
                aliquid reprehenderit.</p>
        </div>
    </div>
</body>

</html>

标签:动画,卡片,ipsum,iure,consectetur,elit,Enim,amet,css
From: https://blog.csdn.net/m0_51181022/article/details/140827341

相关文章

  • 前端——jQuery中的事件与动画
    jQuery事件事件组成在jQuery中,一个事件由事件主体、事件类型、事件处理函数三个部分组成。//实现事件$("#button").click(function(){//...})//调用事件$("#button").click();鼠标事件常用的鼠标事件方法方法                  ......
  • 沙雕动画制作技术与创意表达研究
    摘要:沙雕动画作为一种新兴的动画形式,以其幽默、调侃的特点受到广泛关注。本文旨在探讨沙雕动画的制作技术、创意表达及其在不同领域的应用。1.沙雕动画概述:沙雕动画是一种利用表情包式人物制作的动画,通过搞笑、幽默的表现形式传达轻松愉快的情绪。2.沙雕动画的应用领域:......
  • 界面控件DevExpress WinForms,支持HTML & CSS提升用户体验(一)
    DevExpressWinForms现在可以利用HTML/CSS强大的功能,帮助受DevExpress驱动的WinForms应用程序引入现代的UI元素和用户体验!P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应......
  • css 属性百分比基准—块级父元素
    基准总体而言百分比的基准就是父元素的宽度高度,如果父元素有设置具体的宽高,就会以父元素的宽高为基准,没设置具体宽高的话,会以父元素实际的占用宽高为基准。父元素须是块级元素。如果父元素是inline元素,则会向上查询最近的块级元素作为基准父元素。参考文章https://www.cnbl......
  • CSSmodule的作用是什么
    CSSModules的作用主要体现在以下几个方面:1.解决全局样式污染问题在传统的CSS管理方式中,样式定义通常是全局的,这很容易导致全局样式污染。当多个组件或页面共享同一个样式时,可能会出现样式冲突和覆盖的情况,从而影响到页面的显示效果和用户体验。CSSModules通过为每个CSS样......
  • 前端练习<Html&CSS>——照片墙(附完整代码及实现效果)
    这个小练习也来源于b站up小K师兄,大家可以通过下面的链接学习哦~up讲的非常详细。纯CSS写一个简单酷炫的照片墙效果~先看一下这个照片墙的效果:1.鼠标没有放到图片上时,照片同比例,每张照片都有倒影的效果。2.然后是鼠标放置图片上的效果,图片被放大,其他照片旋转缩放,这里需要注......
  • 05HTML+CSS
    今日学习了CSS样式中的其他东西。复合选择器定义:由两个或多个基础选择器,通过不同的方式组合而成。作用:更准确、更高效的选择目标元素(标签)。后代选择器后代选择器:选中某元素的后代元素。选择器写法:父选择器子选择器{CSS属性},父子选择器之间用空格隔开。<style>divsp......
  • 环形表示进度 css+js+svg
    先看看我做出来的效果人狠话不多直接上代码html部分<divid="box"></div>css部分#box{width:400px;height:400px;background-color:#00E8D7;display:flex;}.circleBox{width:33.333%;display:flex;f......
  • 微信小程序开发中的动画效果和页面过渡
    微信小程序的动画效果和页面过渡可以通过使用wx.createAnimation()方法来实现。wx.createAnimation()可以创建一个Animation对象,然后我们可以通过该对象调用不同的方法来控制动画的效果和过渡。下面我将详细介绍动画效果和页面过渡的常用方法和案例代码。在开始之前,请确保已经......
  • html+css 实现3D分层悬停按钮
    前言:哈喽,大家好,今天给大家分享html+css绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......