一:box-sizing
1:box-sizing 屬性允許您以特定的方式定義匹配某個(gè)區(qū)域的特定元素训措。
2:默認(rèn)值 content-box
3:content-box----在寬度和高度之外繪制元素的內(nèi)邊距和邊框 即寬度和高度只包括內(nèi)容區(qū)域的寬高
4:border-box-----為元素指定的任何內(nèi)邊距和邊框都將在已設(shè)定的寬度和高度內(nèi)進(jìn)行繪制。即通過從已設(shè)定的寬度和高度分別減去邊框和內(nèi)邊距才能得到內(nèi)容的寬度和高度。
二:px em和rem的比較
1:PX
含義:px像素(Pixel)绩鸣。相對長度單位怀大。像素px是相對于顯示器屏幕分辨率而言,用PX設(shè)置字體大小時(shí)呀闻,比較穩(wěn)定和精確化借。
特點(diǎn):
? ? ? ? ?這種方法存在一個(gè)問題,當(dāng)用戶在瀏覽器中瀏覽我們制作的Web頁面時(shí)总珠,如果改變了瀏覽器的縮放屏鳍,這時(shí)會(huì)使用我們的Web頁面布局被打破,
? ? ? ? ? ?IE無法調(diào)整那些使用px作為單位的字體大芯址钓瞭;
2:EM
含義:em是相對于父元素的font-size屬性值來計(jì)算的 ? em是相對長度單位。相對于當(dāng)前對象內(nèi)文本的字體尺寸淫奔。如當(dāng)前對行內(nèi)文本的字體尺寸未被人為設(shè)置山涡,則相對于瀏覽器的默認(rèn)字體尺寸
特點(diǎn):
? ? ? ? em的值并不是固定的;
? ? ? ? ?存在一個(gè)問題唆迁,進(jìn)行任何元素設(shè)置鸭丛,都有可能需要知道他父元素的大小。
注意:任意瀏覽器的默認(rèn)字體高都是16px唐责。
? ? ? ? ? 所有未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px鳞溉。那么12px=0.75em,10px=0.625em。為了簡化font-size的換算鼠哥,需要在css中的body選擇器中聲明Font-size=62.5%熟菲,這就使em值變?yōu)?16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數(shù)值除以10,然后換上em作為單位就行了朴恳。
? ? ? ? ? 重新計(jì)算那些被放大的字體的em數(shù)值抄罕。避免字體大小的重復(fù)聲明。
三:REM
含義:rem是CSS3新增的一個(gè)相對單位于颖,使用rem為元素設(shè)定字體大小時(shí)呆贿,仍然是相對大小,但相對的只是HTML根元素
特點(diǎn):?既可以做到只修改根元素就成比例地調(diào)整所有字體大小森渐,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)做入。目前,除了IE8及更早版本外章母,所有瀏覽器均已支持rem
px 與 rem 的選擇
對于只需要適配少部分手機(jī)設(shè)備母蛛,且分辨率對頁面影響不大的,使用px即可 乳怎。
對于需要適配各種移動(dòng)設(shè)備彩郊,使用rem前弯,例如只需要適配iPhone和iPad等分辨率差別比較挺大的設(shè)備。