CSS 美化頁面(一)

一、CSS概念

? ? ?CSS(Cascading Style Sheets,層疊樣式表)是一種用于描述?HTML?或?XML(如 SVG、XHTML)文檔?樣式?的樣式表語言。它控制網頁的?外觀和布局,包括字體、顏色、間距、背景、動畫等視覺效果。

二、CSS 的作用

  1. 樣式與結構分離

    • HTML 負責網頁的?內容結構(如標題、段落、圖片)。

    • CSS 負責?視覺表現(如字體大小、顏色、布局)。

    • 兩者分離使代碼更易維護和修改。

  2. 控制網頁外觀

    • 精確調整元素的?顏色、字體、間距、邊框、背景?等。

    • 實現?響應式設計(適配手機、平板、電腦等不同設備)。

  3. 布局與動畫

    • 通過?Flexbox、Grid?等實現復雜布局。

    • 使用?過渡(Transition)和動畫(Animation)?增強交互體驗。

三、CSS 的基本工作原理

  1. 選擇器(Selector)
    指定要樣式化的 HTML 元素(如?p.class#id)。

  2. 屬性與值(Property & Value)
    定義具體的樣式規則(如?color: red;)。

  3. 層疊(Cascading)

    • 當多個樣式規則沖突時,按?優先級?決定最終效果。

    • 優先級規則:!important?> 內聯樣式 > ID > 類 > 元素選擇器。

?四、CSS 基本語法

選擇器 {屬性: 值;  /* 聲明塊 */
}
h1 {color: red;     /* 文字顏色 */font-size: 24px; /* 字號 */
}

?五、CSS 的三種引入方式

方式示例適用場景
內聯樣式<p style="color: red;">快速測試,但不推薦大規模使用
內部樣式表<style> p { color: red; } </style>小型項目或單頁
外部樣式表<link href="style.css" rel="stylesheet">主流方式,便于維護

六、CSS 基礎選擇器

選擇器類型示例作用
元素選擇器p選擇所有?<p>?標簽
類選擇器.active選擇?class="active"?的元素
ID 選擇器#main選擇?id="main"?的元素
通配選擇器*選擇所有元素
屬性選擇器[type="text"]選擇指定屬性的元素
分組選擇器h1, h2同時選擇多個元素

補充說明

  • 優先級:ID 選擇器 > 類選擇器 > 元素選擇器 > 通配選擇器。

  • 組合使用:基礎選擇器可組合成更復雜的選擇器(如后代選擇器?.box p)。

實際應用:

1.?元素選擇器(標簽選擇器)

?場景:統一設置所有段落文本的樣式。

  <p>這是一個普通段落。</p><p>這是另一個段落。</p>
/* 選中所有 <p> 元素 */p {font-size: 36px;line-height: 1.5;color: #bd2222;border: 3px solid #ccc;}

2.?類選擇器(Class Selector)

場景:標記需要高亮的按鈕和警告文本。

    <button class="btn-primary">提交</button><div class="alert">警告信息!</div>
 /* 選中所有 class="btn-primary" 的元素 */.btn-primary {background: blue;color: white;}/* 選中所有 class="alert" 的元素 */.alert {color: rgb(178, 192, 95);font-weight: bold;background: rgb(48, 35, 35);border: 1px solid rgb(178, 192, 95);width:100px;height:20px;}

?

3.?ID 選擇器

場景:設置頁面頂部導航欄的樣式(ID 唯一)。

 <nav id="main-nav"><a href="#">首頁</a><a href="#">登錄</a><a href="#">注冊</a></nav>
 /* 選中 id="main-nav" 的元素 */#main-nav {background: black;padding: 10px;}/* 選中導航欄內的 <a> 標簽 */#main-nav a {color: white;text-decoration: none;padding: 5px 10px;}

4.?通配選擇器(Universal Selector)

場景:重置默認邊距和盒模型。

/* 全局重置 */
* {margin: 0;padding: 0;box-sizing: border-box;
}

? 所有元素的外邊距和內邊距被清零,盒模型更易控制。

?

5.?屬性選擇器(Attribute Selector)

場景:為所有外部鏈接添加圖標。

  <a href="https://www.baidu.com" target="_blank">外部鏈接</a><a href="./my.html" name="inner">內部鏈接</a>
  /* 選中帶有 target="_blank" 的 <a> 標簽 */a[target="_blank"]::after {content: "↗";margin-left: 5px;}a[name="inner"]::after {content: "↗";margin-left: 5px;}

6.?分組選擇器(Grouping Selector)

場景:統一標題字體。

    <h1>標題1</h1><h2>標題2</h2><h3>標題3</h3>
/* 同時選中 h1, h2, h3 */h1,h2,h3 {font-family: "Microsoft YaHei", sans-serif;margin-bottom: 10px;color: blueviolet;}

綜合案例:一個簡單的卡片組件

  <div class="card" id="featured-card"><h2 class="card-title">特別推薦</h2><p class="card-content">請單擊查看詳情</p><button type="button" class="btn">了解更多</button></div>
     /* 元素選擇器 */p {margin: 5px 0;}/* 類選擇器 */.card {width: 150px;height: 180px;/* 為卡片添加邊框 */border: 5px solid #ddd;padding: 5px;}.card-title {font-size: 25px;text-align: center;}.card-content {font-size: 20px;text-align: center;color: cadetblue;} .btn {background: orange;color: white;margin-left: 60px;margin-top: 30px;}/* ID 選擇器 */#featured-card {border-color: gold;/* 高亮特色卡片 */}

?

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

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

相關文章

空轉 | GetAssayData doesn‘t work for multiple layers in v5 assay.

問題分析 當我分析多個樣本的時候&#xff0c;而我的seurat又是v5時&#xff0c;通常就會出現這樣的報錯。 錯誤的原因有兩個&#xff1a; 一個是參數名有slot變成layer 一個是GetAssayData 不是自動合并多個layers&#xff0c;而是選擇保留。 那么如果我們想合并多個樣本&…

UE4學習筆記 FPS游戲制作17 讓機器人持槍 銷毀機器人時也銷毀機器人的槍 讓機器人射擊

添加武器插槽 打開機器人的Idle動畫&#xff0c;方便查看武器位置 在動畫面板里打開骨骼樹&#xff0c;找到右手的武器節點&#xff0c;右鍵添加一個插槽&#xff0c;重命名為RightWeapon&#xff0c;右鍵插槽&#xff0c;添加一個預覽資產&#xff0c;選擇Rifle&#xff0c;根…

【JavaScript】七、函數

文章目錄 1、函數的聲明與調用2、形參默認值3、函數的返回值4、變量的作用域5、變量的訪問原則6、匿名函數6.1 函數表達式6.2 立即執行函數 7、練習8、邏輯中斷9、轉為布爾型 1、函數的聲明與調用 function 函數名(形參列表) {函數體 }eg&#xff1a; // 聲明 function sayHi…

硬件基礎--05_電壓

電壓(電勢差) 有了電壓&#xff0c;電子才能持續且定向移動起來&#xff0c;所有電壓是形成電流的必要條件。 電壓越大&#xff0c;能“定向移動”起來的電子就越多&#xff0c;電流就會越大。 有電壓的同時&#xff0c;形成閉合回路才會有電流&#xff0c;不是有電壓就有電流…

ES數據過多,索引拆分

公司企微聊天數據存儲在 ES 中&#xff0c;雖然按照企業分儲在不同的ES 索引中&#xff0c;但某些常用的企微主體使用量還是很大。4年中一個索引存儲數據已經達到46多億條數據&#xff0c;占用存儲3.1tb, ES 配置 由于多一個副本&#xff0c;存儲得翻倍&#xff0c;成本考慮…

存儲服務器是指什么

今天小編主要來為大家介紹存儲服務器主要是指什么&#xff0c;存儲服務器與傳統的物理服務器和云服務器是不同的&#xff0c;其是為了特定的目標所設計的&#xff0c;在硬件配置方式上也有著一定的區別&#xff0c;存儲空間會根據需求的不同而改變。 存儲服務器中一般會配備大容…

golang不使用鎖的情況下,對slice執行并發寫操作,是否會有并發問題呢?

背景 并發問題最簡單的解決方案加個鎖,但是,加鎖就會有資源爭用,提高并發能力其中的一個優化方向就是減少鎖的使用。 我在之前的這篇文章《開啟多個協程,并行對struct中的每個元素操作,是否會引起并發問題?》中討論過多協程場景下struct的并發問題。 Go語言中的slice在…

Java知識整理round1

一、常見集合篇 1. 為什么數組索引從0開始呢&#xff1f;假如從1開始不行咩 數組&#xff08;Array&#xff09;&#xff1a;一種用連續的內存空間存儲相同數據類型數據的線性數據結構 &#xff08;1&#xff09;在根據數組索引獲取元素的時候&#xff0c;會用索引和尋址公式…

【C++指針】搭建起程序與內存深度交互的橋梁(下)

&#x1f525;&#x1f525; 個人主頁 點擊&#x1f525;&#x1f525; 每文一詩 &#x1f4aa;&#x1f3fc; 往者不可諫&#xff0c;來者猶可追——《論語微子篇》 譯文&#xff1a;過去的事情已經無法挽回&#xff0c;未來的歲月還可以迎頭趕上。 目錄 C內存模型 new與…

JavaScript創建對象的多種方式

在JavaScript中&#xff0c;創建對象有多種方式&#xff0c;每種方式都有其優缺點。本文將介紹四種常見的對象創建模式&#xff1a;工廠模式、構造函數模式、原型模式和組合模式&#xff0c;并分析它們的特點以及如何優化。 1. 工廠模式 工廠模式是一種簡單的對象創建方式&am…

muduo庫的思路梳理

前言 對于muduo庫源碼的剖析我發現還是有些混亂的&#xff0c;所以這里再次梳理一下muduo網絡庫爭取可以簡單明了 首先對于muduo庫來說&#xff0c;不能想的得太過于復雜&#xff0c;它無非就是一個線程池加上epoll組成的網絡庫 這里我們從用的角度出發理解muoduo網絡庫 #inc…

Keil5 安裝全攻略

Keil5 安裝全攻略 Keil5 是一款廣泛用于嵌入式開發的 IDE&#xff0c;支持多種微控制器架構&#xff08;如 ARM、C51&#xff09;。本文將詳細介紹 Keil5 的安裝步驟、常見問題及解決方法&#xff0c;幫助您快速上手。 1. 安裝前的準備工作 (1) 系統要求 操作系統&#xff1…

C語言do...while語句將數字反轉后輸出

一、題目引入 輸入一個數字,將各位數字反轉后輸出? 參考代碼: 二、分析代碼 接著圖片中的分析 第一 ->a 的值變為12 第二 ->進入while循環條件,a為12不等于0循環才停止(a的值為12,顯然不等于0) 所以繼續進行循環 第三 ->此時b的值為12取各位上的數字(即2) 打印…

優選算法系列(前綴和 _下) k

目錄 五&#xff1a;和為 k 的子數組&#xff08;medium&#xff09; 題目鏈接&#xff1a;560. 和為 K 的子數組 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a; 代碼&#xff1a; 六&#xff1a;和可被 K 整除的子數組&#xff08;medium&#xff09; 題目鏈…

mac m3 pro 部署 stable diffusion webui

什么是Stable Diffusion WebUI &#xff1f; Stable Diffusion WebUI 是一個基于Stable Diffusion模型開發的圖形用戶界面&#xff08;GUI&#xff09;工具。通過這個工具&#xff0c;我們可以很方便的基于提示詞&#xff0c;描述一段文本來指導模型生成相應的圖像。相比較通過…

OpenCV圖像拼接(6)根據權重圖對源圖像進行歸一化處理函數normalizeUsingWeightMap()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 cv::detail::normalizeUsingWeightMap 是 OpenCV 中用于圖像拼接細節處理的一個函數。它根據權重圖對源圖像進行歸一化處理&#xff0c;通常用于…

23種設計模式-外觀(Facade)設計模式

外觀設計模式 &#x1f6a9;什么是外觀設計模式&#xff1f;&#x1f6a9;外觀設計模式的特點&#x1f6a9;外觀設計模式的結構&#x1f6a9;外觀設計模式的優缺點&#x1f6a9;外觀設計模式的Java實現&#x1f6a9;代碼總結&#x1f6a9;總結 &#x1f6a9;什么是外觀設計模式…

capl語言基礎語法(二)

1.strncpy&#xff1a;將字符串復制到另一個字符串中。 輸入&#xff1a; dest 是目標字符串。 src 是源字符串。 n 是要復制的最大字符數。 語法&#xff1a; char *strncpy(char *dest, const char *src, size_t n); 例子&#xff1a; strncpy(gStringRep,"",…

QLoRA和LoRA 微調

QLoRA 其實是一種結合了量化和 LoRA 微調技術的統一方法&#xff0c;而不是同時使用兩種不同的微調方式。換句話說&#xff0c;QLoRA 的意思就是&#xff1a;先把大模型的主權重用低精度&#xff08;例如 4-bit&#xff09;量化&#xff0c;從而大幅減少存儲需求&#xff1b;然…

Qt Concurrent 并發 Map 和 Map-Reduce

并發 Map 和 Map-Reduce QtConcurrent::map()會對容器中的每個項目應用一個函數&#xff0c;對項目進行就地修改。QtConcurrent::mapped() 類似于 map()&#xff0c;但它返回的是一個包含修改內容的新容器。QtConcurrent::mappedReduced() 類似于 mapped()&#xff0c;只不過修…