熟練掌握並充分利用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

持續更新中。。。

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

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


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

-Advertisement-
Play Games
更多相關文章
  • 在本次討論中,我們確實只是提到了DMA技術在文件傳輸過程中的重要作用,並對零拷貝技術進行了簡要介紹。然而,網路傳輸中存在的問題和優化方法是一個龐大的話題,涉及到諸多方面。因此,我決定將這些問題的詳細討論留到下一篇文章中,以便更全面地探討網路傳輸的優化。我希望通過這樣的討論,能夠為讀者提供有益的信息和... ...
  • 哈嘍大家好,我是鹹魚 最近我們需要把 Nginx 的日誌接入到自研的日誌採集平臺上,但是這個平臺只支持 JSON 格式,所以需要把 Nginx 日誌格式改成 JSON 格式 例如下麵這樣的效果 剛開始在主配置文件 nginx.conf 中定義了一個名叫 json 的日誌格式欄位 驗證的時候其他內容沒 ...
  • 1. 覆蓋索引 1.1. 設計優秀的索引應該考慮到整個查詢,而不單是WHERE條件部分 1.2. 如果一個索引包含(或者說覆蓋)所有需要查詢的欄位的值,我們就稱之為覆蓋索引 1.3. 只有B-tree索引可以用於覆蓋索引 1.4. 如果查詢只需要掃描索引而無須回表 1.4.1. 索引條目通常遠小於數 ...
  • MySQL 存儲過程是一種強大的資料庫功能,它允許你在資料庫中存儲和執行一組SQL語句,類似於編程中的函數。存儲過程可以大幅提高資料庫的性能、安全性和可維護性。本文將詳細介紹MySQL存儲過程的使用。 什麼是MySQL存儲過程? MySQL存儲過程是一組預編譯的SQL語句,它們以一個名稱存儲在資料庫 ...
  • 近日,袋鼠雲大數據引擎專家郝衛亮,為大家帶來了《袋鼠雲在實時數據湖上的探索與實踐》主題分享,幫助大家能瞭解到什麼是實時數據湖、如何進行數據湖選型及數據平臺建設數據湖的經驗。 如今,大規模、高時效、智能化數據處理已是“剛需”,企業需要更強大的數據處理能力,來應對數據查詢、數據處理、數據挖掘、數據展示以 ...
  • 本文分享自華為雲社區《GaussDB(DWS)性能調優:Sort+Groupagg聚集引起的性能瓶頸案例》,作者: O泡果奶~ 。 本文針對SQL語句長時間執行不出來,且verbose執行計劃中出現Sort+GroupAgg聚集方式的案例進行分析。 1、【問題描述】 語句執行時間過長,2300s+也 ...
  • 自 3.0 版本發佈以來,在研發人員和社區用戶的不斷努力下,TDengine 做了大量更新,產品穩定性和易用性也在不斷提升。近日,TDengine 3.1.1.0 成功發佈,本文將向大家簡單介紹一下該版本涉及的重大更新。 寫在前面 伴隨 2023 年 9 月官網改版,TDengine 正式升級為高性 ...
  • 分享的 HTML 與上圖內容一樣,需要修改的小伙伴可以自行修改內容。 <style><!-- @import url("https://fonts.googleapis.com/css?family=Share+Tech+Mono|Montserrat:700"); * { margin: 0; p ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...