HTML 中 class 屬性介紹、用法

1、🔖 什么是 class

class 是 HTML 元素的一個核心屬性,用來為元素指定一個或多個類名。它在網頁開發中承擔三大作用:

  • 🎨 連接樣式(CSS):讓元素應用預定義的視覺效果
  • ?? 綁定行為(JS):讓元素具備狀態或交互能力
  • 🧩 表達語義結構:類名能說明這個元素的功能/角色

2、🎨 原生 CSS 中的用法

最基礎的用法是結合 CSS:

.button {background: blue;color: white;
}
<button class="button">提交</button>

可以疊加多個類,類名之間用空格分隔:

<div class="box rounded shadow"></div>

每個類都需要在 CSS 中定義才會生效。


3、? 在 Tailwind CSS 中的用法

🌐 Tailwind CSS 是一個功能類優先的 CSS 框架,提供了大量小而精的“原子類”,你可以直接在 class 屬性中組合使用,無需寫 CSS 文件。

<div class="bg-blue-100 p-4 rounded shadow">內容
</div>

這些類的含義如下:

類名功能
bg-blue-100淺藍色背景
p-4所有內邊距為 1rem(16px)
rounded圓角邊框
shadow添加陰影效果

📌 Tailwind 強調組合、快速、精確控制布局與樣式,適合現代組件化開發。


非常清楚,你提的修改意見很到位。下面是重新整理優化后的版本,重點解決以下問題:

  1. :class 的定義和文檔鏈接提前說明;
  2. 對三元寫法和對象寫法的適用場景講清楚;
  3. 補充 isActive 來源說明;
  4. 明確指出類名如 'active' 必須有對應樣式定義。

4、?? 在 Alpine.js 中動態綁定類名和行為

🌐 Alpine.js 是一個輕量級的前端交互框架,允許你直接在 HTML 標簽中聲明狀態與行為。

其中,:classx-bind:class 的縮寫,用于動態控制元素的 class 類名,根據變量值來切換不同的樣式。官方文檔:🔗 Alpine.js → Bind: class


? 1)三元表達式寫法(適合兩種狀態切換)

<div x-data="{ active: false }"><button @click="active = !active":class="active ? 'bg-blue-600' : 'bg-gray-300'">切換顏色</button>
</div>

說明:

  • x-data="{ active: false }" 定義了 Alpine 的狀態變量 active
  • @click="active = !active" 表示點擊按鈕切換狀態
  • :class="active ? 'bg-blue-600' : 'bg-gray-300'" 表示當 active 為真時應用藍色背景,否則灰色背景

📌 這種寫法適合“二選一”的場景,比如選中 / 未選中啟用 / 禁用等。


? 2)對象語法寫法(適合多個類按需添加)

<div x-data="{ isActive: true }"><button :class="{ 'active': isActive, 'rounded': true }">按鈕</button>
</div>

說明:

  • x-data="{ isActive: true }" 定義狀態變量 isActive
  • :class="{ 'active': isActive }":當 isActive 為真時添加 active 類名
  • 'rounded': true 始終添加 rounded 類名(無條件)

?? 注意:'active''rounded' 這些類名本身需要提前在你的 CSS 或 Tailwind 中定義好,才能產生樣式效果。

📌 這種對象語法寫法更靈活,適合多個類名分別根據狀態控制是否添加,可讀性更高,便于維護。

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

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

相關文章

MybatisPlus(含自定義SQL、@RequiredArgsConstructor、靜態工具類Db)

大家在日常開發中應該能發現&#xff0c;單表的CRUD功能代碼重復度很高&#xff0c;也沒有什么難度。而這部分代碼量往往比較大&#xff0c;開發起來比較費時。 因此&#xff0c;目前企業中都會使用一些組件來簡化或省略單表的CRUD開發工作。目前在國內使用較多的一個組件就是…

信貸風控規則策略累計增益lift測算

在大數據風控業務實踐過程中&#xff0c;目前業內主要還是采用規則疊加的辦法做策略&#xff0c;但是會遇到一些問題&#xff1a; 1.我們有10條規則&#xff0c;我上了前7條后&#xff0c;后面3條的絕對風險增益是多少&#xff1f; 2.我的規則之間應該做排序嗎&#xff0c;最重…

Python窗體編程技術詳解

文章目錄 1. Tkinter簡介示例代碼優勢劣勢 2. PyQt/PySide簡介示例代碼(PyQt5)優勢劣勢 3. wxPython簡介示例代碼優勢劣勢 4. Kivy簡介示例代碼優勢劣勢 5. PySimpleGUI簡介示例代碼優勢劣勢 技術對比總結選擇建議 Python提供了多種實現圖形用戶界面(GUI)編程的技術&#xff0c…

Linux 操作系統安裝及基本使用

Linux 操作系統安裝及基本使用 在信息技術飛速發展的今天&#xff0c;Linux 操作系統憑借其開源、高性能、穩定性強等優勢&#xff0c;在服務器、云計算、嵌入式等領域占據著重要地位。本文將詳細介紹如何在 VMware 虛擬機下安裝 Linux 系統&#xff08;以 CentOS 為例&#x…

Python數學可視化——顯函數、隱函數及復雜曲線的交互式繪圖技術

Python數學可視化——顯函數、隱函數及復雜曲線的交互式繪圖技術 一、引言 在科學計算和數據分析中&#xff0c;函數與方程的可視化是理解數學關系和物理現象的重要工具。本文基于Python的Tkinter和Matplotlib庫&#xff0c;實現一個功能完善的函數與方程可視化工具&#xff…

