CSS mod() — залишок від ділення
Опис
автор: NagarD
Загальний опис
автор: NagarD
- Порада
-
Функція
автор: NagarDmod()може бути особливо корисною при роботі зі списками або генеруванні анімацій, де вам потрібно змінювати стилі на основі позицій елементів. - Нотатка
-
Для mod(): знак другого параметра функції визначає знак залишку від ділення, тобто якщо цей параметр буде від'ємним, то і результат виконання функції буде від'ємним. Приклад:
``` rotate: mod(-70deg, 20deg); /* 10deg */ ```Для rem(): знак першого параметра функції визначає знак залишку від ділення, тобто якщо цей параметр буде від'ємним, то і результат виконання функції буде від'ємним. Приклад:
автор: NagarD``` rotate: rem(-90deg, 20deg); /* -10deg */ ```
Синтаксис
mod(<number1>, <number2>);
Функція mod може отримувати 2 значень:
-
<number1> -
Числове значення, перше число для обчислення залишку від ділення.
автор: NagarD -
<number2> -
Числове значення, друге число для обчислення залишку від ділення.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 125 | 118 | 15.4 | 111 | 125 | — |
| Переглядач | ||||
|---|---|---|---|---|
| 125 | 125 | 118 | 15.4 |
Приклади
+ запропонувати свій приклад у пісочниці
Знак результату видно очима: обидві смужки зсунуті на залишок від ділення -70px на 50px, але в mod() він додатний і жене смужку вправо, а в rem() — від'ємний і тягне вліво.
HTML
<div id="description">
<h2>Знак результату: mod() проти rem()</h2>
<p>Однакове ділення, різний знак залишку. Нижня смужка без зсуву — для порівняння.</p>
</div>
<div id="result">
<div class="field">
<div class="bar m"></div>
<p>margin-left: mod(-70px, 50px) → 30px, зсув вправо</p>
<div class="bar r"></div>
<p>margin-left: rem(-70px, 50px) → -20px, зсув уліво</p>
<div class="bar z"></div>
<p>margin-left: 0 — вихідне положення</p>
</div>
</div>
CSS
#description {
background: #f2f2f2;
padding: 20px;
font-family: Arial, sans-serif;
}
#result {
padding: 24px;
font-family: Arial, sans-serif;
}
.field {
border: 2px dashed #999;
padding: 16px 16px 16px 70px;
}
.bar {
width: 170px;
height: 26px;
background: #ff6347;
border-radius: 4px;
}
.m { margin-left: mod(-70px, 50px); }
.r { margin-left: rem(-70px, 50px); }
.z { margin-left: 0; }
#result p {
margin: 6px 0 16px;
font-size: 13px;
color: #555;
}
Коментарі
Коментарів ще немає — будьте першим!