中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3中的calc()函數有什么用

發布時間:2022-03-03 09:32:55 來源:億速云 閱讀:114 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關css3中的calc()函數有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

  css3中的calc()是什么?可以做什么?

  calc()從字面看我們可以把它理解為一個function函數。其實calc就是英文單詞calculate(計算)的縮寫;它是一個css3新增的功能,可以用來指定元素的長度,動態計算長度值。(推薦學習:CSS3手冊)

  在CSS3中calc()函數可以允許我們對屬性值執行數學運算。

  例如,我們可以使用calc()函數指定寬度值為兩個或更多數值相加的結果,而不是把元素寬度值聲明為一個靜態像素值。

  .demo{

  width:calc(100px+50px);

  }

  為什么要使用calc()?

  如果你使用過像sass這樣的css預處理器的話,那么你可能會遇到如下的例子:

  .demo{

  width:100px+50px;

  }

  //使用SASS變量

  $width-one:100px;

  $width-two:50px;

  .bar{

  width:$width-one+$width-two;

  }

  然而,calc()函數提供了一個很好的解決方案,它有兩個好處。首先,我們可以組合不同的單位。具體來說,就是我們可以混合使用各種單位來進行計算,如百分比、px、em、rem等單位都可以混在一起使用。例如,我們可以創建一個表達式,它將從百分比值中減去像素值。

  .demo{

  width:calc(100%-50px);

  }

  在此示例中,.demo元素的寬度始終小于其父寬度的100%。

  其次,使用calc()后,計算值是表達式本身,而不是表達式的結果值。這樣在使用css預處理器執行數學表達式時,給予瀏覽器的值是表達式的結果值。

  //在SCSS中指定值

  .demo{

  width:100px+50px;

  }

  //瀏覽器中編譯的CSS及其計算值

  .demo{

  width:150px;

  }

  使用calc()函數,瀏覽器解析的值是實際的calc()表達式。

  //在CSS中指定值

  .demo{

  width:calc(100%-50px);

  }

  //瀏覽器的計算值

  .demo{

  width:calc(100%-50px);

  }

  這意味著瀏覽器中的值可以更加動態,并且可以隨著視圖的變化而改變。我們可以有一個元素(值為:視圖高度減去絕對值),它會隨著視圖的變化而改變。

  calc()函數的使用

  calc()函數可以使用數字屬性值來執行加、減、乘、除,四則運算。具體而言,它可以被使用在<length>,<frequency>,<angle>,<time>,<number>,<integer>等數據類型中。

  這里有一些例子:

  .demo{

  width:calc(50vmax+3rem);

  padding:calc(1vw+1em);

  transform:rotate(calc(1turn+28deg));

  background:hsl(100,calc(3*20%),40%);

  font-size:calc(50vw/3);

  }

  注:

  使用“+”和“-”時,其前后必須要有空格,如"widht:calc(12%+5em)"這種沒有空格的寫法是錯誤的;

  使用“*”和“/”時,其前后可以沒有空格,但建議留有空格。

  calc()嵌套使用

  calc()函數可以嵌套使用。但是,內部函數將被視為簡單的括號表達式。舉例來說,以下嵌套表達式:

  .demo{

  width:calc(100%/calc(100px*2));

  }

  相當于:

  .demo{

  width:calc(100%/(100px*2));

  }

  下面我們通過一個簡單的例子來看看calc()函數的使用

  示例:居中元素(假設.demo盒子的高度和寬度都為300px)

  .demo{

  position:absolute

  top:calc(50%-150px);

  left:calc(50%-150px);

  }

  這就相當于:

  .demo{

  position:absolute;

  top:50%;

  left:50%;

  marging-top:-150px;

  margin-left:-150px;

  }

  calc()函數的兼容性

  1.jpg

  可以看出瀏覽器對于calc()函數的支持度還是不錯的。

  而對于不支持的瀏覽器來說,calc()函數將會把整個表達式給忽略掉。這就意味著我們將必須提供一個靜態值給不支持的瀏覽器使用。

  .demo{

  width:90%;/*非支持瀏覽器設置靜態值*/

  width:calc(100%-50px);

  }

關于“css3中的calc()函數有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

房产| 双柏县| 蚌埠市| 灵璧县| 镇江市| 五台县| 大理市| 龙泉市| 习水县| 河西区| 蓬莱市| 定兴县| 安图县| 凤凰县| 眉山市| 靖远县| 湘乡市| 潜江市| 麦盖提县| 启东市| 襄汾县| 左云县| 巴彦县| 塔河县| 平遥县| 台湾省| 大理市| 夏津县| 黄骅市| 安多县| 将乐县| 嘉善县| 黄大仙区| 舞钢市| 长白| 黄梅县| 饶阳县| 阿合奇县| 太湖县| 萨嘎县| 精河县|