操亚洲女人-操夜夜-国产一区免费看-国产一区免费视频-绿帽在线-麻豆 美女 丝袜 人妻 中文-人人超碰97-人人超碰人人-天天添天天操-天天添天天射-一区二区三区视频观看-一区二区三区视频免费-久久亚洲日韩av一区二区三区-精品人妻中文av一区二区三区-无码人妻精品中文字幕免费-中国做爰国产精品视频

網站開發-移動H5開發入門知識,CSS的單位匯總與用法
2017-03-07

移動H5開發入門知識,CSS的單位匯總與用法

網站移動端的使用效率是一個什么情況,相信做過運營的朋友都知道,一般占比在90%以上,因此移動開發是我們這些網站開發從業者必備的基本技能,下面分享一些日程網站開發中的一些總結。
說到css的單位,大家應該首先想到的是px,也就是像素,我們在網頁布局中一般都是用px,但是近年來自適應網頁布局越來越多,em和百分比也經常用到了。然后隨著手機的流行,web app和hybrid app的開發,都用到了css3技術,在css3中,新增了許多單位,rem、vw和vh、vmin和vmax、ch和ex等等,那現在對這些單位分別做一下詳細的介紹吧。

1、em

做前端的應該對em不陌生,不是什么罕見的單位,是相對單位,參考物是父元素的font-size,具有繼承的特點。如果字體大小是16px(瀏覽器的默認值),那么 1em = 16px。

不過,這樣使用很復雜,很難很好的與px進行對應,因此,前端開發的前輩們總結了一個經驗

body {
font-size: 62.5%;
}

那么,這樣之后 1em = 10px 在布局等使用的時候好換算了很多。

2、百分比

百分比相信大家更不會陌生了,百分比一般寬泛的講是相對于父元素,但是并不是十分準確。

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

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

3、對于position: fixed;的元素是相對于 ViewPort

viewport:可視窗口,也就是瀏覽器的window那么大。

例外情況

1、使用了padding、margin 等,實際百分比和你想要的百分比是有區別的。(關于這個,解決方法之一,就是我們可以使用css3的calc()屬性,具體,您請繼續往下看,在文章最后我會解釋。)

2、line-height百分比的一些情況,通常結果是百分比 計算后的值。(關于這個,您請繼續往下看。。。)

3、rem

rem支持IE9及以上,意思是相對于根元素html(網頁),不會像em那樣,依賴于父元素的字體大小,而造成混亂。使用起來安全了很多。

html {font-size: 62.5%; /**10 ÷ 16 × 100% = 62.5%    1rem = 10px   **/}   
body {font-size: 1.4rem; /**1.4 × 10px = 14px **/}
h1 { font-size: 2.4rem; /**2.4 × 10px = 24px**/}

這樣整個網頁都會比較統一!不會造成混亂!

4、vh 和 vw

IE10+ 和現代瀏覽器都支持這兩個單位。

vw Viewport寬度, 1vw  等于viewport寬度的1%

vh Viewport高度, 1vh  等于viewport高的的1%

vw和vh會隨著viewport變化自動變化,再也不用js控制全屏了。

甚至有些人喪心病狂的字體大小都用vw和vh控制,來達到字體和viewport大小同步的效果。

5、vmin和vmax

IE10+ 和現代瀏覽器都已經支持vmin

webkit瀏覽器之前不支持vmax,新版已經支持,所有現代瀏覽器已經支持,但是IE 全部  不支持vmax

vmin vw和vh中比較  的值

vmax vw和vh中比較  的值

這兩個屬性也會隨著viewport變化

6、ch和ex

IE9+ 和現代瀏覽器都已經支持,這兩個單位時根據 當前font-family  的相對單位。

ch 字符0的寬度

ex 小寫字符x的高度

如下圖:

<iframe frameborder="0" id="iframe_0.8958783512935042" scrolling="no" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=http://www.ouyaoshun.cn/uploadfile/2017/0307/20170307105033729.jpg!web?_=6512705%22%20style=%22border:none;max-width:1571px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.8958783512935042',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" style="border-style: none; border-width: initial; width: 500px; height: 304px;"></iframe>

當font-family改變的時候這兩個單位的值也會變化,不同字體表現的樣式不一樣。