【MySQL基礎】庫的操作:創建、刪除與管理數據庫

MySQL學習&#xff1a; https://blog.csdn.net/2301_80220607/category_12971838.html?spm1001.2014.3001.5482 前言&#xff1a; 在上一篇我們已經講解了數據庫的基本內容&#xff0c;相信大家對數據庫已經有了一些自己的理解&#xff0c;從這篇開始我們就開始正式進入如何…

Linux服務器系統配置初始化腳本

服務器系統配置初始化腳本 #!/bin/bash set -euo pipefail # 安全設置&#xff1a;遇錯退出、未定義變量報錯、管道錯誤處理# 設置時區并同步時間 timedatectl set-timezone Asia/Shanghai >/dev/null || ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 安裝c…

Milvus單機模式安裝和試用

1.安裝ollama的package包&#xff1b; # install package pip install -U langchain-ollama2.我們直接使用ChatOllama實例化模型&#xff0c;并通過invoke進行調用&#xff1b; from langchain_ollama import ChatOllamallm ChatOllama(model"deepseek-r1") messa…

秒出PPT正式改名秒出AI,開啟AI賦能新體驗!

在現代辦公環境中&#xff0c;借助智能工具提升工作效率已經成為趨勢。秒出AI作為一款集AI PPT制作、動畫、巨幕、視頻、設計以及智能簡歷功能于一體的綜合辦公平臺&#xff0c;為用戶提供一站式智能內容生成解決方案&#xff0c;極大地簡化了內容創作流程。 1. AI驅動的一鍵P…

Rust 學習筆記:發布一個 crate 到 crates.io

Rust 學習筆記&#xff1a;發布一個 crate 到 crates.io Rust 學習筆記&#xff1a;發布一個 crate 到 crates.io提供有用的文檔注釋常用標題文檔注釋作為測試注釋所包含的項目 使用 pub use 導出一個方便的公共 API設置 crates.io 賬戶添加 metadata 到一個新的 crate發布到 c…

C++輸入與輸出技術詳解

文章目錄 引言一、C標準輸入輸出流1.1 cin與cout1.2 cerr與clog 二、C風格輸入輸出函數2.1 scanf與printf2.2 fgets與puts 三、輸入輸出優化四、總結 引言 在C編程中&#xff0c;輸入與輸出&#xff08;I/O&#xff09;操作是程序與用戶、文件或其他系統組件交互的核心環節。C…

安全編碼與AI接口權限控制

安全編碼與AI接口權限控制 在AI系統中,模型服務的開放接口往往涉及敏感數據、核心算法與算力資源,如果缺乏有效的安全編碼與權限控制機制,極易引發數據泄露、濫用調用或非法操作等問題。本節將從“接口安全策略”“權限驗證流程”“Token管控機制”“多租戶身份隔離”四個方…

redis五種數據結構詳解(java實現對應的案例)

一、簡述 Redis是一款高性能的鍵值對存儲數據庫&#xff0c;它支持五種基本數據類型&#xff0c;分別是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。 二、五種基本數據類型 2.1 字符串(String) String是Redis最基本的類型&#xff0c;一個key對…

大數據-273 Spark MLib - 基礎介紹 機器學習算法 決策樹 分類原則 分類原理 基尼系數 熵

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; 大模型篇章已經開始&#xff01; 目前已經更新到了第 22 篇&#xff1a;大語言模型 22 - MCP 自動操作 FigmaCursor 自動設計原型 Java篇開…

第十一章 Java基礎-繼承

文章目錄 1.繼承來源2.繼承特點3.子類能繼承父類中哪些內容1.繼承來源 是為了解決代碼的重復冗余。

Axure項目實戰:駕駛艙(數據一張圖)制作教程

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 視頻展示(本文第三部分含所有echarts示例JS代碼,可復制使用): Axure項目實戰:駕駛艙(數據一張圖…

針對Python開發的工具推薦及分析,涵蓋集成開發環境(IDE)、輕量級工具、在線開發平臺、代碼管理工具等)

以下是針對Python開發的工具推薦及全面分析&#xff0c;涵蓋集成開發環境&#xff08;IDE&#xff09;、輕量級工具、在線開發平臺、代碼管理工具等&#xff0c;結合不同場景和需求進行分類說明&#xff1a; 目錄 一、集成開發環境&#xff08;IDE&#xff09; 1. PyCharm 2…

不使用綁定的方法

public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // 初始設置 A 控件的寬度 ControlA.Width ControlB.Width / 2; // 監聽 B 控件的 SizeChanged 事件 ControlB.SizeChanged (sender, e) > { ControlA.Width ControlB.Actual…

DDR5 ECC詳細原理介紹與基于協議講解

本文篇幅較長,涉及背景原理介紹方便大家理解其運作方式 以及 基于DDR5協議具體展開介紹。 背景原理介紹 上圖參考:DDR 內存中的 ECC 寫入操作時,On-die ECC的工作過程如下: SoC將需要寫入到Memory中的數據發送給控制器控制器將需要寫入的數據直接發送給DRAM芯片在DDR5 DR…

基于springboot的益智游戲系統的設計與實現

博主介紹&#xff1a;java高級開發&#xff0c;從事互聯網行業六年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了六年的畢業設計程序開發&#xff0c;開發過上千套畢業設計程序&#xff0c;沒有什么華麗的語言&#xff0…