整合營銷服務商

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

          免費咨詢熱線:

          CSS 行高有無單位的問題

          高有無單位的問題

          Div{font: 12px/1.5 '宋體'}
          Div{font: 12px/1.5em '宋體'}
          Div{font: 12px/150% '宋體;}


          <style>
          .father{
          width:200px;
          height:30px;
          background-color:pink;
          font-size:16px;
          line-height:2em;
          }
          .son{
          font-size:20px; /* 繼承過來的行高為32px */
          }
          </style>
          <div class="father">
          <div class="son"> 我是文字 </div>
          </div>
          <style>
          .father{
          width:200px;
          height:30px;
          background-color:pink;
          font-size:16px;
          line-height:2;  /* 設置文本所在行的行高。默認為normal。 */
          }
          .son{
          font-size:20px; /* 繼承過來的行高為40px 20*2px */
          }
          </style>
          <div class="father">
          <div class="son"> 我是文字 </div>
          </div>

          行高 2em 和 2 不一樣的。

          加em :

          先計算大小, 后繼承。

          不跟單位:

          先繼承, 后計算大小。

          要成為一名合格的前端工程師,會寫頁面絕對不能少,而如果想要頁面寫得出彩,你必須要知道一些網頁常用的基本單位。

          在傳統的項目開發中,我們常常會用到px、%、em這幾個單位,因為它能適用于大部分的項目開發,而且擁有比較良好的兼容性。但素,你造嗎?從CSS3開始,瀏覽器對邏輯單位的支持又提升到了另外一個境界,增加了rem、vw、vh、vm等一些新的長度單位,我們可以用這些新的單位開發出比較良好的響應式頁面,以此可以覆蓋多種不同分辨率的設備,包括移動設備等。

          那么,接下來我們分別來分析下,這些常用到的單位分別是什么。

          1.px

          px就是pixel的縮寫,像素,相對長度單位,像素是相對于顯示器屏幕分辨率而言。比如常常聽到的電腦像素是1024x768的,表示的是水平方向是1024個像素點,垂直方向是768個像素點。再比如,px就可以認為是一張圖片最小的一個點,一張位圖就是千千萬萬的這樣的點構成的。

          2.em

          相對長度單位,參考對象是父元素的font-size,具有繼承的特點,如果當前行內文本的字體尺寸未被設置,瀏覽器使用默認字體尺寸(16px),整個頁面內1em也不是一個固定的值。

          3.%

          一般寬泛的講是相對于父元素,但是并不是絕對的。

          1)、對于普通元素就是我們理解的相對于父元素

          2)、對于position: absolute;的元素是相對于已定位的父元素

          3)、對于position: fixed;的元素是相對于ViewPort(可視窗口)

          4.rem

          rem是css3的新單位,相對于根元素html(網頁)的font-size,不會像em那樣,依賴于父元素的字體大小,而造成混亂。這個單位可謂集相對大小和絕對大小的優點于一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對于不支持它的瀏覽器,應對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設定的字體大小。

          例如:

          p{font-size:14px;?font-size:.875rem;}

          但是,需要注意的是:

          選擇使用什么字體單位主要由你的項目來決定,如果你的用戶群都使用最新版的瀏覽器,那推薦使用rem,如果要考慮兼容性,那就使用px,或者兩者同時使用。一般rem用在移動端可能更多些。

          5.vw

          vw是css3新單位,viewpoint width的縮寫,即視口寬度。何謂視口,就是根據你瀏覽器窗口的大小的單位,不受顯示器分辨率的影響,是不是很神奇,這就代表了,我們不需要顧慮到現在那么多不同電腦有關分辨率的自適應問題。視口寬度被均分為100單位的vw,1vw等于視窗寬度的1%。

          舉個例子:瀏覽器寬度1200px, 1 vw = 1200px/100 = 12 px。和百分比不一樣的是,vw始終相對于可視窗口的寬度,而百分比和其父元素的寬度有關。

          6.vh

          與vw類似,vh就是可視窗口的高度了。視口高度被均分為100單位的vh,1vh就是高度的1%。看下圖:

          7.vm

          vm也是css3新單位,相對于視口的寬度或高度中較小的那個。其中最小的那個被均分為100單位的vm。

          舉個栗子:瀏覽器高度800px,寬度1000px,取最小的瀏覽器高度,1 vm = 800px/100 = 8 px。

          由于現在vm的兼容性較差,現在基本上很少有人用。

          除了上述7種單位,css還有哪些長度單位?

          例如:

          in 寸

          cm 厘米

          mm 毫米

          pt point磅,大約1/72寸

          pc pica派卡,大約6pt,1/6寸

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

          、介紹

          傳統的項目開發中,我么只會用到px、%、em這幾個單位,它們可以適用于大部分的項目開發,并且具有良好的兼容性。

          CSS3開始,瀏覽器對計量單位的支持又提升到了另外一個境界,新增了rem、vh、vw、vm等一些新的計量單位。

          利用這些新的單位開發出比較良好的響應式頁面,適應多種不同分辨率的終端,包括移動設備等。

          二、單位

          在css單位中,可以分為長度單位、絕對單位,如下表所指示

          CSS單位


          相對長度單位

          em、ex、ch、rem、vw、vh、vmin、vmax、%

          絕對長度單位

          cm、mm、in、px、pt、pc

          今天我們主要講講px、em、rem、vh、vw、vm之間的區別

          1.px

          px,表示像素,所謂像素就是呈現在我們顯示器上的一個個小點,每個像素點都是大小等同的,所以像素為計量單位被分在了絕對長度單位中。有些人會把px認為是相對長度,原因在于在移動端中存在設備像素比,px實際顯示的大小是不確定的。這里之所以認為px為絕對單位,在于px的大小和元素的其他屬性無關。

          2.em

          em是相對長度單位。相對于當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對于瀏覽器的默認字體尺寸(1em = 16px)。為了簡化 font-size 的換算,我們需要在css中的 body 選擇器中聲明font-size= 62.5%,這就使 em 值變為 16px*62.5% = 10px。這樣 12px = 1.2em, 10px = 1em, 也就是說只需要將你的原來的px 數值除以 10,然后換上 em作為單位就行了。

          特點:

          • em 的值并不是固定的
          • em 會繼承父級元素的字體大小
          • em 是相對長度單位。相對于當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對于瀏覽器的默認字體尺寸
          • 任意瀏覽器的默認字體高都是 16px

          舉個例子:

          <div class="big">
              我是14px=1.4em<div class="small">我是12px=1.2em</div>
          </div>
          
          <style>
              html {font-size: 10px;  } /*  公式16px*62.5%=10px  */  
              .big{font-size: 1.4em}
              .small{font-size: 1.2em}
          </style>
          復制代碼

          這時候.big元素的font-size為14px,而.small元素的font-size為12px

          3.rem

          rem,相對單位,相對的只是HTML根元素font-size的值。同理,如果想要簡化font-size的轉化,我們可以在根元素html中加入font-size: 62.5%。

          html {font-size: 62.5%;  } /*  公式16px*62.5%=10px  */ 
          復制代碼

          這樣頁面中1rem=10px、1.2rem=12px、1.4rem=14px、1.6rem=16px;使得視覺、使用、書寫都得到了極大的幫助

          特點:

          • rem單位可謂集相對大小和絕對大小的優點于一身
          • 和em不同的是rem總是相對于根元素,而不像em一樣使用級聯的方式來計算尺寸

          4.vh、vw

          vw是根據窗口的寬度,分成100等份,100vw就表示滿寬,50vw就表示一半寬。(vw 始終是針對窗口的寬),同理,vh則為窗口的高度。

          這里的窗口分成幾種情況:

          • 在桌面端,指的是瀏覽器的可視區域
          • 移動端指的就是布局視口

          像vw、vh,比較容易混淆的一個單位是%,不過百分比寬泛的講是相對于父元素:

          • 對于普通定位元素就是我們理解的父元素
          • 對于position: absolute;的元素是相對于已定位的父元素
          • 對于position: fixed;的元素是相對于 ViewPort(可視窗口)

          5.vm

          相對于視口的寬度或高度中較小的那個。其中最小的那個被均分為100單位的vm。

          舉個例子:瀏覽器高度900px,寬度1200px,取最小的瀏覽器高度,1 vm = 900px/100 = 9 px。

          三、總結

          • 「px」:絕對單位,頁面按精確像素展示
          • 「em」:相對單位,基準點為父節點字體的大小,如果自身定義了font-size按自身來計算,整個頁面內1em不是一個固定的值
          • 「rem」:相對單位,可理解為root em, 相對根節點html的字體大小來計算
          • 「vh、vw」:主要用于頁面視口大小布局,在頁面布局上更加方便簡單
          • 「vm」:對于視口的寬度或高度中較小的那個,使用方法和vh\vm類似

          作者鏈接:https://juejin.cn/post/6945618076087894052


          主站蜘蛛池模板: 亚洲.国产.欧美一区二区三区 | 无码人妻精品一区二区| 在线精品视频一区二区| 内射一区二区精品视频在线观看| 日韩在线一区二区三区免费视频| 亚洲无人区一区二区三区| 无码中文字幕人妻在线一区二区三区| 精品一区二区三区水蜜桃| 无码人妻精品一区二区| 奇米精品一区二区三区在| 国产一区二区三区不卡在线看| 国产一区二区三区免费| 久久精品一区二区影院| 国产欧美色一区二区三区| 无码少妇一区二区三区| 亚洲一区二区三区AV无码| 亚洲一区二区视频在线观看| 人妻少妇久久中文字幕一区二区| 国产成人一区二区动漫精品| 中文字幕精品一区影音先锋| 激情一区二区三区| 少妇激情一区二区三区视频| 亚洲色精品aⅴ一区区三区| 国产一区二区三区夜色| 日产亚洲一区二区三区| 最新欧美精品一区二区三区| 中文字幕亚洲综合精品一区| 亚洲AV无码一区二区三区牛牛| 韩国一区二区三区| 精品亚洲福利一区二区| 好吊视频一区二区三区| 精品欧洲av无码一区二区三区| 国产成人精品一区二区A片带套 | 九九无码人妻一区二区三区| 亚洲成av人片一区二区三区| 搜日本一区二区三区免费高清视频| 中文字幕av无码一区二区三区电影| 精品三级AV无码一区| 国产一区二区三区在线免费观看| 国产主播一区二区| av一区二区三区人妻少妇|