CSS calc()
在介紹cal()具體用法之前,先對其進行一個總體介紹。
如果學習過JavaScript等程式語言,它的外觀非常像一個函式,功能也非常類似。
不妨認為它就是CSS中的一個函式,函式名稱calc是calculate的縮寫,翻譯成漢語具有"計算"的意思。
使用此函式可以動態的計算元素的一些屬性值,比如寬度、高度或者內外邊距等。
動態計算的需求在實際佈局中非常的多,特別是一些尺寸不固定的應用場景,比如響應式佈局。
所以對於calc()函式的掌握是必須的,在應用中也一定會體會到它的便利性,文章底部會有簡單的程式碼演示。
一.函式用法:
此函式可以動態計算出參數列達式的值。
語法結構:
[CSS] 純文字檢視 複製程式碼calc(expression)
引數解析:
(1).expression:必需,一個合法的數學表示式,函式會計算並返回此表示式的值。
引數數學表示式的規則如下:
(1).表示式支援加減乘除四則運算。
(2).運算子的兩側需要至少保持一個空格(乘除可以省略,但是建議保留)。
(3).遵循數學的運算子優先順序規則。
(4).在表示式中可以使用CSS中尺寸單位,比如px或者em等。
二.瀏覽器相容:
(1).IE9+瀏覽器支援此方法。
(2).edge瀏覽器支援此方法。
(3).火狐瀏覽器支援此方法。
(4).谷歌瀏覽器支援此方法。
(5).Opera瀏覽器支援此方法。
(6).safria瀏覽器不支援此方法。
三.程式碼例項如下:
假設有一個容器元素,寬度不固定,有一個子元素,具有5px的邊框與5px的內邊距。
想讓這個子元素鋪滿父容器元素,但並不溢位,如果設定子元素的寬度與高度都是100%,肯定會溢位。
那麼通過calc()函式可以很輕鬆計算出子元素正確的尺寸。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> html,body{ width:100%; height:100%; } #main { width:20%; height:20%; background-color:#ccc; } #main>div { border:5px solid blue; padding:5px; width:calc(100% - 5px*2 - 5px*2); height:calc(100% - 5px*2 - 5px*2); background-color:green; } </style> </head> <body> <div id="main"> <div></div> </div> </body> </html>
上述程式碼實現了我們的目的,看谷歌開發者工具截圖:
左邊的是容器的盒模型截圖,右側是子div的盒模型截圖。
由於容器div的尺寸不是固定的,所以很難給子div的尺寸一個固定的值。
也就是說由於容器的尺寸不固定,子元素的尺寸也可能隨時變化。
通過calc()函式進行動態計算是一個良好的選擇,核心程式碼如下:
[CSS] 純文字檢視 複製程式碼width:calc(100% - 5px*2 - 5px*2); height:calc(100% - 5px*2 - 5px*2);
對程式碼注意點說明如下:
(1).遵循數學四則運算優先順序規則。
(2).運算表示式中可以帶有單位,比如上面的px。
(3).運算子兩側需要帶有空格,否則會報錯,但是乘除運算可以省略。
相關文章
- css calc使用總結CSS
- CSS中的calc()有什麼作用?CSS
- 【CSS筆記】— 使用calc()計算寬高(vw/vh)CSS筆記
- calc
- [譯] CSS 變數 + calc + rgb = 自動高對比度CSS變數
- 關於css屬性calc對於ie的態度CSS
- 【BUUCTF】easy calc
- 巧用CSS3的calc()寬度計算做響應模式佈局CSSS3模式
- [RoarCTF 2019]Easy Calc
- [RoarCTF 2019]Easy Calc 1
- BUUCTF:[RoarCTF 2019]Easy Calc
- 關於calc的踩坑
- 十四、css3動畫庫的使用、css3彈性盒子、calc()、css3預處理、什麼是less以及好處是什麼。CSSS3動畫
- Loan Calc for Mac計算房貸軟體Mac
- BZOJ2655: calc(dp 拉格朗日插值)
- LibreOffice Calc 讓你的支出不再成為負擔
- 2022DASCTF X SU 三月春季挑戰賽 Calc
- Debug: calc() 未生效 <= 內嵌樣式表示式需使用空格分隔
- 使用函式RP_CALC_DATE_IN_INTERVAL進行日期的年月日的加減函式
- css 命名:BEM, scoped css, css modules 與 css-in-jsCSSJS
- 【CSS】CSS常用技巧CSS
- win10系統下計算器calc.exe打不開怎麼解決Win10
- CSS速刷 - CSS效果CSS
- css43 CSS SpecificityCSS
- css15 CSS MarginsCSS
- css16 CSS PaddingCSSpadding
- CSS——CSS基礎(1)CSS
- 徹底弄懂設定根元素字型大小calc(100vw/18.75) 實現rem自適應REM
- CSS——CSS 值和單位CSS
- CSS速刷 - CSS動畫CSS動畫
- css34 CSS Opacity / TransparencyCSSS3
- css38 CSS Image SpritesCSSS3
- css44 CSS The !important RuleCSSImport
- css45 CSS Math FunctionsCSSFunction
- css23 CSS Links, CursorsCSS
- css11 CSS RGB ColorsCSS
- css12 CSS HEX ColorsCSS
- css17 CSS Height, WidthCSS