整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          前端 CSS 變量簡介及基本使用方法

          復(fù)雜的網(wǎng)站都會(huì)有大量的CSS代碼,通常也會(huì)有許多重復(fù)的值。

          舉個(gè)例子,同樣一個(gè)顏色值可能在成千上百個(gè)地方被使用到,如果這個(gè)值發(fā)生了變化,需要全局搜索并且一個(gè)一個(gè)替換,效率不高且容易出錯(cuò)。

          自定義屬性在某個(gè)地方存儲(chǔ)一個(gè)值,然后在其他許多地方引用它。另一個(gè)好處是語義化的標(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ù)來獲取值(比如: color: **var(--main-color)**;)。

          優(yōu)勢(shì)

          在構(gòu)建大型站點(diǎn)時(shí),作者通常會(huì)面對(duì)可維護(hù)性的挑戰(zhàn)。在這些網(wǎng)頁中,所使用的CSS 的數(shù)量是非常龐大的,并且在許多場合大量的信息會(huì)重復(fù)使用。

          例如,在網(wǎng)頁中維護(hù)一個(gè)配色方案,意味著一些顏色在 CSS 文件中多次出現(xiàn),并被重復(fù)使用。當(dāng)你修改配色方案時(shí),不論是調(diào)整某個(gè)顏色或完全修改整個(gè)配色,都會(huì)成為一個(gè)復(fù)雜的問題,不容出錯(cuò),而單純查找替換是遠(yuǎn)遠(yuǎn)不夠的。

          如果使用了CSS 框架,這種情況會(huì)變得尤其糟糕,此時(shí)如果要修改顏色,則需要對(duì)框架本身進(jìn)行修改。

          在這些場合使用 LESS 或 Sass 類似的預(yù)處理器是非常有幫助的,但是這種通過添加額外步驟的方式,可能會(huì)增加系統(tǒng)的復(fù)雜性。

          CSS變量為我們帶來一些預(yù)處理器的便利,并且不需要額外的編譯。

          這些變量的第二個(gè)優(yōu)勢(shì)就是名稱本身就包含了語義的信息。CSS 文件變得易讀和理解。main-text-color比文檔中的#00ff00更容易理解,特別是同樣的顏色出現(xiàn)在不同的文件中的時(shí)候。

          用法

          下面是 CSS 變量的使用方法和步驟。

          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等正式屬性沒有什么不同,只是沒有默認(rèn)含義。所以 CSS 變量(CSS variable)又叫做**"CSS 自定義屬性"**(CSS custom properties)。

          規(guī)則集所指定的選擇器定義了自定義屬性的可見作用域。通常的最佳實(shí)踐是定義在根偽類 :root下,這樣就可以在HTML文檔的任何地方訪問到它了:

          :root {
              --main-bg-color: #eee;
          }

          自定義屬性名是大小寫敏感的,--my-color 和 --My-color 會(huì)被認(rèn)為是兩個(gè)不同的自定義屬性。

          CSS 中使用變量

          通過var()函數(shù)來讀取變量。語法如下:

          var(custom-property-name, value)
          • name (必需) 變量名(以兩條破折號(hào)開頭)。
          • value (可選) 表示變量的默認(rèn)值。如果該變量不存在,就會(huì)使用這個(gè)默認(rèn)值。

          變量名稱必須以兩個(gè)破折號(hào)(--)開頭,且區(qū)分大小寫!

          使用方法:

          element {
            background-color: var(--main-bg-color);
          }

          變量也可以使用在變量聲明中:

          :root {
            --primary-color: #eee;
            --primary-bg-color: var(--main-bg-color);
          }

          變量值只能用作屬性值,不能用作屬性名。

          JS 操作 CSS 變量

          在 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");

          總結(jié)

          以上就是關(guān)于 CSS 變量的一些基本概念及使用方法,更多詳情待后續(xù)!

          靈活使用 CSS 變量,不僅可以提高生產(chǎn)力,也能夠提高代碼的可閱讀性和維護(hù)性。

          ~

          ~

          ~ 本文完

          學(xué)習(xí)有趣的知識(shí),結(jié)識(shí)有趣的朋友,塑造有趣的靈魂!

          大家好!我是〖編程三昧〗的作者 隱逸王,我的公眾號(hào)是『編程三昧』,歡迎關(guān)注,希望大家多多指教!

          知識(shí)與技能并重,內(nèi)力和外功兼修,理論和實(shí)踐兩手都要抓、兩手都要硬!

          對(duì)文檔中的文本進(jìn)行格式化:

          <code>一段電腦代碼</code>


          瀏覽器支持

          所有主流瀏覽器都支持 <code> 標(biāo)簽。


          標(biāo)簽定義及使用說明

          <code> 標(biāo)簽是一個(gè)短語標(biāo)簽,用來定義計(jì)算機(jī)代碼文本。

          提示:我們并不反對(duì)使用這個(gè)標(biāo)簽,但是如果您只是為了達(dá)到某種視覺效果而使用這個(gè)標(biāo)簽的話,我們建議您使用 CSS ,這樣可能會(huì)取得更豐富的效果。

          所有短語標(biāo)簽:

          標(biāo)簽描述
          <em>呈現(xiàn)為被強(qiáng)調(diào)的文本。
          <strong>定義重要的文本。
          <dfn>定義一個(gè)定義項(xiàng)目。
          <code>定義計(jì)算機(jī)代碼文本。
          <samp>定義樣本文本。
          <kbd>定義鍵盤文本。它表示文本是從鍵盤上鍵入的。它經(jīng)常用在與計(jì)算機(jī)相關(guān)的文檔或手冊(cè)中。
          <var>定義變量。您可以將此標(biāo)簽與 <pre> 及 <code> 標(biāo)簽配合使用。

          HTML 4.01 與 HTML5之間的差異

          無。


          全局屬性

          <code> 標(biāo)簽支持 HTML 的全局屬性。


          事件屬性

          <code> 標(biāo)簽支持 HTML 的事件屬性。

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          、在css中使用變量

          (1)css中聲明變量

          --color:red

          (2)使用變量

          color:var(--color)   //color:red獲取到全局聲明變量值為red

          2、使用vue中的變量

          (1)在html標(biāo)簽中

          <span :style="{'--color':變量color}" ref='devcolor' />

          data中聲明變量color

          data() {
            return {
              color: red,
            };
          }

          或者使用this.$refs.devcolor.style.setProperty('--color',this.color)
          (2)css中使用color變量

          color:var(--color)  //使用變量color:red

          主站蜘蛛池模板: 无码精品视频一区二区三区| 无码成人一区二区| 免费高清av一区二区三区| 亚洲av无一区二区三区| 亚洲欧美日韩一区二区三区在线 | 日韩美女视频一区| 亚洲av午夜精品一区二区三区| 日韩一区二区三区精品| 国产激情无码一区二区| 久久人妻无码一区二区| 中文字幕人妻无码一区二区三区 | 中文字幕无码一区二区三区本日| 日韩AV无码久久一区二区| 亚洲国产精品一区二区第一页免| 无码国产精品一区二区免费式直播 | 78成人精品电影在线播放日韩精品电影一区亚洲| 精品一区二区三区四区在线播放 | 日本免费精品一区二区三区| 无码囯产精品一区二区免费| 一区二区三区在线观看视频| 国产传媒一区二区三区呀| 一色一伦一区二区三区| 国产短视频精品一区二区三区| 国产在线一区二区三区在线| 成人h动漫精品一区二区无码| 精品一区二区三人妻视频| 蜜臀AV在线播放一区二区三区| 一区二区三区在线观看免费| 婷婷国产成人精品一区二| 一区二区视频免费观看| 亚洲AⅤ视频一区二区三区| 久久精品国产一区二区| 国产高清一区二区三区四区| 日本道免费精品一区二区| 日韩精品一区二区三区四区 | 无码少妇一区二区浪潮免费| 另类国产精品一区二区| 国产不卡视频一区二区三区| 国99精品无码一区二区三区| 亚洲字幕AV一区二区三区四区| 秋霞鲁丝片一区二区三区|