整合營銷服務商

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

          免費咨詢熱線:

          一文讀懂 CSS 單位

          家好,我是Echa。

          最近有不少的粉絲老鐵們私信我為啥這幾天沒有創作新內容了,實在對不住。小編我身在廣州中招羊了,我在最近一篇文章也有提到過,今天是第四天,基本上康復了,奧密克戎BA.5其實沒有那么恐怖,中招了前三天特難受,熬過來了就沒事了,大家莫慌。現在小編就可以認認真真的繼續創作內容了。同時也非常感謝大家默默的關心我小編身體狀況,非常謝謝。

          創作不易,喜歡的老鐵們加個關注,點個贊,后面會持續更新干貨,速速收藏,謝謝!

          說起 CSS 單位,我們最常用的可能就是像素單位(px),它是一個絕對單位,也就是說一個10px的文字,放在哪里都是一樣大的。單位可以影響顏色、距離、尺寸等一系列的屬性。CSS中單位的形式有很多種,下面就來學習一下 CSS 中單位!

          1. 相對單位

          相對單位就是相對于另一個長度的長度。CSS中的相對單位主要分為兩大類:

          • 字體相對單位,他們都是根據font-size來進行計算的。常見的字體相對單位有:em、rem、ex、ch;
          • 視窗相對單位,他們都是根據視窗大小來決定的。常見的視窗相對單位有vw、vh、vmax、vmin。

          下面就來看看這些常見的CSS單位。

          (1)em 和 rem

          em是最常見的相對長度單位,適合基于特定的字號進行排版。根據CSS的規定,1em 等于元素的font-size屬性的值。

          em 是相對于父元素的字體大小進行計算的。如果當前對行內文本的字體尺寸未進行顯示設置,則相對于瀏覽器的默認字體尺寸。當DOM元素嵌套加深時,并且同時給很多層級顯式的設置了font-size的值的單位是em,那么就需要層層計算,復雜度會很高。

          當然,上面的這個說法是不嚴謹 的。來看一個例子:

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Document</title>
              <style>
                  .parent {
                      width: 300px;
                      height: 300px;
                      font-size: 20px;
                  }
                  .child {
                      border: 1em solid ;
                  }
              </style>
          </head>
          <body>
              <div class="parent">
                  <div class="child">
                     子元素
                  </div>
              </div>
          </body>
          </html>
          
          

          這里給父元素設置了字體大小為20px,然后給子元素的border寬度設置為1em,這時,子元素的border值為20px,確實是相對于父元素的字體大小設置的:

          那如果我們給子元素的字體設置為30px:

          .child {
            font-size: 30px;
            border: 1em solid ;
          }
          

          這時可以看到,子元素的邊框寬度就是30px,它是相對自己大小進行計算的:

          所以,可以得出結論:如果自身元素是沒有設置字體大小的,那么就會根據其父元素的字體大小作為參照去計算,如果元素本身已經設置了字體,那么就會基于自身的字體大小進行計算

          em單位除了可以作用于 font-size之外,還可以運用于其他使用長度的屬性,比如border-width、width、height、margin、padding、text-shadow等。

          所以,em的使用還是比較復雜的,它可能會繼承任意一級父元素的字體大小。需要謹慎使用。

          rem相對于em就簡單了很多,它是根據頁面的根元素(根元素)的字體大小來計算的。來對上面的例子進行修改:

          .child {
            font-size: 30px;
            border: 1rem solid ;
          }
          
          html {
           font-size: 25px;
          }
          

          效果如下,可以看到,邊框的長度變成了25px,它是根據根元素html的字體大小計算的:

          如果沒有對根元素設定字號的話,font-size: 1rem的作用與font-size: initial相同。

          使用 em 和 rem 可以讓我們靈活的夠控制元素整體的放大和縮小,而不是固定大小。那何時應使用 em,何時應使用 rem 呢?可以根據兩者的差異來進行選擇:

          • 兩者在客戶端中計算出來的樣式都會以px的形式顯示;
          • rem是相對于根元素html的font-size計算,em 相對于元素的font-size計算;
          • 當需要根據瀏覽器的font-size設置縮放時,應該使用 rem;
          • 使用 em 應該根據組件的font-size來定,而不是根元素的font-size來定;
          • rem 可以從瀏覽器字體設置中繼承 font-size 值, em 可能受任何繼承過來的父元素 font-size 的影響。

          (2)ex 和 ch

          ex 和 ch 都是排版用的單位,它們的大小取決于元素的font-size 和 font-family屬性。

          • ex 指的是所用字體中小寫字母 x 的高度。因此,如果兩個字體不一樣,那么 ex 的值是不一樣的。因為每種字體的小寫 x 的高度是不一樣的。
          • ch 和 ex 類似,不過它是基于數字 0 的寬度計算的。會隨著字體的變化而變化。而0 的寬度通常是對字體的平均字符寬度,它是一個估計值。由于 ch 是一個近似等寬的單元,所以在設置容器的寬度時很有用,比如一個容器想要顯示指定個數的字符串時,就可以使用這個單位。

          (3)vw、vh、vmax 和 vmin

          這四個單位都是視窗單位,所謂的視窗,在web端指的就是可視區域,移動端的視窗指的就是布局視窗。如果視窗大小發生了變化,那么這些值都會隨之變化。這四個單位指的是:

          • vw:視窗寬度的百分比;
          • vh:視窗高度的百分比;
          • vmax:較大的 vh 和 vw;
          • vmin:較小的 vh 和 vw。

          假如一個瀏覽器的高度是800px,那么1vh的值就是8px。vh和vw的大小總是和視窗的高度和寬度有關。

          vmin 和 vmax 與視窗寬度和高度的最大值和最小值有關。假如一個瀏覽器高度為500px,寬度為1200px,那么1vmin就是5px,1vmax就是12px。

          這些單位都是長度單位,所以可以在任何允許使用長度單位的地方使用。這些單位比較適合用于創建全視區界面,例如移動設備的界面,因為元素是根據視區的尺寸而變化的,與文檔樹中的任何元素都沒有關系。

          2. 絕對單位

          在 CSS 中,絕對單位包括:px 、pt 、pc、 cm 、 mm 、in 等。絕對單位是一個固定的值,它反應了一個真實的物理尺寸。它不會受屏幕大小或者字體的影響。它們的大小取決于值以及屏幕的分辨率(DPI,每英寸的點數)。px就是我們最常用的絕對單位之一。這些絕對單位的換算關系如下:

          1in = 25.4mm = 2.54cm = 6pc = 72pt =96px
          

          (1)px

          px 全稱為 Pixels,表示像素,它并不嚴格等于顯示器的像素,尤其在高清屏下。盡管CSS單位會根據瀏覽器、操作系統或者硬件適當縮放,在某些設備或者用戶的分辨率設置下也會發生變化,但是96px通常等于一個物理英寸的大小。

          CSS 將光柵圖像(如照片等)的顯示方式定義為默認每一個圖像大小為1px。一個“600x400”解析度的照片的長寬分別為“600px”和“400px”,所以照片本身的像素并不會與顯示裝置像素一致,而是與 px 單位一致。如此就可以將圖像完整的與網頁的其它元素排列起來。

          很多時候, px 也常被稱為 CSS 像素。它是一個絕對單位,但也可以被視為相對單位,因為像素單位相對的是設備像素。在同一個設備上,每 1 個 CSS 像素所代表的物理像素是可以變化的;在不同的設備之間,每 1 個 CSS 像素所代表的物理像素是可以變化的。

          .box {
              width: 100px;
              height: 100px;
          }
          

          (2)pt

          pt 全稱為 Point,表示點。常用于軟件設計和排版印刷行業(筆者做的前端系統,最終的產物就是一個需要拿去印刷的PDF,所以會經常用到這個單位)。當使用這個單位時,無論顯示器的分辨率是多少,打印在紙上的結果都是一樣的。

          如果單純為了網頁的顯示,建議就使用px像素單位,如果需要輸出印刷產品,就可以考慮使用pt。

          (3)pc

          pc 全程為 Picas,表示派卡。相當于我國新四號鉛字的尺寸。派卡也是印刷的術語,1派卡等于12點。它和 px 的換算關系如下:

          1pc = 16px
          

          (4)cm

          cm 全稱為 Centimeters,表示厘米。它和 px 的換算關系如下:

          1cm = 37.8px
          

          (5)mm

          mm 全稱為 Millimeters,表示毫米。它和 px 的換算關系如下:

          1mm = 3.78px
          

          (6)in

          in 全稱為 Inches,表示英寸。它和 px 的換算關系如下:

          1in = 96px
          

          3. 頻率單位

          CSS中的頻率單位有兩個:赫茲(Hz)和千赫茲(kHz)。它們的換算關系如下:

          1kHz = 1000Hz
          

          通常情況下,頻率單位使用在聽或說級聯樣式表中。頻率可以被用來改變一個語音閱讀文本的音調。低頻率就是低音,高頻率就是高音。

          .low { 
            pitch: 105Hz; 
          } 
          
          .squeal { 
            pitch: 135Hz; 
          }
          

          需要注意,當數值為0時,單位對值沒有影響,但是單位是不能省略的。也就是說0、0Hz、0kHz是不一樣的。所以,在使用頻率單位時,不要直接寫0。另外,這兩個單位是不區分大小寫的。

          4. 時間單位

          CSS中的時間單位有兩個:秒(s)和毫秒(ms)。這兩個時間單位都是CSS新增的單位。這兩個單位的換算關系如下:

          1s = 1000ms
          

          時間單位主要用于過度和動畫中,用于定義持續時間或延遲時間。下面兩種定義是等效的:

          a[href] {
           transition-duration: 2.5s;
          }
          
          a[href] {
           transition-duration: 2500s;
          }
          

          5. 分辨率單位

          CSS中的分辨率單位有三個:dpi、dpcm、dppx。這三個單位都是CSS3中華新增的單位。他們都是正值,不允許為負值。這三個單位的換算關系如下:

          1dppx = 96dpi
          1dpi ≈ 0.39dpcm
          1dpcm ≈ 2.54dpi
          

          分辨率單位主要用于媒體查詢等操作。

          (1)dpi

          dpi 全稱為 dots per inch,表示每英寸包含的點的數量。普通屏幕通常包含 72或96個點,大于 192dpi 的屏幕被稱為高分屏。

          
          @media screen and (min-resolution: 96dpi) { ... }
          @media print and (min-resolution: 300dpi) { ... }
          

          (2)dpcm

          dpcm 全稱為 dots per centimeter,表示每厘米包含的點的數量。

          @media screen and (min-resolution: 28dpcm) { ... }
          @media print and (min-resolution: 118dpcm) { ... }
          

          (3)dppx

          dppx 全稱為 dots per pixel,表示每像素(px)包含點的數量。由于CSS px的固定比率為1:96,因此1dppx相當于96dpi。它對應于由圖像分辨率定義的CSS中顯示的圖像的默認分辨率。

          @media screen and (min-resolution: 2dppx) { ... }
          @media screen and (min-resolution: 1dppx) and (max-resolution: 1.9dppx) { ... }
          

          6. 角度單位

          CSS中的角度單位有四個:deg、grad、rad、turn。這些角度單位都是CSS3中新增的單位。它們的換算關系如下:

          90deg = 100grad = 0.25turn ≈ 1.570796326794897rad
          

          一般這些角度單位用于元素的旋轉操作,包括2D旋轉、3D旋轉等。

          • 當旋轉值為正值時,元素會順時針旋轉;
          • 當旋轉值為負值時,元素會逆時針旋轉。


          通常情況下,一個完整的旋轉就是360度。所以,所有的角度都在0-360度之間。但是,超出這個范圍的值也是允許的,只不過都會歸到0-360度之間。比如,順時針旋轉420度(450deg)、逆時針旋轉270度(-270deg)、順時針旋轉90度(90deg)都是一樣的效果,都會歸為90deg。但是當使用動畫時,這些角度值就非常重要了。

          CSS的旋轉主要依賴于 transform 屬性中的 rotate() 、rotate3d、 skew() 等方法。只需給它們傳遞旋轉的角度即可。

          除了旋轉會使用角度之外,線性漸變也會經常使用角度值:

          background: linear-gradient(45deg, #000, #fff);
          

          (1)deg

          deg 全稱為 Degress,表示度,一個圓總共360度。

          transform: rotate(2deg);
          

          (2)grad

          grad 全稱為 Gradians,表示梯度,一個圓總共400梯度。

          transform: rotate(2grad);
          

          (4)rad

          rad 全稱為 Radians,表示弧度,一個圓總共2π弧度。

          transform: rotate(2rad);
          

          (4)turn

          turn 全稱為 Turns,表示圈(轉),一個圓總共一圈(轉)。

          transform:rotate(.5turn);
          

          7. 百分比單位

          百分比(%)也是我們比較常用的單位之一,所有接受長度值的屬性都可以使用百分比單位。但是不同屬性使用該單位的效果可能并不一樣。但是都需要有一個參照值,也就是說百分比值是一個相對的值。

          下面來看看常見場景中的百分比單位的使用。

          (1)盒模型中的百分比

          在CSS中的盒模型包含的屬性有:width、max-width、min-width、height、max-height、min-height、padding、margin等。這些屬性在使用百分比時,參照物不盡相同:

          • width、max-width、min-width:值為百分比時,其相對于包含塊的 width 進行計算;
          • height、max-height、min-height:值為百分比時,其相對于包含塊的 height 進行計算;
          • padding、margin:值為百分比時,如果是水平的值,就是相對于包含塊的 width 進行計算;如果是垂直的值,就是相對于包含塊的 height 進行計算。

          (2)文本中的百分比

          在CSS中文本控制的屬性有font-size、line-height 、vertical-align、 text-indent等。這些屬性在使用百分比時,參照物不盡相同:

          • font-size:根據父元素的font-size 進行計算;
          • line-height:根據font-size進行計算;
          • vertical-align:根據line-height進行計算;
          • text-indent:如果是水平的,則根據width進行計算,如果是垂直的,則根據 height 進行計算。

          (3)定位中的百分比

          在CSS中用控制 position 位置的top、right、bottom、left都可以使用百分比作為單位。其參照物就是包含塊的同方向的width和height。不同定位的包含塊不盡相同:

          • 如果元素為靜態( static )或相對定位( relative ),包含塊一般是其父容器;
          • 如果元素為絕對定位( absolute ),包含塊應該是離它最近的 position 為 absolute 、 relative 或 fixed 的祖先元素;
          • 如果元素為固定定位( fixed ),包含塊就是視窗( viewport )。

          (4)變換中的百分比

          CSS 中的 transform 屬性中的 translate 和 transform-origin 值也可以設置百分比。

          • translateX() 根據容器的 width 計算
          • translateY() 根據容器的 height 計算
          • transform-origin 中橫坐標( x )相對于容器的 width 計算;縱坐標( y )相對于容器的 height 計算

          注意,在 translate 還有一個 z 軸的函數 translateZ() 。它是不接受百分比為單位的值。

          果你需要在網頁上創建標題,或者在網站上改變不同頁面上的文本大小,或段落中的某個特定單詞突出,可以通過使用html命令更改文本大小來做到這一點。但凡上過html培訓學習的人都會很輕輕松學會這個操作,有導師指導,學起來要容易的多。

          更改前,先備份

          無論什么時候你要更改網頁,無論你只是在html中更改文本大小,還是在添加照片或將背景圖像更改為新模式時,在更改前始終要記住一點:備份你現有的頁面。這將確保如果在更改期間發生錯誤,并且此錯誤導致網頁丟失,則可以恢復到起始位置,然后再試一次。

          若要復制網頁,請打開該文件并復制html。然后將頁面html的副本粘貼到一個程序中,比如程序員的記事本,這是一個免費的實用程序,供網頁設計者/程序員使用,用于CSS、html和其他程序。

          在更改的操作中,備份是經常要做的事,這一點非常重要,一般你在html培訓學習時,老師都會強調這一點的。

          如何在HTML中更改文本大小

          首先,找到要更改的一行或多行文本。使用

          這個標記

          在html中更改文本大小是一個簡單的編碼問題,你可以學會自己做,你也可以使用各種額外的html技巧。通過參加html培訓學習,對html會有更系統更全面的認識,零基礎也能輕松學到有用的知識。

          了解更多

          1.店標

          大小:100*100px <=80k

          代碼:無(圖片做好后直接上傳)

          格式:jpg、gif

          設置:管理我的店鋪—基本設置—店標—瀏覽—選擇本地做好店標文件

          2. 店鋪公告尺寸:320*400

          3.寶貝分類尺寸:88*88和88*30(寶貝分類含3個)

          4.店鋪介紹尺寸:600*450

          5.計數器尺寸:137*94

          6.論壇簽名尺寸:468*60

          7.店標尺寸:100*100

          8.旺旺名片/頭像

          大小:120*120px <=100k

          代碼:無(圖片做好后直接上傳)

          格式:jpg、gif

          9、寶貝圖片

          大小:500*500px <=120k

          代碼:無(圖片做好后直接上傳)

          格式:jpg、gif

          旺鋪

          1.店招

          大小:950*150px <=80k

          代碼:無(圖片做好后直接上傳)

          格式:jpg、gif、png

          2、旺鋪促銷區

          大小:寬度<=735px,高度無限制

          代碼:<img src="店鋪公告地址"/>(圖片必須放置在網絡空間或網絡像冊,沒有可以先申請一個,需支持寶淘外鏈的)

          格式:jpg、gif、html、文本

          3、旺鋪寶貝描述

          大小:寬度<=722px(窄),寬度<=922px(寬),高度隨意

          代碼:<img src="店鋪公告地址"/>(圖片必須放置在網絡空間或網絡像冊,沒有可以先申請一個,需支持寶淘外鏈的)

          格式:jpg、gif、html、文本

          普通店鋪的寶貝描述尺寸大小沒有什么限制,但考慮到顯示器的顯示尺寸,應掌握在1000PX以下。

          4、寶貝分類

          大小:寬度<=160,高度隨意

          代碼:<img src="寶貝分類地址"/>(圖片必須放置在網絡空間或網絡像冊,沒有可以先申請一個,需支持寶淘外鏈的)

          格式:jpg、gif(地址不要超過40個字符)

          5、背景音樂

          代碼:<BGSOUND balance=0 src="音樂地址" volume=0 loop="infinite" ></BGSOUND>

          格式:最好為WMA

          設置:管理我的店鋪—基本設置—公告

          6、懸掛飾物

          代碼:<img src="圖片地址" style="left:20px;position:relative;top:0px;">

          格式:同上,須放置在網絡空間或網絡像冊中的圖片

          設置:管理我的店鋪—基本設置—公告

          7、論壇簽名

          大小:468*60px <=100k

          代碼:無(圖片做好后直接上傳)

          格式:jpg、gif

          【特色推薦】

          公眾微信號:ibooklet(←長按復制即可)

          關注微信公眾平臺:ibooklet (回復:''教程''領取整套視頻,每天推送新教程)

          微博:小冊子gill

          在線教育 / 平面設計 / 淘寶運營 /PS教程 | 每天在線直播!!

          讀者如果有電商問題可以加微信 booklet1

          淘寶學習群: 368518514


          主站蜘蛛池模板: 一区视频在线播放| 国产一区二区三区免费视频| 制服丝袜一区二区三区| 夜夜爽一区二区三区精品| 狠狠爱无码一区二区三区| 精品国产一区二区三区在线观看| 成人乱码一区二区三区av| 国产在线视频一区| 免费无码毛片一区二区APP| 无码国产精成人午夜视频一区二区| 亚洲av鲁丝一区二区三区| 日本精品一区二区三区视频| 久久精品免费一区二区三区| 麻豆一区二区在我观看| 亚洲综合一区二区国产精品| 国精产品一区一区三区| 免费av一区二区三区| 99偷拍视频精品一区二区| 99久久精品费精品国产一区二区| 尤物精品视频一区二区三区| AA区一区二区三无码精片 | 国产微拍精品一区二区| 亚洲AV成人一区二区三区在线看| 人妻av综合天堂一区| 午夜一区二区免费视频| 亚洲欧美日韩中文字幕在线一区| 国产一区二区草草影院| 一区二区三区精品视频| 亚洲国产精品乱码一区二区| 中文字幕无码不卡一区二区三区| 日本一区二区三区在线观看视频| 久久精品无码一区二区app| 高清一区二区三区免费视频| 国产免费无码一区二区| 一区二区三区日韩精品| 一区二区中文字幕在线观看| 中文人妻无码一区二区三区| 久久国产精品免费一区| 久久AAAA片一区二区| 无码夜色一区二区三区| 波多野结衣一区二区|