移動web開發(fā)之rem布局

rem布局

一、rem布局概念

1.rem是什么?

rem(font size of the root element)是指相對于根元素的字體大小的單位

2.為什么web app要使用rem?

實現(xiàn)強大的屏幕適配布局(淘寶,騰訊,網(wǎng)易等網(wǎng)站都是rem布局適配)rem能等比例適配所有屏幕,根據(jù)變化html的字體大小來控制rem的大小,如不同html字體大小的計算下,rem值不同

em 單位

//div和span為父子關(guān)系
<div>
  <span></span>
</div>
  //父元素 為 6px 
div {
  font-size: 6px;
}
  //此時 div 的字體大小就是 18px 
span {
  font-size: 3em;
}

rem 單位

  • rem (root em)是一個相對單位,類似于em,em是父元素字體大小。
  • 不同的是rem的基準(zhǔn)是相對于html元素的字體大小。
  • 比如,根元素(html)設(shè)置font-size=12px; 非根元素設(shè)置width:2rem; 則換成px表示就是24px。
  • rem的優(yōu)勢:父元素文字大小可能不一致, 但是整個頁面只有一個html,可以很好來控制整個頁面的元素大小。
/* 根html 為 12px */
html {
  font-size: 12px;
}
/* 此時 div 的字體大小就是 24px */
div {
  font-size: 2rem;
}

二、媒體查詢

2.1 什么是媒體查詢

媒體查詢(Media Query)是CSS3新語法。

  • 使用 @media 查詢,可以針對不同的媒體類型定義不同的樣式
  • @media 可以針對不同的屏幕尺寸設(shè)置不同的樣式
  • 當(dāng)你重置瀏覽器大小的過程中,頁面也會根據(jù)瀏覽器的寬度和高度重新渲染頁面
  • 目前針對很多蘋果手機、Android手機,平板等設(shè)備都用得到多媒體查詢
2.2 語法規(guī)范
@media mediatype and|not|only (media feature) {
   CSS-Code;
}
  • 用 @media 開頭 注意@符號
  • mediatype 媒體類型
  • 關(guān)鍵字 and not only
  • media feature 媒體特性 必須有小括號包含

1. mediatype 查詢類型

將不同的終端設(shè)備劃分成不同的類型,稱為媒體類型.

2. 關(guān)鍵字

關(guān)鍵字將媒體類型或多個媒體特性連接到一起做為媒體查詢的條件。

  • and:可以將多個媒體特性連接到一起,相當(dāng)于“且”的意思。
  • not:排除某個媒體類型,相當(dāng)于“非”的意思,可以省略。
  • only:指定某個特定的媒體類型,可以省略。

3. 媒體特性

每種媒體類型都具體各自不同的特性,根據(jù)不同媒體類型的媒體特性設(shè)置不同的展示風(fēng)格。我們暫且了解三個。

注意他們要加小括號包含.

4.媒體查詢書寫規(guī)則

注意: 為了防止混亂,媒體查詢我們要按照從小到大或者從大到小的順序來寫,但是我們最喜歡的還是從小到大來寫,這樣代碼更簡潔。

2.3 媒體查詢+rem實現(xiàn)元素動態(tài)大小變化
  1. rem單位是跟著html來走的,有了rem頁面元素可以設(shè)置不同大小尺寸
  2. 媒體查詢可以根據(jù)不同設(shè)備寬度來修改樣式
  3. 媒體查詢+rem 就可以實現(xiàn)不同設(shè)備寬度,實現(xiàn)頁面元素大小的動態(tài)變化

三、引入資源

  • 當(dāng)樣式比較繁多的時候,我們可以針對不同的媒體使用不同 stylesheets(樣式表)。
  • 原理,就是直接在link中判斷設(shè)備的尺寸,然后引用不同的css文件。

1. 語法規(guī)范

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

2. 示例

<link rel="stylesheet" href="styleA.css" media="screen and (min-width: 400px)">
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容