最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

css3中的calc函數(shù)淺析

  發(fā)布時間:2018-07-10 15:56:37   作者:奔跑的小前端   我要評論
calc()對大家來說,或許很陌生,不太會相信calc()是css中的部分。但它卻是就是css3的一部分,下面這篇文章主要給大家介紹了關(guān)于css3中calc函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

其實在之前學(xué)習(xí)CSS3的時候,我并沒有注意到有calc()這個屬性,后來在看一個大牛的代碼的時候看到了這個,然后就引發(fā)了后來的一系列的查找、學(xué)習(xí),以及這篇博客的誕生。好了,廢話不多說了,來干正事。

簡介

其實,calc()這個形式看起來就很容易讓人想到Javascript里的函數(shù),當(dāng)然他不是js里的函數(shù),但是他有著類似函數(shù)的功能,可以用來計算,括號里是一個表達式,通常用calc()來指定元素的長度,不管是width、height、border還是padding等都可以用他來指定。說白了,calc()就是css3的一個指定元素長度的屬性,他的特殊之處在于他可以做計算,而且支持混合使用各種單位,比如%、px、em等。所以這個屬性特別適用于那些自適應(yīng)的布局。

兼容性:在IE9+、FF4.0+、Chrome19+、Safari6+都得到了較好支持(據(jù)說在使用時要加上供應(yīng)商前綴,但是我測試了一下,不加也是可以用的),但是在移動端的支持不是很好。

正文:

最近在一次項目中我遇到一個很普通的問題,相信大家都會遇到過,我的需求是這樣的,我的側(cè)邊欄的高度是百分百的,就像下面的例子一樣:

這時我要在頂部導(dǎo)航欄上加一些需求,要實現(xiàn)的效果類似于這樣,不過想很郁悶它出現(xiàn)了滾動條,效果如下:

我不想它出現(xiàn)滾動條,這個時候可能很多同學(xué)會說,我可以用絕對定位等等,但我的頂部導(dǎo)航欄本來就是絕對定位呀,于是乎我翻了一翻css3,發(fā)現(xiàn)了一個神奇的函數(shù),calc!!!(啊尼路亞,啊尼路亞,啊尼路亞,啊尼路亞~~~)

下面是一些粗鄙的無聊的復(fù)制粘貼過來的函數(shù)說明:

calc() 函數(shù)用于動態(tài)計算長度值。

需要注意的是,運算符前后都需要保留一個空格,例如:width: calc(100vh - 10px);

任何長度值都可以使用calc()函數(shù)進行計算;

calc()函數(shù)支持 "+", "-", "*", "/" 運算;

calc()函數(shù)使用標(biāo)準(zhǔn)的數(shù)學(xué)運算優(yōu)先級規(guī)則;

支持版本:CSS3

兼容性:(開頭說了)

回到正事,了解了它的內(nèi)容,接下來就要看看它能給你帶來的好處,比如:消滅滾動條,當(dāng)我把父級的高度設(shè)置成height: calc(100vh - '我的需求內(nèi)容高度')時滾動條神奇的消失了,呈現(xiàn)了這樣的效果:

登登登登~?。?!是不是很神奇,為什么會這樣呢?因為100vh就相當(dāng)于window.innerHeight, 是瀏覽器的內(nèi)部高度, 滾動條高度也計算在內(nèi)。如果高只設(shè)置100%是可用高度, 就不包含滾動條的高度啦, 是不是非常好用的一個東西(說那么多大家走過路過應(yīng)施舍點點贊給我,謝謝謝謝~)

其實不僅僅只有高,還有很多很多應(yīng)用場景都是可以實現(xiàn)的,比如我們經(jīng)常會給自己的ul li設(shè)置padding或者margin,當(dāng)li的個數(shù)沒有超過一定的數(shù)量時它是不會換到第二行的,但有時候就因為那么一點點padding或者margin就換行了,使得左邊或者右邊空白了一處很難看,大家都可以用calc這個函數(shù)去解決,我就不一一舉例了哈,本人技術(shù)水平有限,就說到這了,如果有錯的地方,希望大家可以多多指出,祝大家級別年年跳,薪資翻又翻。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

蛟河市| 衡南县| 和田市| 姚安县| 广平县| 汝城县| 灵丘县| 信丰县| 扶余县| 昂仁县| 句容市| 安溪县| 泾川县| 藁城市| 邳州市| 惠东县| 安顺市| 满城县| 建阳市| 枣阳市| 尼木县| 广安市| 桑日县| 老河口市| 黔南| 扶余县| 伊川县| 昆山市| 双桥区| 望奎县| 台南市| 文山县| 普兰县| 萝北县| 台中县| 新昌县| 伊金霍洛旗| 东乌| 承德市| 湘乡市| 大名县|