自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

新 CSS Math方法:Rem() 和 Mod()

開發(fā) 前端
在 CSS 中,我們現(xiàn)在可以使用 Rem() 函數(shù)來計算余數(shù)。它接受兩個參數(shù),就像 JavaScript 中使用余數(shù)操作符 % 的兩個數(shù)字一樣。在數(shù)學(xué)術(shù)語中,第一個數(shù)字是被除數(shù),第二個是除數(shù)。

CSS 添加了許多新的數(shù)學(xué)函數(shù)來補(bǔ)充舊有的函數(shù)(如 calc() 和最近的 clamp() )。這些函數(shù)最終都表示一個數(shù)值,但其工作原理的細(xì)微差別并不總是一開始就很清楚。本文介紹每個函數(shù)的常見用例以及不太常見的用例。

rem() 函數(shù)的基礎(chǔ)知識

余數(shù)的數(shù)學(xué)概念來自除法,表示一個數(shù)不能平均除以另一個數(shù)時的余數(shù)。例如,在 9 ÷ 4 中, 9 不是 4 的倍數(shù),因此 4 不能平均分成 9 。你可以把兩個 4 相加,得到 8 ,但是你仍然有一個 1 余數(shù)來得到 9 ,所以 1 就是我們的余數(shù)。

在 JavaScript 中,我們可以使用運(yùn)算符來實現(xiàn)這一功能: % :

console.log(9 % 4); // 1
console.log(5 % 4.1); // 0.9
console.log(1003 % 5); // 3

在 CSS 中,我們現(xiàn)在可以使用 rem() 函數(shù)來計算余數(shù)。它接受兩個參數(shù),就像 JavaScript 中使用余數(shù)操作符 % 的兩個數(shù)字一樣。在數(shù)學(xué)術(shù)語中,第一個數(shù)字是被除數(shù),第二個是除數(shù)。

下面的 CSS 表示相當(dāng)于前面的 JavaScript 示例:

line-height: rem(9, 4); /* 1 */
line-height: rem(5, 4.1); /* 0.9 */
line-height: rem(1003 % 5); /* 3 */

由于我們使用的是 CSS,因此還必須考慮單位。兩個參數(shù)值的類型必須相同,例如長度或角度表示法。

rotate: rem(20deg, 5deg); /* 0deg */
rotate: rem(20deg, 7deg); /* 6deg */
rotate: rem(20deg, 3deg); /* 2deg */

如果單位類型相同,則可以混合使用。例如,我們可以混合使用 deg 和 turn 這兩個單位,因為它們都表示角度。

rotate: rem(100deg, .25turn); /* 10deg (100 % 90) */
rotate: rem(200deg, .25turn); /* 20deg (200 % 90) */

值總是取第一個參數(shù)(被除數(shù))的符號。因此,如果被除數(shù)是負(fù)數(shù),結(jié)果也將是負(fù)數(shù)。第二個參數(shù)(除數(shù))的符號對結(jié)果沒有影響。

line-height: rem(9, 4); /* 1 */
line-height: rem(-9, 4); /* -1 */
line-height: rem(9, -4); /* 1 */
line-height: rem(-9, -4); /* -1 */

mod() 函數(shù)的基礎(chǔ)知識

與余數(shù)概念密切相關(guān)的是模函數(shù)。當(dāng)被除數(shù)和除數(shù)的符號相同時,兩個函數(shù)的結(jié)果相同。

line-height: rem(9, 4); /* 1 */
line-height: mod(9, 4); /* 1 */
line-height: rem(-9, -4); /* -1 */
line-height: mod(-9, -4); /* -1 */

然而,rem() 函數(shù)取被除數(shù)的符號,而 mod() 函數(shù)則取除數(shù)的符號。

line-height: mod(9, 4); /* 1 */
line-height: mod(-9, 4); /* 1 */
line-height: mod(9, -4); /* -1 */
line-height: mod(-9, -4); /* -1 */

而最重要的是... 當(dāng)你的符號混合時,你必須用不同的方式來思考 mod() 函數(shù)。讓我們從一個例子開始:

line-height: rem(-9, 4); /* 1 */
line-height: mod(-9, 4); /* -3 */

line-height: rem(9, -4); /* -1 */
line-height: mod(9, -4); /* 3 */

當(dāng)然,以下是這段話的中文翻譯:

如果去掉符號,對于余數(shù),我們通常會考慮除數(shù)的多少倍可以放入被除數(shù)中。在 rem(9, 4) 的情況下,兩個 4 的倍數(shù)可以放入 9 中(因為 2 * 4 = 8),余數(shù)是 1(因為 9 - 8 = 1)。

對于mod() 函數(shù),在一個符號為負(fù)數(shù)而另一個符號為正數(shù)的情況下,它會尋找比被除數(shù)更大的倍數(shù)。所以對于 mod(9, -4),你要尋找剛剛超過被除數(shù)的倍數(shù)(4 * 3 = 12)。然后像往常一樣,我們再查看差值,所以答案是 12 - 9 = 3。

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2016-11-10 09:55:29

CSS

2015-02-27 09:42:40

2024-09-25 16:31:02

2010-08-24 16:41:59

cellpaddingcellspacing

2014-09-29 09:01:33

2022-12-28 08:16:30

CSS新規(guī)范樣式

2019-03-14 15:40:13

JavaScript CSS 工具

2021-06-28 18:57:15

CSS網(wǎng)頁爬蟲

2023-12-26 07:37:27

2020-10-27 12:06:17

MathJavaScript對象

2010-05-31 18:35:22

訪問SVN

2023-12-11 09:02:27

CSS前端CSS 新特性

2009-07-20 14:24:13

Math.pow()方Java ME

2010-09-14 09:24:40

CSS實例

2022-06-27 08:47:29

BEM修飾符元素

2021-08-30 15:23:03

prometheus局限性cortex

2021-05-07 09:31:10

三角函數(shù)指數(shù)函數(shù)取整函數(shù)

2016-09-21 21:22:11

Javascript前端數(shù)學(xué)

2014-04-03 10:16:44

JavaScriptCSS

2010-09-07 15:38:42

CSS絕對定位浮動
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號