第二部分移動H5開發入門知識:CSS3的新單位算法

A、css3的calc()。

上面我們已經提到了calc(),下面我們就具體說一說吧!

瀏覽器支持IE9+、FF4.0+、Chrome19+、Safari6+

calc()語法非常簡單,就像我們小時候學加 (+)、減(-)、乘(*)、除(/)一樣,使用數學表達式來表示:

.haorooms {
  width: calc(expression);
}

這樣padding和margin和百分比一起用,問題就可以解決了。

例如,我們margin是20px。那么我們就可以寫成

.haorooms{
  width: calc(100% - 20px);  //注:減號前后要有空格,否則很可能不生效!!
}

也可以這么用:

.box {
    background: #f60;
    height: 50px;
    padding: 10px;
    border: 5px solid green;
     width: 90%;/*寫給不支持calc()的瀏覽器*/
    width:-moz-calc(100% - (10px + 5px) * 2);
    width:-webkit-calc(100% - (10px + 5px) * 2);
    width: calc(100% - (10px + 5px) * 2);
}

B、line-height百分比

line-height百分比在面試中可能經常問到。例如你知道line-height:120%和line-height:1.2的區別嗎?

現在就說一下行高帶單位和不帶單位的區別,例如下面的例子:

line-height:26px; 表示行高為26個像素
line-heigth:120%;表示行高為當前字體大小的120%
line-height:2.6em; 表示行高為當前字體大小的2.6倍

帶單位的行高都有繼承性,其子元素繼承的是計算值,如父元素的字體大小為14px,定義行高line-height:2em;則計算值為 28px,不會因其子元素改變字體尺寸而改變行高。(例如:父元素14px,子元素12px,那么行高就是28px,子元素雖然字體是12,行高還是父元素的行高)

line-height:2.6;表示行高為當前字體大小的2.6倍

不帶單位的行高是直接繼承,而不是計算值,如父元素字體尺寸為14px,行高line-height:2;他的行高為28px;子元素尺寸為12px,不需要再定義行高,他默認的行高為24px。(例如:子元素12px,他的行高是24,不會繼承父元素的28)

希望以上的這些移動H5開發入門知識點,對各位的H5前端開發學習有一定的幫助. 網站開發者開拓者科技會在以后的工作學習供多總結分享。


訪問手機端更方便
操亚洲女人-操夜夜-国产一区免费看-国产一区免费视频-绿帽在线-麻豆 美女 丝袜 人妻 中文-人人超碰97-人人超碰人人-天天添天天操-天天添天天射-一区二区三区视频观看-一区二区三区视频免费-久久亚洲日韩av一区二区三区-精品人妻中文av一区二区三区-无码人妻精品中文字幕免费-中国做爰国产精品视频

          主站蜘蛛池模板: 国产日韩精品在线观看| 久久99精品视频一区97 | 国产精品美女久久久久久免费| 98精品在线视频| 91成人精品网站| 国产精品一区久久| 亚洲精品成a人在线观看| 亚洲女人被黑人巨大进入| 最近2019年好看中文字幕视频| 久久精品国产久精国产一老狼| 久久99精品国产99久久6尤物| 久久久久久成人| 国产精品视频99| 精品一区电影国产| 久久天天躁狠狠躁夜夜av| 欧美精品激情在线| 国产情人节一区| 伊人伊成久久人综合网站| 欧美另类高清videos| 国产99久久精品一区二区 夜夜躁日日躁| 91精品国产自产在线观看永久| 国产网站欧美日韩免费精品在线观看| 中文日韩在线观看| 欧美激情影音先锋| 91久久久久久久久久久久久| 国产亚洲精品美女久久久久| 日韩欧美亚洲范冰冰与中字| 国产精品美女久久久久久免费| 亚洲欧美另类在线观看| 久久91超碰青草是什么| 国产精品国产三级国产aⅴ浪潮| 日韩成人在线视频网站| 精品免费在线视频| 国产有码在线一区二区视频| 最新69国产成人精品视频免费| 91精品国产精品| 日韩精品在线观| 97婷婷涩涩精品一区| 亚洲级视频在线观看免费1级| 欧美午夜丰满在线18影院| 91久久夜色精品国产网站|