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 福利视频一区二区,免费视频不卡一区二区三区,最近中文字幕完整视频高清电影

          整合營(yíng)銷服務(wù)商

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

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

          前端 CSS 變量簡(jiǎn)介及基本使用方法

          復(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)**;)。

          優(yōu)勢(shì)

          在構(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 變量的使用方法和步驟。

          CSS 中聲明變量

          我們都知道,在 JS 中要使用一個(gè)變量前,必須聲明這個(gè)表變量。在 CSS 中也是一樣的道理。

          聲明一個(gè)自定義屬性,屬性名需要以兩個(gè)減號(hào)(--)開(kāi)始,屬性值則可以是任何有效的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è)不同的自定義屬性。

          CSS 中使用變量

          通過(guò)var()函數(shù)來(lái)讀取變量。語(yǔ)法如下:

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

          變量名稱必須以兩個(gè)破折號(hào)(--)開(kāi)頭,且區(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í)踐兩手都要抓、兩手都要硬!


          PHP中預(yù)定義了幾個(gè)超級(jí)全局變量(superglobals),它們?cè)谝粋€(gè)腳本的全部作用域中你不需要特別說(shuō)明,就可以在函數(shù)及類中使用。


          1、$GLOBALS 是PHP的一個(gè)超級(jí)全局變量組,在一個(gè)PHP腳本的全部作用域中都可以訪問(wèn)。

          $GLOBALS 是一個(gè)包含了全部變量的全局組合數(shù)組。變量的名字就是數(shù)組的鍵。

          <?php 
          $x = 'tiantian'; 
          $y = '好';
           
          function add() 
          { 
              $GLOBALS['a'] = $GLOBALS['x'].$GLOBALS['y']; 
          }
           
          add(); 
          echo $a; 
          ?>

          以上實(shí)例中 a 是一個(gè)$GLOBALS數(shù)組中的超級(jí)全局變量,該變量同樣可以在函數(shù)外訪問(wèn)

          2、 $_SERVER 是一個(gè)包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數(shù)組。

          $_SERVER 變量中的重要元素:

          <?php 
          echo $_SERVER['PHP_SELF']; //  結(jié)果:/index.php  注釋:當(dāng)前執(zhí)行腳本的文件名
          echo "<br>";
          echo $_SERVER['SERVER_NAME'];   //  結(jié)果:abcphp.com  注釋:當(dāng)前運(yùn)行腳本所在的服務(wù)器的主機(jī)名。 
          echo "<br>";
          echo $_SERVER['HTTP_HOST'];     //  結(jié)果:abcphp.com  注釋:當(dāng)前請(qǐng)求頭中 Host: 項(xiàng)的內(nèi)容,如果存在的話。
          echo "<br>";
          echo $_SERVER['HTTP_REFERER'];  //  結(jié)果:" "  注釋:引導(dǎo)用戶代理到當(dāng)前頁(yè)的前一頁(yè)的地址(如果存在)。
          echo "<br>";
          echo $_SERVER['HTTP_USER_AGENT'];   //  結(jié)果:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 注釋: 
          echo "<br>";
          echo $_SERVER['SCRIPT_NAME'];// 結(jié)果:/index.php  注釋:包含當(dāng)前腳本的路徑。這在頁(yè)面需要指向自己時(shí)非常有用。
          echo "<br>";
          echo $_SERVER['GATEWAY_INTERFACE']; // 結(jié)果:CGI/1.1  注釋:服務(wù)器使用的 CGI 規(guī)范的版本;
          echo "<br>";
          echo $_SERVER['SERVER_ADDR'];   // 結(jié)果:127.0.0.1  注釋:當(dāng)前運(yùn)行腳本所在的服務(wù)器的 IP 地址。
          echo "<br>";
          echo $_SERVER['SERVER_SOFTWARE'];   // 結(jié)果:nginx/1.15.11  注釋:服務(wù)器標(biāo)識(shí)字符串,在響應(yīng)請(qǐng)求時(shí)的頭信息中給出。
          echo "<br>";
          echo $_SERVER['SERVER_PROTOCOL'];   // 結(jié)果:HTTP/1.1  注釋:請(qǐng)求頁(yè)面時(shí)通信協(xié)議的名稱和版本。
          echo "<br>";
          echo $_SERVER['REQUEST_METHOD'];    // 結(jié)果:GET  注釋:訪問(wèn)頁(yè)面使用的請(qǐng)求方法;例如,"GET", "HEAD","POST","PUT"。
          echo "<br>";
          echo $_SERVER['REQUEST_TIME'];  // 結(jié)果:1630663828  注釋:請(qǐng)求開(kāi)始時(shí)的時(shí)間戳。從 PHP 5.1.0 起可用。 
          echo "<br>";
          echo $_SERVER['QUERY_STRING'];  // 結(jié)果:" "  注釋:query string(查詢字符串),如果有的話,通過(guò)它進(jìn)行頁(yè)面訪問(wèn)。
          echo "<br>";
          echo $_SERVER['HTTP_ACCEPT'];   // 結(jié)果:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9  注釋:當(dāng)前請(qǐng)求頭中 Accept: 項(xiàng)的內(nèi)容,如果存在的話。
          echo "<br>";
          echo $_SERVER['HTTP_ACCEPT_CHARSET'];   // 結(jié)果:" "  注釋:當(dāng)前請(qǐng)求頭中 Accept-Charset: 項(xiàng)的內(nèi)容,如果存在的話。例:"iso-8859-1,*,utf-8"。
          echo "<br>";
          echo $_SERVER['HTTPS']; // 結(jié)果:" "  注釋:如果腳本是通過(guò) HTTPS 協(xié)議被訪問(wèn),則被設(shè)為一個(gè)非空的值。
          echo "<br>";
          echo $_SERVER['REMOTE_ADDR'];   // 結(jié)果:127.0.0.1  注釋:瀏覽當(dāng)前頁(yè)面的用戶的 IP 地址。
          echo "<br>";
          echo $_SERVER['REMOTE_HOST'];   // 結(jié)果:" "  注釋:瀏覽當(dāng)前頁(yè)面的用戶的主機(jī)名。DNS 反向解析不依賴于用戶的 REMOTE_ADDR。
          echo "<br>";
          echo $_SERVER['REMOTE_PORT'];   // 結(jié)果:58836  注釋:用戶機(jī)器上連接到 Web 服務(wù)器所使用的端口號(hào)。
          echo "<br>";
          echo $_SERVER['SCRIPT_FILENAME'];   // 結(jié)果:F:/phpstudy_pro/WWW/php/index.php  注釋:當(dāng)前執(zhí)行腳本的絕對(duì)路徑。
          echo "<br>";
          echo $_SERVER['SERVER_ADMIN'];  // 結(jié)果:" "  注釋:該值指明了 Apache 服務(wù)器配置文件中的 SERVER_ADMIN 參數(shù)。
          echo "<br>";
          echo $_SERVER['SERVER_PORT'];   // 結(jié)果:80  注釋: Web 服務(wù)器使用的端口。默認(rèn)值為 "80"。如果使用 SSL 安全連接,則這個(gè)值為用戶設(shè)置的 HTTP 端口。
          echo "<br>";
          echo $_SERVER['SERVER_SIGNATURE'];  // 結(jié)果:" "  注釋:包含了服務(wù)器版本和虛擬主機(jī)名的字符串。
          echo "<br>";
          echo $_SERVER['PATH_TRANSLATED'];   // 結(jié)果:F:/phpstudy_pro/WWW/php  注釋:當(dāng)前腳本所在文件系統(tǒng)(非文檔根目錄)的基本路徑。
          echo "<br>";
          echo $_SERVER['SCRIPT_URI'];    // 結(jié)果:" "  注釋:URI 用來(lái)指定要訪問(wèn)的頁(yè)面。例如 "/index.html"。
          ?>

          3、$_REQUEST 用于收集HTML表單提交的數(shù)據(jù)。

          以下實(shí)例顯示了一個(gè)輸入字段(input)及提交按鈕(submit)的表單(form)。 當(dāng)用戶通過(guò)點(diǎn)擊 "Submit" ,我們可以使用超級(jí)全局變量 $_REQUEST 來(lái)收集表單中的 input 字段數(shù)據(jù):

          <html>
          <body>
           
          <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
            //$_SERVER['PHP_SELF']  當(dāng)前執(zhí)行腳本的文件名
          Name: <input type="text" name="rname">
          <input type="submit">
          </form>
           
          <?php 
          $name = $_REQUEST['rname']; 
          echo $name; 
          ?>
           
          </body>
          </html>

          4、$_POST 被廣泛應(yīng)用于收集表單數(shù)據(jù),在HTML form標(biāo)簽的指定該屬性:"method="post"。

          以下實(shí)例顯示了一個(gè)輸入字段(input)及提交按鈕(submit)的表單(form)。 當(dāng)用戶通過(guò)點(diǎn)擊 "Submit" 按鈕提交表單數(shù)據(jù)時(shí),使用超級(jí)全局變量 $_POST 來(lái)收集表單中的 input 字段數(shù)據(jù):

          <html>
          <body>
           
          <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
          Name: <input type="text" name="fname">
          <input type="submit">
          </form>
           
          <?php 
          $name = $_POST['fname']; 
          echo $name; 
          ?>
           
          </body>
          </html>

          5、$_GET 同樣被廣泛應(yīng)用于收集表單數(shù)據(jù),在HTML form標(biāo)簽的指定該屬性:"method="get"。

          <html>
          <body>
           
          <form method="get" action="<?php echo $_SERVER['PHP_SELF'];?>">
          Name: <input type="text" name="fname">
          <input type="submit">
          </form>
           
          <?php 
          $name = $_POST['fname']; 
          echo $name; 
          ?>
           
          </body>
          </html>

          $_GET 也可以收集URL中發(fā)送的數(shù)據(jù)。

          果你正在構(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開(kāi)發(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)


          主站蜘蛛池模板: 亚洲熟妇无码一区二区三区| 久久久久人妻精品一区| 无码AV动漫精品一区二区免费| 亚洲综合一区二区三区四区五区| 一区视频免费观看| 韩国理伦片一区二区三区在线播放| 国产福利一区二区| 国产福利精品一区二区| 麻豆高清免费国产一区| 日本强伦姧人妻一区二区| 亚洲一区二区在线免费观看| 国产精品一区二区久久乐下载| 国产一区二区三区不卡观| 国产成人精品一区二区三在线观看 | 一区二区三区视频在线| 日本一区二区三区在线网| 一区二区三区观看免费中文视频在线播放| 蜜芽亚洲av无码一区二区三区| 搡老熟女老女人一区二区| 精品国产一区二区三区AV性色 | 亚洲综合一区二区三区四区五区| 国产精品视频一区二区噜噜 | 久久精品日韩一区国产二区| 91在线视频一区| 一区二区免费视频| 中文字幕一区视频| 亚洲一区二区影院| 亚洲中文字幕在线无码一区二区| 成人无码AV一区二区| 成人精品一区二区三区电影| 亚洲AV无码国产一区二区三区| 精品无码一区二区三区在线| 国产一区二区三区免费在线观看| 国产日韩一区二区三区在线播放| 久久久无码一区二区三区| 中文字幕乱码人妻一区二区三区 | 中文字幕一区二区三| 一区二区三区亚洲| 免费精品一区二区三区在线观看| 国产精品成人一区无码| 国产激情一区二区三区 |