Работа с относительными единицами

154
19 января 2020, 05:50

Всем привет! На днях приобрел книгу Css - для профи "Кит Грант". Книга вроде ничего, 2019г, много полезного и интересного материала, особенно для человека, который только пытается вливаться в эту профессию! Но у меня есть вопрос, прочитав первые 50 страниц, дошел до темы "Работа с относительными единицами", так вот, он советует отвыкать от px и переходить на em, все примеры в книге он приводит именно на этих единицах. Как быть? Читать книгу и делать все на px или же освоить единицы?

Answer 1

Освоить единицы и использовать по ситуации всё.

Навскидку пример совместной работы пикселей и em'ов:

  • Вам нужны два набора кнопок с разным размером шрифта.
  • В первом наборе вам нужно, чтобы сохранялись РАЗМЕРЫ кнопок.
  • Во втором - чтобы сохранялись ПРОПОРЦИИ кнопок.

Вот (для сравнения еще набор кнопок по умолчанию):

button { 
  vertical-align: middle; 
} 
 
.small { 
  font-size: 0.5em; 
} 
 
.medium { 
  font-size: 1em; 
} 
 
.big { 
  font-size: 1.5em; 
} 
 
.set1 button { 
  height: 50px; 
  line-height: 30px; 
  width: 100px; 
} 
 
.set2 button { 
  padding: 1em; 
}
Всё по умолчанию. Паддинги в пикселах, пропорции кнопок разные: 
<div class="set0"><button class="small">Кнопка</button> <button class="medium">Кнопка</button> <button class="big">Кнопка</button></div> 
<hr> Задана высота и ширина в пикселах. Кнопки одинаковых габаритов, текст разный: 
<div class="set1"><button class="small">Кнопка</button> <button class="medium">Кнопка</button> <button class="big">Кнопка</button></div> 
<hr> Заданы паддинги в em'ах. Кнопки имеют одинаковые пропорции: 
<div class="set2"><button class="small">Кнопка</button> <button class="medium">Кнопка</button> <button class="big">Кнопка</button></div>

READ ALSO
iframe не пропускает сайт - ошибка The reference to entity &ldquo;pin&rdquo; must end with the &#39;;&#39; delimiter

iframe не пропускает сайт - ошибка The reference to entity “pin” must end with the ';' delimiter

это zul файл zk framework на официальном сайте тестирую проходит у меня в CRM не пропускает никогда не сталкивался с такой проблемой

109
Element библиотека. Проблема с передачей данных в generateDate у el-transfer

Element библиотека. Проблема с передачей данных в generateDate у el-transfer

Формирование данных у блока el-transfer происходит нативно до выполнения всего остального кода в блоке generateDataМне необходимо сделать axios заспрос...

103
Перевод строки и линтеры

Перевод строки и линтеры

Я слышал, что в 2019 году не модно собирать javascript-проекты без линтера, но вот я такой мамонт, только начинаю осваивать

159
Странное поведения реакта при overflow hidden

Странное поведения реакта при overflow hidden

Люди добрые помогите, уже уйму времени потратил на решение этой проблемы, но не могу понять почему происходит такое поведениеЭта плашка и если...

120