【后端学前端】第四天 css动画 垂直轮播效果(css变量、位移缩放动画、动画延迟)

news2024/12/23 0:36:36

1、学习信息

视频地址:css动画 垂直轮播效果(css变量、位移缩放动画、动画延迟)_哔哩哔哩_bilibili

2、源码

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="http://at.alicdn.com/t/c/font_4156699_i9rfozb6ac.css">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            background: linear-gradient(200deg, #fda09b, #918ef9);
        }

        .container {
            width: 500px;
            height: 300px;
            position: relative;


            display: flex;
            justify-content: center;
            align-items: center;

        }

        .card {
            width: 430px;
            height: 100px;
            padding: 0 20px;
            border-radius: 100px 20px 20px 100px;
            background-color: #ffffff;;
            position: absolute;
            opacity: 0;
            animation: animate 10s linear infinite;
            animation-delay: calc(2s * var(--d));
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .card .img {
            width: 90px;
            height: 90px;
            position: absolute;
            left: 0;
            top: 0;
            background-color: #ffffff;
            padding: 5px;
            border-radius: 50%;
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        }

        .card .img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
        }

        .card .content {
            display: flex;
            align-items: center;
        }

        /*.card .detail {*/
        /*    margin-left: 50px;*/
        /*}*/

        .card .detail span {
            display: block;
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .card a {
            font-size: 14px;
            text-decoration: none;
            background: linear-gradient(to bottom, #fbc5ed, #a6c1ee);
            padding: 7px 18px;
            color: #ffffff;
            border-radius: 25px;
            margin-left: 30px;
        }

        @keyframes animate {
            0% {
                opacity: 1;
                transform: translateY(100%) scale(0.5);
            }
            5%, 20% {
                opacity: 0.4;
                transform: translateY(100%) scale(0.7);
            }
            25%, 40% {
                opacity: 1;
                transform: translateY(0%) scale(1);
            }
            45%, 60% {
                opacity: 0.4;
                transform: translateY(-100%) scale(0.7);
            }
            65%, 100% {
                opacity: 0;
                transform: translateY(-100%) scale(0.5);
            }
        }
        .container:hover .card{
            animation-play-state: paused;
        }
    </style>
    <script>

        window.onload = () => {
            let searchIcon = document.querySelector(".icon")
            let clearIcon = document.querySelector(".clear")
            let searchBar = document.querySelector(".searchBar")
            let inp = document.querySelector(".inp")

            searchIcon.addEventListener("click", () => {
                searchBar.classList.toggle("changeWidth")
            })
            clearIcon.addEventListener("click", () => {
                inp.value = ""
            })

        }
    </script>
</head>
<body>
<div class="container">
    <div class="card" style="--d:-1;">
        <div class="content">
            <div class="img"><img src="1.png"></div>
            <div class="detail">
                <span>王婉儿(Anna)</span>
                <p>寻找真爱的微笑使者。</p>
            </div>
        </div>
        <a href="#">关注</a>
    </div>
    <div class="card" style="--d:0;">
        <div class="content">
            <div class="img"><img src="1.png"></div>
            <div class="detail">
                <span>王婉儿(Anna)</span>
                <p>寻找真爱的微笑使者。</p>
            </div>

        </div>
        <a href="#">关注</a>
    </div>
    <div class="card" style="--d:1;">
        <div class="content">
            <div class="img"><img src="1.png"></div>
            <div class="detail">
                <span>王婉儿(Anna)</span>
                <p>寻找真爱的微笑使者。</p>
            </div>

        </div>
        <a href="#">关注</a>
    </div>
    <div class="card" style="--d:2;">
        <div class="content">
            <div class="img"><img src="1.png"></div>
            <div class="detail">
                <span>王婉儿(Anna)</span>
                <p>寻找真爱的微笑使者。</p>
            </div>

        </div>
        <a href="#">关注</a>
    </div>
    <div class="card" style="--d:-3;">
        <div class="content">
            <div class="img"><img src="1.png"></div>
            <div class="detail">
                <span>王婉儿(Anna)</span>
                <p>寻找真爱的微笑使者。</p>
            </div>

        </div>
        <a href="#">关注</a>
    </div>

</div>
<div class="register"></div>
</body>
</html>

3、 块级元素和行级元素

常用的内联元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> (块引用)、<form>

常用的内联元素有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>

设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。

a{display:block;}

块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

块状元素也可以通过代码display:inline将元素设置为内联元素。如下代码就是将块状元素div转换为内联元素,从而使div元素具有内联元素特点。

行内元素会在一条直线上排列(默认宽度只与内容有关),都是同一行的,水平方向排列

块级元素各占据一行(默认宽度是它本身父容器的100%(和父元素的宽度一致),与内容无关),垂直方向排列。块级元素从新行开始,结束接着一个断行。

4、关于过度

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

要实现这一点,必须规定两项内容:

  • 指定要添加效果的CSS属性
  • 指定效果的持续时间。

属性变化放在 常规状态会有来回的感觉

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1317729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT for Android安卓编译环境搭建+首次编译3个大坑

1、安装 编译环境能否搭建成功&#xff0c;主要是看各个依赖软件的版本是否匹配。依赖的软件有3个&#xff1a;JDK、安卓SDK、安卓NDK。 我的qt版本是5.14.1&#xff0c;我亲测以下版本可以成功让编译安卓&#xff1a; QT5.14 JDK1.8.0 安卓SDK26.1 安卓NDK20.1 在QT-&g…

爬虫 scrapy ——scrapy shell调试及下载当当网数据(十一)

目录 一、scrapy shell 1.什么是scrapy shell&#xff1f; 2.安装 ipython 3.使用scrapy shell 二、当当网案例 1.在items.py中定义数据结构 2.在dang.py中解析数据 3.使用pipeline保存 4.多条管道的使用 5.多页下载 参考 一、scrapy shell 1.什么是scrapy shell&am…

VBA即用型代码手册之工作薄的创建及保存

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…

python封装执行cmd命令的方法

一、前置说明 在自动化时&#xff0c;经常需要使用命令行工具与系统进行交互&#xff0c;因此可以使用python封装一个执行cmd命令的方法。 二、代码实现 import subprocess import timefrom common.exception import RunCMDError from common.logger import loggerclass Cmd…

Nat Med | 白血病患儿持续存在CD19 CAR-T细胞的转录特征

今天给同学们分享一篇实验文章“Transcriptional signatures associated with persisting CD19 CAR-T cells in children with leukemia ”&#xff0c;这篇文章发表在Nat Med期刊上&#xff0c;影响因子为82.9。 结果解读&#xff1a; 研究队列和实验概述 作者研究了15例高…

网络编程day2作业

1.tcp实现通信 服务器&#xff1a; //tcp服务端#include <head.h>#define SERPORT 8888 #define IP "192.168.125.6"int main(int argc, const char *argv[]) { //1.创建套接字int sfdsocket(AF_INET,SOCK_STREAM,0);//2.绑定struct sockaddr_in ser;ser.sin…

java --- 集合进阶

目录 一、单列集合顶层接口 Collection 1.1 基本方法 1.2 Collection 的遍历方式 二、list集合 1.2 ArrayList Vector 底层结构 1.3 LinkedList ArrayList 和 LinkedList 比较 三、set接口 3.1、Set 接口和常用方法 3.2 HashSet HashSet 底层机制&#xff08;HashMap…

虚拟机Linux(Centos7)安装Docker

如果没有安装虚拟机的&#xff0c;可以参考这篇VMware虚拟机安装Linux操作系统&#xff08;CentOS7&#xff09; 文章目录 0.安装Docker1.CentOS安装Docker1.1.卸载&#xff08;可选&#xff09;如何看自己的虚拟机上是否安装过docker&#xff1f; 1.2.安装docker1.3.启动docke…

pytest之allure测试报告02:allure具体使用方法

一、allure包含的方法 二、allure使用教程 &#xff08;1&#xff09;用例中写入allure方法 allure.epic("数据进制项目epic") allure.feature("手机号模块feature") class TestMobile:allure.story("杭州的手机号story")allure.title("测…

多层记忆增强外观-运动对齐框架用于视频异常检测 论文阅读

MULTI-LEVEL MEMORY-AUGMENTED APPEARANCE-MOTION CORRESPONDENCE FRAMEWORK FOR VIDEO ANOMALY DETECTION 论文阅读 摘要1.介绍2.方法2.1外观和运动对其建模2.2.记忆引导抑制模块2.3. Training Loss2.4. Anomaly Detection 3.实验与结果4.结论 论文标题&#xff1a;MULTI-LEVE…

重磅!大模型(LLMs)排行榜清单发布!

目前&#xff0c;人工智能领域呈现出一片蓬勃发展的景象&#xff0c;大型模型成为了激发这一繁荣的关键引擎。 国内不仅涌现了众多大模型&#xff0c;而且它们的发展速度之快令人瞩目。这种全面拥抱大型模型的态势为整个人工智能生态系统赋予了新的活力&#xff0c;让我们对国…

栈——OJ题

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、最小栈1、题目讲解2、思路讲解3、代码实现 二、栈的压入、弹出序列1、题目讲解2、思路讲解…

CCD相机为什么需要积分球均匀光源

积分球内腔是一个具备高漫反射特性的收光球&#xff0c;其内部中空、内球面均匀地涂有漫反射材料&#xff0c;具有匀光与混光的作用&#xff0c;因此常常被用来做收光的均光球。由于光源性能等因素的影响&#xff0c;可能导致出射光线带偏振方向、出光不均匀&#xff0c;使用积…

Windows11环境下配置深度学习环境(Pytorch)

目录 1. 下载安装Miniconda2. 新建Python3.9虚拟环境3. 下载英伟达驱动4. 安装CUDA版Pytorch5. CPU版本pytorch安装 1. 下载安装Miniconda 下载安装包&#xff1a;镜像文件地址 将Miniconda相关路径添加至系统变量的路径中。 打开Anaconda Powershell Prompt&#xff0c;输入…

【C++学习————引用】

【C学习——————引用】 欢迎阅读新一期的c模块————引用 ✒️个人主页&#xff1a;-Joker- &#x1f3f7;️专栏&#xff1a;C &#x1f4dc;代码仓库&#xff1a;c_code &#x1f339;&#x1f339;欢迎大佬们的阅读和三连关注&#xff0c;顺着评论回访&#x1f339;&a…

秋招上岸记录咕咕咕了。

思考了一下&#xff0c;感觉并没有单独写这样一篇博客的必要。 能够写出来的&#xff0c;一些可能会对人有帮助的东西都做进了视频里面&#xff0c;未来会在blbl发布&#xff0c;目前剪辑正在施工中&#xff08;&#xff1f;&#xff09; 另外就是&#xff0c;那个视频里面使…

Win11 跑通tensorRT

cuda_12.3.1_546.12_windows TensorRT-8.6.1.6.Windows10.x86_64.cuda-12.0 cudnn-windows-x86_64-8.9.7.29_cuda12-archive 准备 1.安装cuda&#xff0c;成功之后文件夹如下图所示 2.下载cudnn&#xff0c;把cudnn对应的文件放在cuda里面 3.安装vs 4.安装对应cuda版本的te…

DevOps常用工具全家桶,实现高效运维和交付

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

Linux c++开发-06-使用Linux API 进行文件的读写

先简单的介绍一下open,read,write 先用open接口去打开文件&#xff0c;flag表示打开文件的权限不同。 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);示例 结果&#xff1a;

基于AT89C51单片机的LED点阵显示屏设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; [[https://download.csdn.net/download/qq_64505944/88637464?spm1001.2014.3001.5503]] **[源码获取] B 源码仿真图课程设计50 工程实训&#xff08;三&#xff09;课题设计 班级&#xff1a; …