😎 » CSS3 » Переменные в CSS
847 0  

Переменные в CSS

Переменные CSS - это объекты, определенные свойствами CSS, которые содержат конкретные значения, которые можно повторно использовать в документе.


Переменные CSS подчиняются каскаду и наследуют свое значение от своего родителя.

 

lol Переменные CSS подчиняются каскаду и наследуют свое значение от своего родителя.


what Развитие переменных тормозит гребаный Эксплорер - но в 2020 году он скончался fellow fellow !!!

Теперь руки у нас развязаны - вперед....


Что можно передать перменными?

:root {
  --main-color: #76FF03;
  --primary-shadow: 5px 7px #d3d3d3;
  --primary-font: Georgia;
  --secondary-font: sans-serif;
  --card-height: 43%;
  --min-card-width: 100px;
  --card-margin: 10px 0;
  --general-padding: 10px;
  --transition: .6s ease-in-out;
  --primary-gradient: linear-gradient(150deg, #235ad1, #23d1a8);
}

Использование переменных:

По сути мы один раз задаем значение цвета для переменной "--alert-color", а потом везде где нужен наш цвет вставляем название переменной.

<style>
<!-- Определяем переменную -->
:root {
 --alert-color: #ff6f69;
}

<!-- Вставляем переменную -->
#title {
  color: var(--alert-color);
  border: 1px solid var(--alert-color);
}
</style>

*(:root) - это главный элемент doom дерева для переменных!

- Подстраховка если переменная не определилась!

.two {
  color: var(--my-var, red); /* red если --my-var не определена */
}

.three {
  background-color: var(--my-var, var(--my-background, pink)); /* pink если --my-var и --my-background не определены */
}

.three {
  background-color: var(--my-var, --my-background, pink); /* "--my-background, pink" будет воспринят как значение в случае, если --my-var не определена */
}


Калькулятор в Переменных:

height: calc(var(--card-height) - 100px);


Также переменные можно использовать и в грид шаблонах.

.wrapper {
  --item-width: 300px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));
  grid-gap: 1rem;
}


Динамика в переменных:

width: calc(var(--size, 1) * 30px);
height: calc(var(--size, 1) * 30px);

<img src="user.jpg" alt="" class="c-avatar" style="--size: 1" />
<img src="user.jpg" alt="" class="c-avatar" style="--size: 2" />
<img src="user.jpg" alt="" class="c-avatar" style="--size: 3" />
<img src="user.jpg" alt="" class="c-avatar" style="--size: 4" />

- каждая последующая картинка будет в 2,3,4 раза больше первой!

Использование переменных в JS:

// get variable from inline style
element.style.getPropertyValue("--my-var");

// get variable from wherever
getComputedStyle(element).getPropertyValue("--my-var");

// set variable on inline style
element.style.setProperty("--my-var", jsVar + 4);

вапап

 
 Chrome  Edge  Firefox  Internet  Opera  Safari
49 15 31 NO 36 Yes
 
 Android  Chrome  Edge  Firefox  Opera  Safari  Samsung
49 49 15 1 36 Yes 5.0

Залишити свій коментар:

Досвід у веброзробці:

2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2009
2023