【后端學前端】第二天 css動畫 動感菜單(css變量、過渡動畫、過渡延遲、js動態切換菜單)

目錄

1、學習信息

?2、源碼

3、變量

1.1 定義變量

1.2 使用變量

1.3 calc() 函數

4、定位absolute和fixed

5、transform 和 transition,動畫

5.1 變形transform

5.2 transition

5.3 動畫animation

6、todo


1、學習信息

視頻地址:css動畫 動感菜單(css變量、過渡動畫、過渡延遲、js動態切換菜單)_嗶哩嗶哩_bilibili

?2、源碼

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {min-height: 100vh;background: linear-gradient(to bottom,#577ad4,#ad3d88);}.nav {width: 250px;height: 50px;background-color: #fff;position: fixed; /*固定在右上角*/top: 20px;right: 20px;z-index: 100; /*放在最上面*/}.toggle {width: 100%;height: 50px;display: flex;justify-content: flex-end;align-items: center;cursor: pointer;color: #ff216d;padding: 5px 20px;}.toggle::before {content: 'Menu';margin-right: 10px;}.toggle span::before,.toggle span::after {content: '';position: absolute;top: 20px;left: 0;width: 100%;height: 2px;background-color: #ff216d;transition: 0.5s;}.toggle span:after {top: auto;bottom: 20px;}.toggle.active:before{content: 'Close';margin-left: 10px;}.toggle.active span::before {transform: rotate(225deg);top: 24px;}.toggle.active span::after {transform: rotate(135deg);bottom: 24px;}ul {position: relative;list-style: none;display: flex;flex-direction: column;}ul li {height: 50px;padding: 10px 20px;background-color: #ffffff;color: #333;cursor: pointer;position: relative;list-style: none;}li {visibility: hidden;opacity: 0;transform: translateX(-250px);transition: .5s;transition-delay: calc(0.1s*var(--i));}.nav.active li {visibility: visible;opacity: 1;transform: translateX(0px);}</style><script>window.onload = function (){const nav = document.querySelector(".nav")const toggle = document.querySelector(".toggle")toggle.addEventListener('click',()=>{toggle.classList.toggle('active')nav.classList.toggle('active')});}</script>
</head>
<body><div class="nav"><div class="toggle"><span></span></div><ul><li style="--i:0">Home</li><li style="--i:1">About</li><li style="--i:2">Services</li><li style="--i:3">Work</li><li style="--i:4">Contract</li></ul></div>
</body>
</html>

3、變量

1.1 定義變量

聲明變量的時候,變量名前面要加兩根連詞線(--)。變量名大小寫敏感,

為什么選擇兩根連詞線(--)表示變量?因為

$foo被?Sass?用掉了,

@foo被 Less 用掉了。

為了不產生沖突,官方的 CSS 變量就改用兩根連詞線了

1.2 使用變量

var() 函數

var()函數用于讀取變量。

var()函數還可以使用第二個參數,表示變量的默認值。如果該變量不存在,就會使用這個默認值。

注意,變量值只能用作屬性值,不能用作屬性名。

1.3 calc() 函數

calc() 函數用于動態計算長度值。

如:width: calc(100% - 10px);

任何長度值都可以使用calc()函數進行計算;

calc()函數支持 "+", "-", "*", "/" 運算;

calc()函數使用標準的數學運算優先級規則;

4、定位absolute和fixed

absolute 定位使元素的位置與文檔流無關,因此不占據空間

absolute 定位的元素和其他元素重疊。

fixed 定位

元素的位置相對于瀏覽器窗口是固定位置。

即使窗口是滾動的它也不會移動:

5、transform 和 transition,動畫

5.1 變形transform

變形有rotate旋轉、scale縮放、translate位移、skew傾斜、matrix矩陣變形、perspective透視幾種操作

總結:沒有過程

5.2 transition

transition 是 transition-property,transition-duration,transition-timing-function 和 transition-delay 的一個簡寫屬性。

transition: 要過渡的屬性 花費時間 運動曲線 何時開始;

零或一個表示要使用的過渡函數

零,一或兩個時間值。可以解析為時間的第一個值被分配給 transition-duration,并且可以解析為時間的第二個值被分配給 transition-delay。

注: transition元素所在的是動畫的結束點

5.3 動畫animation

動畫的使用,首先通過@(-webkit-)keyframes 定義動畫名稱及動畫的行為,再通過animation屬性設置動畫特征相關值進行調用

@keyframes test {from {width: 100px;height: 20px;}50% {height: 50px;}to {width: 130px;height: 30px;background-color: #0f0;}}.box:hover {animation: test 2s;}

以上代碼設置了一個名稱為test的動畫,動畫執行時間為2s,定義了從開始(from|0%)到結束(to|100%)的動畫行為,開始的from可以省略,但結束的不可省略

6、todo

沒搞明白為什么教程的是兩根斷線,而我是長線

相信會隨著學習都解決

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215158.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215158.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215158.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【jenkins操作步驟】

一、安裝ant 1、下載安裝文件 1.1 進入https://ant.apache.org/ 然后點擊 https://ant.apache.org/bindownload.cgi 超連接下載即可 1.2下載到本地&#xff0c;最好放到D盤下&#xff0c;然后把apache-jmeter-4.0\extras目錄下的ant-jmeter-1.1.1.jar 文件放置到ant下的lib目…

Java最全面試題專題---2、Java集合容器(1)

集合容器概述 什么是集合 **集合框架&#xff1a;**用于存儲數據的容器。 集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。 任何集合框架都包含三大塊內容&#xff1a;對外的接口、接口的實現和對集合運算的算法。 **接口&#xff1a;**表示集合的抽象數據類…

開箱即用的C++決策樹簡單實現

一個數據結構期末作業&#xff08;有興趣用的話可以高抬貴手star下?~&#xff09;GitHub - mcxiaoxiao/c-Decision-tree: 決策樹c簡單實現 &#x1f333; c-Decision-tree 附大作業/課設參考文檔.doc &#x1f333; c-Decision-tree Introduction &#x1f64c; c-Decision…

[c++]—vector類___基礎版(帶你了解vector熟練掌握運用)

&#x1f469;&#x1f3fb;?&#x1f4bb;作者:chlorine 目錄 &#x1f393;標準庫類型vector &#x1f393;定義和初始化vector的對象 &#x1f4bb;列表初始化vector對象 &#x1f4bb;創建指定數量的元素 &#x1f576;?值初始化 ?列表初始化還是值初始化&#xf…

樹莓派,opencv,Picamera2利用舵機云臺追蹤特定顏色對象

一、需要準備的硬件 Raspiberry 4b兩個SG90 180度舵機&#xff08;注意舵機的角度&#xff0c;最好是180度且帶限位的&#xff0c;切勿選360度舵機&#xff09;二自由度舵機云臺&#xff08;如下圖&#xff09;Raspiberry CSI 攝像頭 組裝后的效果&#xff1a; 二、項目目標…

力扣labuladong一刷day30天二叉樹

力扣labuladong一刷day30天二叉樹 文章目錄 力扣labuladong一刷day30天二叉樹一、654. 最大二叉樹二、105. 從前序與中序遍歷序列構造二叉樹三、106. 從中序與后序遍歷序列構造二叉樹四、889. 根據前序和后序遍歷構造二叉樹 一、654. 最大二叉樹 題目鏈接&#xff1a;https://…

智慧機房與3D機房動環監控系統的應用

智慧機房是什么&#xff1f; 智慧機房是集采集信息、實時監控、數據分析、統一管理、故障告警等功能于一體的全方位、立體化的智能環境監控系統&#xff0c;構建物聯網、大數據和云計算背景下現代企業的“數據心臟”。它能為機房管理者呈現細致入微的關鍵性數據&#xff0c;優…

電子學會C/C++編程等級考試2022年06月(五級)真題解析

C/C++等級考試(1~8級)全部真題?點這里 第1題:逃離迷宮 你在一個地下迷宮中找到了寶藏,但是也觸發了迷宮機關,導致迷宮將在T分鐘后坍塌,為此你需要在T分鐘內逃離迷宮,你想知道你能不能逃離迷宮。迷宮是一個邊長為m的正方形,其中"S"表示你所在的位置,"…

<url-pattern>/</url-pattern>與<url-pattern>/*</url-pattern>的區別

<url-pattern>/</url-pattern> servlet的url-pattern設置為/時&#xff0c; 它僅替換servlet容器的默認內置servlet&#xff0c;用于處理所有與其他注冊的servlet不匹配的請求。直白點說就是&#xff0c;所有靜態資源&#xff08;js&#xff0c;css&#xff0c;ima…

HCIA-H12-811題目解析(9)

1、【單選題】下面選項中&#xff0c;能使一臺IP地址為10.0.0.1的主機訪問Interne的必要技術是&#xff1f; 2、【單選題】 FTP協議控制平面使用的端口號為&#xff1f; 3、【單選題】 使用FTP進行文件傳輸時&#xff0c;會建立多少個TCP連接&#xff1f; 4、【單選題】完成…

ubuntu apache2配置反向代理

1.Ubuntu安裝apache sudo apt-get update sudo apt-get install apache2 2.apache2反向代理配置 sudo vim /etc/apache2/sites-available/000-default.conf 添加內容如下&#xff1a; <VirtualHost *:80># The ServerName directive sets the request scheme, host…

目標檢測YOLO實戰應用案例100講-基于深度學習的SAR圖像艦船目標檢測(續)

目錄 4基于自注意力機制的YOLO-v3算法的SAR圖像目標檢測 4.1 YOLO系列發展現狀 4.2自注意力機制

做數據分析為何要學統計學(10)——如何進行時間序列分析

時間序列是由隨時間變化的值構成&#xff0c;如產品銷量、氣溫數據等等。通過對時間序列展開分析&#xff0c;能夠回答如下問題&#xff1a; &#xff08;1&#xff09;被研究對象的活動特征是否有周期性&#xff08;也稱季節性&#xff09;&#xff08;2&#xff09;被研究對…

學生成績管理系統詳細設計書

1. 引言 本學生成績管理系統旨在滿足學校對學生成績進行高效、精準、便捷管理的需求。通過系統化的管理方式&#xff0c;改善現有成績管理方式的不足&#xff0c;提高工作效率&#xff0c;同時保證學生成績信息的準確性和安全性。本詳細設計文檔將為系統的實現提供全面的指導和…

UE4/UE5 修改/還原場景所有Actor的材質

使用藍圖方法&#xff1a; 1.修改場景所有Actor 材質&#xff1a; Wirframe&#xff1a;一個材質類 MatList&#xff1a;獲取到的所有模型的全部材質 的列表 TempAllClass&#xff1a;場景中所有獲取的 Actor 的列表 功能方法如下&#xff1a; 藍圖代碼可復制在&#xff1a…

Unity之OpenXR+XR Interaction Toolkit接入微軟VR設備Windows Mixed Reality

前言 Windows Mixed Reality 是 Microsoft 用于增強和虛擬現實體驗的VR設備,如下圖所示: 在國內,它的使用率很低,一把都是國外使用,所以適配起來是相當費勁。 這臺VR設備只能用于串流Windows,啟動后,會自動連接Window的Mixed Reality程序,然后打開微軟的增強現實門戶…

1.2 輕量級數據交互格式–JSON

對于接口來說,數據交互大部分都是使用的JSON格式,我們這里說的數據,就是我們上一章里講解HTTP協議的時候,HTTP協議結構里的實體,也就是放在body里。body里存放需要傳輸的數據,數據是JSON格式,然后通過HTTP協議來傳輸給接口,接口再以同樣的方式給我們返回。理解了這一層…

網絡基礎(五):網絡層協議介紹

目錄 一、網絡層 1、網絡層的概念 2、網絡層功能 3、IP數據包格式 二、ICMP協議 1、ICMP的作用和功能 2、ping命令的使用 2.1ping命令的通用格式 2.2ping命令的常用參數 2.3TypeCode&#xff1a;查看不同功能的ICMP報文 2.4ping出現問題 3、Tracert 4、沖突域 5、…

LSU介紹

LSU&#xff08;Load Store Unit&#xff09;是一個專門的執行單元&#xff0c;負責執行所有的加載&#xff08;load&#xff09;和存儲&#xff08;store&#xff09;指令等&#xff0c;生成load和store操作的虛擬地址&#xff0c;并從內存中加載數據或將數據從寄存器中存儲回…

關于前端原生技術-Jsonp的理解與簡述

【版權聲明】未經博主同意&#xff0c;謝絕轉載&#xff01;&#xff08;請尊重原創&#xff0c;博主保留追究權&#xff09; https://blog.csdn.net/m0_69908381/article/details/134777717 出自【進步*于辰的博客】 在學習了Jsoup這個知識點之后&#xff0c;發覺js的這一特點…