Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
果你正在構(gòu)建網(wǎng)站或Web應(yīng)用程序,你應(yīng)該已經(jīng)知道代碼重復(fù)被認(rèn)為是一種不良實(shí)踐。
這就是為什么你應(yīng)該學(xué)習(xí)如何使用CSS變量來(lái)減少你編寫的CSS代碼量并將你的樣式帶到一個(gè)新的水平。
最成功的Web應(yīng)用程序擁有令人驚嘆的設(shè)計(jì)。不幸的是,為了達(dá)到預(yù)期的效果,Web開發(fā)人員需要準(zhǔn)備大量的樣式。這迫使我們?cè)谠S多不同的元素中重復(fù)值,比如顏色。
幸運(yùn)的是,現(xiàn)代樣式表支持CSS變量,這使您可以減少代碼庫(kù)中的重復(fù)。你不需要像CSS模塊、Less或SASS這樣的外部工具來(lái)利用它。
在這個(gè)全面的指南中,我將向您展示如何有效地使用CSS變量,涵蓋從純HTML和CSS的基本示例到更高級(jí)的框架,如React和Next.js。
(本文內(nèi)容參考:java567.com)
復(fù)雜的網(wǎng)站都會(huì)有大量的CSS代碼,通常也會(huì)有許多重復(fù)的值。
舉個(gè)例子,同樣一個(gè)顏色值可能在成千上百個(gè)地方被使用到,如果這個(gè)值發(fā)生了變化,需要全局搜索并且一個(gè)一個(gè)替換,效率不高且容易出錯(cuò)。
自定義屬性在某個(gè)地方存儲(chǔ)一個(gè)值,然后在其他許多地方引用它。另一個(gè)好處是語(yǔ)義化的標(biāo)識(shí)。比如,--main-text-color 會(huì)比 #00ff00 更易理解,尤其是這個(gè)顏色值在其他上下文中也被使用到。
自定義屬性(有時(shí)候也被稱作CSS變量或者級(jí)聯(lián)變量)是由CSS作者定義的,它包含的值可以在整個(gè)文檔中重復(fù)使用。
由自定義屬性標(biāo)記設(shè)定值(比如: --main-color: black;),由 var() 函數(shù)來(lái)獲取值(比如: color: **var(--main-color)**;)。
在構(gòu)建大型站點(diǎn)時(shí),作者通常會(huì)面對(duì)可維護(hù)性的挑戰(zhàn)。在這些網(wǎng)頁(yè)中,所使用的CSS 的數(shù)量是非常龐大的,并且在許多場(chǎng)合大量的信息會(huì)重復(fù)使用。
例如,在網(wǎng)頁(yè)中維護(hù)一個(gè)配色方案,意味著一些顏色在 CSS 文件中多次出現(xiàn),并被重復(fù)使用。當(dāng)你修改配色方案時(shí),不論是調(diào)整某個(gè)顏色或完全修改整個(gè)配色,都會(huì)成為一個(gè)復(fù)雜的問(wèn)題,不容出錯(cuò),而單純查找替換是遠(yuǎn)遠(yuǎn)不夠的。
如果使用了CSS 框架,這種情況會(huì)變得尤其糟糕,此時(shí)如果要修改顏色,則需要對(duì)框架本身進(jìn)行修改。
在這些場(chǎng)合使用 LESS 或 Sass 類似的預(yù)處理器是非常有幫助的,但是這種通過(guò)添加額外步驟的方式,可能會(huì)增加系統(tǒng)的復(fù)雜性。
CSS變量為我們帶來(lái)一些預(yù)處理器的便利,并且不需要額外的編譯。
這些變量的第二個(gè)優(yōu)勢(shì)就是名稱本身就包含了語(yǔ)義的信息。CSS 文件變得易讀和理解。main-text-color比文檔中的#00ff00更容易理解,特別是同樣的顏色出現(xiàn)在不同的文件中的時(shí)候。
下面是 CSS 變量的使用方法和步驟。
我們都知道,在 JS 中要使用一個(gè)變量前,必須聲明這個(gè)表變量。在 CSS 中也是一樣的道理。
聲明一個(gè)自定義屬性,屬性名需要以兩個(gè)減號(hào)(--)開始,屬性值則可以是任何有效的CSS值。和其他屬性一樣,自定義屬性也是寫在規(guī)則集之內(nèi)的,如下:
body {
--bg-color: #7F583F;
--color: #F7EFD2;
}
上面代碼中,body選擇器里面聲明了兩個(gè)變量:--bg-color和--color。
它們與color、font-size等正式屬性沒(méi)有什么不同,只是沒(méi)有默認(rèn)含義。所以 CSS 變量(CSS variable)又叫做**"CSS 自定義屬性"**(CSS custom properties)。
規(guī)則集所指定的選擇器定義了自定義屬性的可見(jiàn)作用域。通常的最佳實(shí)踐是定義在根偽類 :root下,這樣就可以在HTML文檔的任何地方訪問(wèn)到它了:
:root {
--main-bg-color: #eee;
}
自定義屬性名是大小寫敏感的,--my-color 和 --My-color 會(huì)被認(rèn)為是兩個(gè)不同的自定義屬性。
通過(guò)var()函數(shù)來(lái)讀取變量。語(yǔ)法如下:
var(custom-property-name, value)
變量名稱必須以兩個(gè)破折號(hào)(--)開頭,且區(qū)分大小寫!
使用方法:
element {
background-color: var(--main-bg-color);
}
變量也可以使用在變量聲明中:
:root {
--primary-color: #eee;
--primary-bg-color: var(--main-bg-color);
}
變量值只能用作屬性值,不能用作屬性名。
在 JS 代碼中,我們可能需要讀取 CSS 變量的值,其方法如下:
const root = document.querySelector(":root");
// 設(shè)置 CSS 變量
root.style.setProperty("--main-bg-color", "red");
// 讀取 CSS 變量
const computedStyle = getComputedStyle(root);
const mainBgColor = computedStyle.getPropertyValue("--main-bg-color");
console.log(mainBgColor);
// 刪除 CSS 變量
root.style.removeProperty("--main-bg-color");
以上就是關(guān)于 CSS 變量的一些基本概念及使用方法,更多詳情待后續(xù)!
靈活使用 CSS 變量,不僅可以提高生產(chǎn)力,也能夠提高代碼的可閱讀性和維護(hù)性。
~
~
~ 本文完
學(xué)習(xí)有趣的知識(shí),結(jié)識(shí)有趣的朋友,塑造有趣的靈魂!
大家好!我是〖編程三昧〗的作者 隱逸王,我的公眾號(hào)是『編程三昧』,歡迎關(guān)注,希望大家多多指教!
知識(shí)與技能并重,內(nèi)力和外功兼修,理論和實(shí)踐兩手都要抓、兩手都要硬!
HTML文本格式化通常使用一系列特定的標(biāo)簽來(lái)改變文本的外觀或結(jié)構(gòu)。這些標(biāo)簽可以控制文本的字體、大小、顏色、對(duì)齊方式等,也可以用來(lái)標(biāo)記文本的邏輯結(jié)構(gòu)(如段落、標(biāo)題、列表等)。除了這些基本的格式化標(biāo)簽,HTML還支持通過(guò)CSS(級(jí)聯(lián)樣式表)來(lái)更精細(xì)和靈活地控制文本的格式和樣式。
參考文檔:https://www.cjavapy.com/article/3306/
HTML中,文本格式化和結(jié)構(gòu)化主要通過(guò)一系列標(biāo)簽來(lái)完成,其中標(biāo)題(Headings)標(biāo)簽是最常用于定義文本格式的元素之一。HTML提供了六級(jí)標(biāo)題標(biāo)簽,從 <h1> 到 <h6>,<h1> 表示最高級(jí)別的標(biāo)題,而 <h6> 表示最低級(jí)別的標(biāo)題。這些標(biāo)題標(biāo)簽不僅幫助改善網(wǎng)頁(yè)的結(jié)構(gòu)和可讀性,還對(duì)搜索引擎優(yōu)化(SEO)至關(guān)重要,因?yàn)樗阉饕媸褂眠@些標(biāo)簽來(lái)識(shí)別網(wǎng)頁(yè)上的不同部分和內(nèi)容的層次結(jié)構(gòu)。每個(gè)級(jí)別的標(biāo)題都有默認(rèn)的樣式,通常是不同的大小和加粗,以顯示它們的層次結(jié)構(gòu)
<h1>這是一個(gè) H1 標(biāo)題</h1>
<h2>這是一個(gè) H2 標(biāo)題</h2>
<h3>這是一個(gè) H3 標(biāo)題</h3>
<h4>這是一個(gè) H4 標(biāo)題</h4>
<h5>這是一個(gè) H5 標(biāo)題</h5>
<h6>這是一個(gè) H6 標(biāo)題</h6>
HTML中,文本格式化通常涉及使用特定的標(biāo)簽來(lái)控制文本的顯示方式。段落和換行是兩個(gè)基本但非常重要的文本格式化概念。用<p>創(chuàng)建段落,<br>插入換行。
1)段落 (<p> 標(biāo)簽)
<p> 標(biāo)簽自帶上下邊距,用以區(qū)分不同的段落。
<p>這是一個(gè)段落。</p>
<p>這是另一個(gè)段落。</p>
2)換行 (<br> 標(biāo)簽)
<br> 標(biāo)簽只是簡(jiǎn)單地添加一個(gè)換行點(diǎn),不添加任何額外的空間或邊距,并且通常用于詩(shī)歌或地址等需要精確控制換行位置的文本。
這是文本行的開始。<br>這是新的一行,但在同一個(gè)段落內(nèi)。
使用<em>和<strong>強(qiáng)調(diào)文本。HTML中,強(qiáng)調(diào)文本通常使用 <em> 和 <strong> 標(biāo)簽來(lái)實(shí)現(xiàn)。這兩個(gè)標(biāo)簽既有語(yǔ)義意義,也影響文本的表現(xiàn)形式。
<em> 標(biāo)簽用于表示強(qiáng)調(diào)文本,通常表現(xiàn)為斜體,用以表示文本的輕度強(qiáng)調(diào)。
<strong> 標(biāo)簽用于表示更強(qiáng)烈的強(qiáng)調(diào),通常表現(xiàn)為加粗,表示文本的高度強(qiáng)調(diào)。
<p>This is <em>emphasized</em> text.</p>
<p>This is <strong>strongly emphasized</strong> text.</p>
HTML 提供了兩種主要的列表類型:有序列表(<ol>)和無(wú)序列表(<ul>)。兩種類型都使用列表項(xiàng)(<li>)來(lái)定義列表中的實(shí)際項(xiàng)。
1)有序列表
有序列表以 <ol> 標(biāo)簽開始。每個(gè)列表項(xiàng)都放在 <li> 標(biāo)簽內(nèi)。列表是有序的,也就是每個(gè)項(xiàng)目都是編號(hào)的。這適用于項(xiàng)目順序很重要的列表,如食譜或待辦事項(xiàng)列表。
<ol>
<li>第一項(xiàng)</li>
<li>第二項(xiàng)</li>
<li>第三項(xiàng)</li>
</ol>
2)無(wú)序列表
無(wú)序列表以 <ul> 標(biāo)簽開始。像有序列表一樣,每個(gè)項(xiàng)都放在 <li> 標(biāo)簽內(nèi)。然而,無(wú)序列表中的項(xiàng)目不是編號(hào)的。使用圓點(diǎn)符號(hào)進(jìn)行表示。這適用于項(xiàng)目順序不重要的列表,如購(gòu)物清單。
<ul>
<li>蘋果</li>
<li>香蕉</li>
<li>橙子</li>
</ul>
<!DOCTYPE html>
<html>
<head>
<title>文本格式化示例</title>
</head>
<body>
<h1>HTML 文本格式化</h1>
<p>這是一個(gè)<em>斜體</em>和<strong>加粗</strong>的示例。</p>
<p><u>這段文本下劃線</u>和<s>這段文本是刪除線</s>。</p>
<p>化學(xué)水分子公式為H<sub>2</sub>O,E=mc<sup>2</sup>。</p>
<pre>
這是預(yù)格式化文本,
保留了空格和
換行符。
</pre>
<blockquote>這是一個(gè)長(zhǎng)引用的示例,可能包含多個(gè)段落。</blockquote>
<p>這是一個(gè)<q>短引用</q>的示例。</p>
<p>使用<code>HTML</code>和<code>CSS</code>進(jìn)行網(wǎng)頁(yè)設(shè)計(jì)。</p>
<p>按<kbd>Ctrl</kbd> + <kbd>C</kbd>復(fù)制文本。</p>
<p><samp>這是計(jì)算機(jī)程序的輸出。</samp></p>
<p>在JavaScript中,<var>x</var>可以作為變量。</p>
</body>
</html>
參考文檔:https://www.cjavapy.com/article/3306/
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。