整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML 中引入 CSS 的方式

          4 種方式可以在 HTML 中引入 CSS。其中有 2 種方式是在 HTML 文件中直接添加 CSS 代碼,另外兩種是引入 外部 CSS 文件。下面我們就來看看這些方式和它們的優缺點。

          內聯方式

          內聯方式指的是直接在 HTML 標簽中的 style 屬性中添加 CSS。

          示例:

          <div style="background: red"></div>
          

          這通常是個很糟糕的書寫方式,它只能改變當前標簽的樣式,如果想要多個 <div> 擁有相同的樣式,你不得不重復地為每個 <div> 添加相同的樣式,如果想要修改一種樣式,又不得不修改所有的 style 中的代碼。很顯然,內聯方式引入 CSS 代碼會導致 HTML 代碼變得冗長,且使得網頁難以維護。

          嵌入方式

          嵌入方式指的是在 HTML 頭部中的 <style> 標簽下書寫 CSS 代碼。

          示例:

          <head>
           <style>
           .content {
           background: red;
           }
           </style>
          </head>
          

          嵌入方式的 CSS 只對當前的網頁有效。因為 CSS 代碼是在 HTML 文件中,所以會使得代碼比較集中,當我們寫模板網頁時這通常比較有利。因為查看模板代碼的人可以一目了然地查看 HTML 結構和 CSS 樣式。因為嵌入的 CSS 只對當前頁面有效,所以當多個頁面需要引入相同的 CSS 代碼時,這樣寫會導致代碼冗余,也不利于維護。

          鏈接方式

          鏈接方式指的是使用 HTML 頭部的 <head> 標簽引入外部的 CSS 文件。

          示例:

          <head>
           <link rel="stylesheet" type="text/css" href="style.css">
          </head>
          

          這是最常見的也是最推薦的引入 CSS 的方式。使用這種方式,所有的 CSS 代碼只存在于單獨的 CSS 文件中,所以具有良好的可維護性。并且所有的 CSS 代碼只存在于 CSS 文件中,CSS 文件會在第一次加載時引入,以后切換頁面時只需加載 HTML 文件即可。

          導入方式

          導入方式指的是使用 CSS 規則引入外部 CSS 文件。

          示例:

          <style>
           @import url(style.css);
          </style>
          

          比較鏈接方式和導入方式

          鏈接方式(下面用 link 代替)和導入方式(下面用 @import 代替)都是引入外部的 CSS 文件的方式,下面我們來比較這兩種方式,并且說明為什么不推薦使用 @import

          • link 屬于 HTML,通過 <link> 標簽中的 href 屬性來引入外部文件,而 @import 屬于 CSS,所以導入語句應寫在 CSS 中,要注意的是導入語句應寫在樣式表的開頭,否則無法正確導入外部文件;
          • @import 是 CSS2.1 才出現的概念,所以如果瀏覽器版本較低,無法正確導入外部樣式文件;
          • 當 HTML 文件被加載時,link 引用的文件會同時被加載,而 @import 引用的文件則會等頁面全部下載完畢再被加載;

          小結:我們應盡量使用 <link> 標簽導入外部 CSS 文件,避免或者少用使用其他三種方式。

          說,我想問問小伙伴們你知道幾種往JS數組中添加元素的方法呢?下面我們一起去看看吧。

          第一種:push() 方法可向數組的末尾添加一個或多個元素,并返回新的長度

          特點:

          1.尾部 添加一個或者多個元素

          2.返回數組新的長度

          3. 該方法會改變數組長度,直接修改原數組

          <script>
                  let arr = [1,2,3,4];
                  // push()方法
                  let newArr = arr.push(5);
                  console.log("newArr",newArr);//添加一個元素5,返回長度5
                  console.log("arr",arr);//[1,2,3,4,5]
              </script>

          也可以添加多個元素,如添加2個元素5、6 arr.push(5,6)

           <script>
                  let arr = [1, 2, 3, 4];
                  // push()方法
                  let newArr = arr.push(5, 6);
                  console.log("newArr", newArr);//添加兩個元素5、6,返回長度6
                  console.log("arr", arr);//[1,2,3,4,5,6]
              </script>

          也可以往數組中添加對象,arr.push({})

          <script>
                  let arr = [1, 2, 3, 4];
                  // push()方法
                  let newArr = arr.push({});//添加 空對象
                  console.log("newArr", newArr);//5
                  console.log("arr", arr);//[1,2,3,4,{}]
           </script>

          第二種:unshift() 方法可向數組的開頭添加一個或更多元素,并返回新的長度

          特點:與push方法類似,只不過添加到頭部

            <script>
                  let arr = [1, 2, 3, 4];
                  let newArr = arr.unshift(0);//添加元素0
                  console.log("newArr", newArr);//5
                  console.log("arr", arr);//[0,1,2,3,4]
              </script>

          第三種:splice(參數1,參數2,參數3)方法

          參數1:索引位置

          參數2:添加元素的個數

          參數3:要添加的元素

           <script>
                  let arr = [1, 2, 3, 4];
                  let newArr = arr.splice(4,0,5);
                  console.log("newArr", newArr);//[]
                  console.log("arr", arr);//[1,2,3,4,5]
              </script>

          第四種:arr.length

           <script>
                  let arr = [1, 2, 3, 4];
                  let newArr = (arr[arr.length] = 6);
                  console.log("newArr", newArr);//6
                  console.log("arr", arr);//[1,2,3,4,6]
              </script>

          第五種:concat()方法,返回一個新數組,不會改變原數組

          添加多個元素:

          <script>
                  let arr = [1, 2, 3, 4];
                  let newArr = arr.concat(5,6,7);
                  console.log("newArr", newArr);//[1,2,3,4,5,6,7]
                  console.log("arr", arr);//[1,2,3,4]
              </script>

          添加數組:

           <script>
                  let arr = [1, 2, 3, 4];
                  let newArr = arr.concat([10,20]);
                  console.log("newArr", newArr);//[1,2,3,4,10,20]
                  console.log("arr", arr);//[1,2,3,4]
              </script>

          第六種:使用展開運算符 [...[],50,60],返回新數組,不會改變原數組

          ss-in-js是什么?

          當大家聽到這個詞或許能猜到是在js里面寫編寫css樣式,可我們以前都是在html內或引用外部css文件樣式,為什么現在可以在js里編寫css樣式呢?

          先讓我們看看“關注點分離”的概念,以前在開發前端項目里面,關注點分離是對只與“特定概念、目標”相關聯的軟件組成部分進行“標識、封裝和操縱”的能力。


          它代表標識、封裝和操縱關注點的能力,是處理復雜性的一個原則。

          由于關注點混雜在一起會導致復雜性大大增加,能夠把不同的關注點分離開來,分別處理就是處理復雜性的一個原則,一種方法。

          在前端開發的領域,把html、css、js分開成三個獨立部分,方便維護,各自解耦,降低復雜度。


          通俗的理解,css-in-js就是把css寫進js。

          即不寫“行內樣式”和“行內腳本”。

          為什么用css-in-js?

          相對于js的突飛猛進,css的進化就比較緩慢,隨著前端react、vue等框架模塊化概念的出現,改變了獨立三個部分的局面。

          html寫到js里面,使html的弱化與js的強化成為了一種趨勢,頁面也被切分成一個個模塊。

          這時候對css來講,獨立打包似乎并不是那么的理所當然了,一個模塊有它自己的html、js、css才是更好的切分頁面功能的方式。

          現在隨著組件化概念的流行,css 的弱化與 js 的強化趨勢也在慢慢形成,從組件層面維護css樣式的需求日益增大。


          css-in-js就是在組件內部使用js對css進行了抽象,可以對其聲明和加以維護。這樣不僅降低了編寫css樣式帶來的風險,也讓開發變得更加輕松。

          css-in-js理念,即是摒棄原有的用.css文件書寫樣式,而把樣式寫進js里面,這樣就可以做到一個組件對應一個文件、一個文件便是一個組件,一次開發公共使用的目的。

          目前有很多基于css-in-js思想衍生出來的第三方庫,如styled-components、emotion、jss、styled-jsx等等。


          主站蜘蛛池模板: 嫩B人妻精品一区二区三区| 99久久精品国产高清一区二区 | 男插女高潮一区二区| chinese国产一区二区| 亚无码乱人伦一区二区| 亚洲A∨无码一区二区三区 | 国产精品高清一区二区三区| 国产伦精品一区二区| 国产伦精品一区二区三区不卡| 国产视频一区在线观看| 中文字幕在线一区| 成人国产一区二区三区| 成人区人妻精品一区二区不卡视频| 无码视频一区二区三区| 亚洲AV成人一区二区三区观看 | 国产成人av一区二区三区不卡| 亚洲视频一区在线播放| 亚洲福利一区二区精品秒拍| 福利片福利一区二区三区| 国产MD视频一区二区三区| 日本一区二区三区在线看 | 东京热无码av一区二区| 插我一区二区在线观看| 伊人色综合一区二区三区| 日韩精品一区二区三区四区| 日本不卡免费新一区二区三区| 国产一区二区三区久久| 久久青草国产精品一区| 日韩一区二区在线观看视频| 久久久国产精品亚洲一区| 亚洲日韩一区精品射精| 在线观看国产一区二区三区| 色综合视频一区二区三区| 台湾无码AV一区二区三区| 鲁丝片一区二区三区免费| 日韩一区二区视频| 国产精品福利一区| 中文字幕精品一区二区精品| 久久国产免费一区二区三区| 99精品国产高清一区二区麻豆 | 亚洲国产美女福利直播秀一区二区|