熟練掌握並充分利用CSS3的新特性,更新完畢。

来源:https://www.cnblogs.com/liushihong21/archive/2023/09/14/17694343.html
-Advertisement-
Play Games

介紹 ESLint 是一個根據方案識別並報告 ECMAScript/JavaScript 代碼問題的工具,其目的是使代碼風格更加一致並避免錯誤。在很多地方它都與 JSLint 和 JSHint 類似,除了: ESLint 使用 Espree 對 JavaScript 進行解析。 ESLint 在代碼 ...


1.1  嘗試新穎的CSS3特性

首先,我們來看一個具體的案例。  https://code.juejin.cn/pen/7277536985772720139  

1.2  CSS3新特性簡介和瀏覽器支持情況

新特性簡介:

1)強大的CSS3選擇器 2)拋棄圖片的視覺效果 3)盒模型變化(多列佈局和彈性盒模型 ) 4)陰影效果 5)Web字體和web Font 圖標 6)CSS3過渡與動畫交互效果 7)媒體查詢

什麼是漸進增強和優雅降級?

1)漸進增強:指一開始就針對低版本瀏覽器進行構建頁面,完成基本的功能,然後再針對高級瀏覽器進行效果、交互、追加功能達到更好的體驗。相當於向上相容,從非常基礎的、能夠起作用的版本開始,並不斷擴充,以適應未來環境的需要。『向上相容,先滿足大多數瀏覽器』 2)優雅降級:指一開始就構建站點的完整功能,然後針對瀏覽器測試和修複。相當於向下相容,從複雜的現狀開始,並試圖減少用戶體驗的供給。優雅降級是從複雜的現狀開始,並試圖減少用戶體驗的供給。 『向下相容,滿足大多數用戶使用的主流瀏覽器』   1.3  CSS3偽類選擇器1 1)什麼是偽類選擇器? 偽類選擇器是CSS中的一種選擇器,用來選擇處於特定狀態的元素。 偽類選擇器是CSS選擇器的一種,它可以選擇處於特定狀態的元素,例如:鏈接(a:link)、已被訪問的鏈接(a:visited)、激活的鏈接(a:active)、滑鼠懸停鏈接(a:hover)、目標鏈接(a:target)等。 偽類選擇器的語法格式為:選擇器:偽類名{屬性:值;}。 2)動態偽類選擇器 動態偽類選擇器是CSS中的一種特殊類型的選擇器,它可以基於元素當前所處的狀態來選取元素。 動態偽類選擇器有:
  • :link:匹配所有未被訪問的鏈接。
  • :visited:匹配所有已被訪問的鏈接。
  • :hover:匹配滑鼠指針浮動在其上的元素。
  • :active:匹配被用戶激活的元素。
  • :focus:匹配獲得焦點的元素。
3)UI元素狀態偽類選擇器

UI元素狀態偽類選擇器是根據元素狀態來選擇元素的一種CSS選擇器,常見的UI元素狀態偽類選擇器包括以下幾個:

  • E:enabled:用來指定當前元素處於可用狀態時的樣式。
  • E:disabled:用來指定當前元素處於不可用狀態時的樣式。
  • E:read-only:用來指定當元素處於只讀狀態時的樣式。
  • E:read-write:用來指定當元素處於非只讀狀態時的樣式。
  • E:default:用來指定當頁面打開時預設處於選取狀態的單選按鈕或者覆選框的樣式。
  • E:indeterminate:用來指定當頁面打開時,如果一組單選按鈕中任何一個單選按鈕都沒有設定為選取狀態時的整組的單選按鈕的樣式。
  • E::selection:用來指定當元素處於選中狀態時的樣式。
Demo1.3  https://code.juejin.cn/pen/7278515130269171775   1.4  CSS3偽類選擇器2結構偽類選擇器 1)什麼是結構偽類選擇器? 結構偽類選擇器是針對HTML的結構進行分類的選擇器。 結構偽類選擇器根據文檔結構來選擇元素,常用於根據父級選擇器裡面的子元素,能大大減少HTML元素的id屬性和class屬性的依賴。結構偽類選擇器的特征就是位置,分為三大類,一類是e:first-child、e:last-child、e:only-child、e:nth-child(n/even/odd)等,二類是e:first-of-type、e:last-of-type、e:only-of-type、e:nth-of-type等, 三類是e:root、e:empty、e:target、e:not等。 Demo1.4  https://code.juejin.cn/pen/7277792582955565112   1.5  CSS3偽類選擇器2結構偽類選擇器

CSS3偽元素是CSS3的一個新特性,它可以幫助我們創建一些特殊的樣式效果。偽元素之所以被稱為偽元素,是因為他們不是真正的頁面元素,HTML沒有對應的元素,但是其所有用法和表現行為與真正的頁面元素一樣,可以對其使用諸如頁面元素一樣的CSS樣式,錶面上看上去貌似是頁面的某些元素來展現,實際上是CSS樣式展現的行為,因此被稱為偽元素。
CSS3偽元素有四種類型:

  • ::first-letter:選取元素的第一行文字。
  • ::first-line:選取元素的第一行文字。
  • ::before:在元素內部的前面插入內容。
  • ::after:在元素內部的後面插入內容。

