Подтвердить что ты не робот

Отзывчивый макет - PX, EM или%?

Я создаю отзывчивый макет страницы, и он отлично работает до сих пор, но у меня есть вопрос:

Должен ли я использовать em, px или%?

Например, я хочу использовать радиус границы для элемента. Должен ли я использовать этот код:

border-radius: 1.563em;

Или это:

border-radius: 25px;

Должен ли я использовать ems для подобных свойств или я должен придерживаться px?

4b9b3361

Ответ 1

Как правило, не используйте px для гибких макетов.

Если вы используете медиа-запрос px, тогда ваш макет может выглядеть как дерьмо, когда пользователь увеличивает масштаб. И, к сожалению, я знаю все хорошо, потому что я тоже сделал эту ошибку.

Что касается вашего примера с border-radius, вы можете обнаружить, что два варианта выглядят по-другому, когда увеличивается font-size - demo. Первый и третий используют px для радиуса границы, а второй и четвертый используют em.

Но будут исключения, и если что-то не кажется правильным при масштабировании (например, box-shadow, который выглядит преувеличенным), попробуйте также с px.

Также проверьте эту статью.

Ответ 2

Только для информации, если это помогает, можно использовать rem. Он решает проблему "каскадного размера" с em. Если вы установили

body { font-size :62.5 %; } /* Trick to have 1em =10px */

li {font-size:1.4em; }

ваш <li> будет 14px, но если у вас есть список в списке, второй уровень <li> будет в 20px, а на третьем уровне будет 27px и т.д. С rem (означает "root em" ), все <li> находятся в указанном вами размере.

Дополнительная информация: http://snook.ca/archives/html_and_css/font-size-with-rem

и http://www.pompage.net/traduction/dimensionner-ses-fontes-avec-rem (на французском)