一套適用于手機(jī)、iPad 和 PC 的代碼。每次加載不同的樣式時(shí),它們都能在一個(gè)項(xiàng)目中兼容。這就是所謂的響應(yīng)性。然后,我希望產(chǎn)品經(jīng)理能多考慮一下。我不想做了設(shè)計(jì)工作,最后卻說它不好看,因?yàn)槲也粫?huì)做設(shè)計(jì)。
自適應(yīng)是一套代碼,無論屏幕尺寸如何變化,改變的只是頁(yè)面的元素尺寸,而不會(huì)出現(xiàn)三欄變兩欄的表格變化。以前,領(lǐng)導(dǎo)和設(shè)計(jì)總讓我修改頁(yè)面,說是自適應(yīng)窗口的變化。結(jié)果要求把三欄改成兩欄。為什么要把這個(gè)按鈕隱藏起來,那個(gè)按鈕改成外觀,怎么改呢?難道不需要設(shè)計(jì)一張圖片嗎?我是不是在幻想?
智能手機(jī)屏幕尺寸和分辨率列表
缺點(diǎn)計(jì)算困難。如果我們要根據(jù)設(shè)計(jì)草案定義元素的寬度和高度,必須將其轉(zhuǎn)換為百分比單位。
使用 @media 媒體查詢,我們可以針對(duì)不同的屏幕尺寸編寫不同的樣式,從而實(shí)現(xiàn)響應(yīng)式布局。
響應(yīng)式的缺點(diǎn):如果有太多的樣式需要在瀏覽器尺寸發(fā)生變化時(shí)進(jìn)行更改,那么多套樣式代碼將非常麻煩。
@media mediatype and not only (media feature) { css-code; }<link rel="stylesheet" media="mediatype and not only (media feature)" href"mystylesheet.css"<link rel="stylesheet" href="styleB.css" media="screen and (max-width: 800px)">@media screen and (max-device-width:960px){ body{background:red;}}
常用響應(yīng)斷點(diǎn)閾值設(shè)置。
rem 通常用于適應(yīng)移動(dòng)終端,頁(yè)面根據(jù)視口分為 10 個(gè)部分。
例如,現(xiàn)在有 5 個(gè)大小相同的屏幕(750 640 480 375 320),所有屏幕的總寬度被劃分為 10rem.
然后,我們需要獲取與這些不同屏幕相對(duì)應(yīng)的 html 根元素的字體大小。
flexible.js 插件還可以解決以下問題。
em 和 rem 與之類似,它們都根據(jù) font-size 來縮放頁(yè)面布局,但 em 主要取決于直接父級(jí)標(biāo)簽 font-size 的大小,并且只會(huì)查找最近的父級(jí)標(biāo)簽,而不會(huì)直接依賴于整個(gè) html 根標(biāo)簽。
因?yàn)?100vw = 100 視圖窗口寬度,100vh = 100 視圖窗口高度,那么根據(jù) 750 的設(shè)計(jì)草案,100vw 就是 750。那么 1vw 就是 7.5px
flex-direction, flex-wrap, justify-content, align-itemsalign-content: order, flex-grow, flex-shrink, flex-basis, align-self
左右兩列的寬度是恒定的,中間一列的寬度則根據(jù)瀏覽器窗口的大小自適應(yīng)調(diào)整。
與雙飛翼布局一樣,左右兩欄的寬度是恒定的,中間一欄的寬度根據(jù)瀏覽器窗口的大小自適應(yīng),但它更加完整。
本文鏈接:http://www.tebozhan.com/showinfo-26-10480-0.html每個(gè)高級(jí)前端工程師都應(yīng)該知道的前端布局
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com