請註意,偽元素必須與真實的選擇器一起使用,例如 p::before 或 h1::first-line。使用偽元素可以幫助我們簡化HTML結構,而不需要額外的HTML標簽。

Demo1.5  https://code.juejin.cn/pen/7277894226740772921

 

2.1  CSS3用border-radius畫圓形

Border-radius的優點:
  • 減少網站的維護工作量
  • 提高網站性能
  • 增加了視覺美觀性
Demo2.1  https://code.juejin.cn/pen/7277935336846524471   2.2  CSS3畫三角形和對話框 三角形角尖相反的方向設置顏色值。若角尖朝左,則右邊角設置顏色值。其他方向同理可得。 1)三角形 Demo2.2.1  https://code.juejin.cn/pen/7278146058071310375   2)對話框   Demo2.2.2  https://code.juejin.cn/pen/7278149522558517289   2.3  CSS3畫菱形和平行四邊形 transform適用於盒模型元素來傾斜(skew)、旋轉(rotate)、縮放(transform-origin)、位移(transform-origin) 1)菱形

Demo2.3.1  https://code.juejin.cn/pen/7278210215978205218

2)平行四邊形

Demo2.3.2  https://code.juejin.cn/pen/7278210662617055289

 

2.4  畫五角星和六角星

Demo2.4  https://code.juejin.cn/pen/7278269246235213865

 

2.5  CSS3畫五邊形和六邊形

Demo2.5  https://code.juejin.cn/pen/7278288845534134307

 

2.6  CSS3畫心形和蛋形

Demo2.6  https://code.juejin.cn/pen/7278511265814118460

 

2.7  CSS3畫太極陰陽圖

Demo2.7  https://code.juejin.cn/pen/7278601329470406667

 

3.1  CSS3製作透明背景層

1)opacity: value|inherit;
屬性值:
value 指定不透明度。從0.0(完全透明)到1.0(完全不透明)
inherit Opacity屬性的值應該從父元素繼承

2)box-shadow:3px 3px  5px  #888;   /* x偏移量 | y偏移量 | 陰影寬度 | 陰影顏色 */

Demo3.1  https://code.juejin.cn/pen/7278621775661891599

 

3.2  CSS3的顏色模式(1)

1)rgba(R,G,B,A)
R:紅色值。正整數百分數
G:綠色值。正整數百分數
B:藍色值。正整數|百分數
A:Alpha透明度。取值0~1之間

2)hsla(H,S,L,A)
H:Hue(色調)。0(或360)表示紅色,120表示綠色,240表示藍色下也可取其他數值來指定顏色。取值為:0-360
S:Saturation(飽和度)。取值為 :0.0%-100.0%
L:Lightness(亮度)。取值為 :0.0% - 100.0%
A:Alpha透明度。取值0~1之間。

Demo3.2  https://code.juejin.cn/pen/7278669706104422457

 

3.3  CSS3的顏色模式(2)-實例仿天貓商品展示效果

Demo3.3  https://code.juejin.cn/pen/7279067304699101239

 

3.4  CSS3線性漸變 linear-gradient([<point>||<angle>,]? <stop>,<stop>[,<stop>]*) <angle>:用角度值指定漸變的方向(或角度)。 to left: 設置漸變為從右到左。相當於:270deg to right:設置漸變從左到右。相當於:90deg  to top:設置漸變從下到上。相當於:0deg to bottom:設置漸變從上到下。相當於:180deg。   <color-stop>用於指定漸變的起止顏色: <color>:指定顏色。 <length>:用長度值指定起止色位置。不允許負值 <percentage>:用百分比指定起止色位置。

Demo3.4  https://code.juejin.cn/pen/7279081313213087763

 

3.5  CSS3徑向漸變 radial-gradient radial-gradient([<bg-position>||<angle>,]? [<shape>||<size>,]? <color-stop>,<color-stop>[,<color-stop>]*);

Demo3.5  https://code.juejin.cn/pen/7279083160313266232

 

3.6  CSS3重覆性漸變  radial-gradient([<bg-position>||<angle>,]? [<shape>||<size>,]? <color-stop>,<color-stop>[,<color-stop>]*);

Demo3.6  https://code.juejin.cn/pen/7279236997292818491

 

3.7  CSS3盒子陰影效果box-shadow

Demo3.7  https://code.juejin.cn/pen/7279238667225268279

 

4.1  CSS3製作緩慢變長的方形(transition特效)

Transition
transition-property: 過渡屬性(預設值為all),可填寫其他屬性例如background、width、height
transition-duration: 過渡持續時間(預設值為0s)
transiton-timing-function: 過渡函數(預設值為ease函數)
transition-delay: 過渡延遲時間(預設值為0s)

