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

本文主要是介绍【后端学前端】第四天 css动画 垂直轮播效果(css变量、位移缩放动画、动画延迟),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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属性
  • 指定效果的持续时间。

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

 

这篇关于【后端学前端】第四天 css动画 垂直轮播效果(css变量、位移缩放动画、动画延迟)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506307

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被