Demo4.1  https://code.juejin.cn/pen/7279236997292818491

 

4.2、4.3  CSS3仿天貓專題過渡效果實例

Demo4.2、4.3  https://code.juejin.cn/pen/7279618834334482493

 

4.4  CSS3仿天貓類別過渡效果製作

Demo4.4  https://code.juejin.cn/pen/7279633686172008511

 

5.1、5.2  CSS3動畫中的@keyframes關鍵幀講解

animation複合屬性講解
animation-name
animation-duration
animation-timing-function
animation-delay
animation-iteration-count
animation-direction

Demo5.1、5.2  https://code.juejin.cn/pen/7279637600582697018

 

5.3  CSS3動畫綜合實例製作-內容載入loading動畫實現

Demo5.3  https://code.juejin.cn/pen/7279639554364833833

 

5.4  CSS3 Loading動畫效果實例2

Demo5.4  https://code.juejin.cn/pen/7279640723501088824

 

6.1  CSS3製作發光字,立體字,蘋果字體

text-shadow:h-shadow V-shadow blur color;

Demo6.1  https://code.juejin.cn/pen/7279788933557616655

 

6.2  CSS3 用text-overflow解決文字排版問題

text-overflow:clip | ellipsis | string;

Demo6.2  https://code.juejin.cn/pen/7279790619282079804

 

6.3  CSS3 新的字體單位rem-大結局

em是根據它的父級字體大小來決定的; rem 是根據文檔中的根元素來決定的。

Demo6.3  https://code.juejin.cn/pen/7279791510601220108

鑒定完畢,歡迎友們一起交流學習!!

本文來自博客園,作者:紅石榴21,轉載請註明原文鏈接:https://www.cnblogs.com/liushihong21/p/17694343.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、文件管理: 1.1、ls: ​ 顯示文件/目錄屬性 常見參數: -l :列出長數據串,包含文件的屬性與許可權數據等 -a :列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用) -d :僅列出目錄本身,而不是列出目錄的文件數據 -h :將文件容量以較易讀的方式(GB,kB等)列出來 - ...
  • 1.date文件的備份 2.mysqldump 備份 說明:mysqldump是MySQL資料庫中的一個實用程式,它主要用於轉儲(備份)資料庫。mysqldump通過生成一個SQL腳本文件,包含從頭開始重新創建資料庫所必需的(如 CREATE TABLE和INSERT等),來實現資料庫的備份和轉儲。 ...
  • 1.分組 group by 詳情見,發佈的第七篇博客文章,7- MySQL函數 2.排序 order by 說明:在MySQL中,ORDER BY是一種用於對查詢結果進行排序的關鍵字。它可以根據一列或多列的值,以升序或降序的方式對查詢結果進行排序,使得查詢者可以更加方便 地查看、分析和處理數據。 使 ...
  • 1.分組group by 在MySQL中,GROUP BY的意思是“分組查詢”,它可以根據一個或多個欄位對查詢結果進行分組。 GROUP BY的作用是通過一定的規則將一個數據集劃分成若幹個小的區域,然後針對若幹個小區域進行數據處理。這可以理解為將數據按照某個欄位或者多個欄位進行分組。 使用GROUP ...
  • MySQL資料庫管理 資料庫-->數據表-->行(記錄):用來描述一個對象的信息 列(欄位):用來描述對象的一個屬性 常用的數據類型: int :整型 無符號[0,2^32-1],有符號[-2^31,2^31-1] float :單精度浮點 4位元組32位 double :雙精度浮點 8位元組64位 c ...
  • 在MySQL中,高級查詢是指使用更複雜的查詢語句和操作符來檢索和操作資料庫中的數據。高級查詢可以幫助您更精確地找到所需的信息,並提高查詢的效率和靈活性。 以下是高級查詢的一些常見應用場景和意義: 連接多個表:使用JOIN操作符將多個表連接起來,以便在一次查詢中獲取相關聯的數據。這對於在多個表之間建立 ...
  • 背景: 隨著項目體量越來越大,用戶群體越來越多,用戶的聲音也越來越明顯;關於應用發版之後用戶無感知,導致用戶用的是仍然還是老版本功能,除非用戶手動刷新,否則體驗不到最新的功能;這樣的體驗非常不好,於是我們團隊針對該問題給出了相應的解決方案來處理;技術棧:vue3+ts+vite+ant-design ...
  • 相比用戶停留時間短、用完即走的 Web 頁面,桌面 QQ 用戶在一次登錄後,可能會掛機一周以上,這段期間,如果沒有嚴格控制好 QQ 記憶體占用,那麼結果可能是用戶交互響應變慢、甚至 Crash。在系統監控工具里,高記憶體占用也會被直觀地反映出來,帶來不好的口碑。MAC QQ 灰度期間,也聽到了一些用戶關... ...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...