Практики использования em в CSS

Давайте посмотрим на полный код HTML страницы:

<html> <head> <title></title> </head> <body> <main> <div> <p> text </p> </div> </main> </body> <html>

По умолчанию все теги страницы имеют некоторый размер шрифта. На самом деле дело в том, что тег html по умолчанию имеет некоторый размер шрифта:

html { font-size: 16px; /* значение по умолчанию */ }

Поэтому мы можем указывать тегам страницы размеры в em. При этом они будут рассчитывать свои размеры относительно непосредственных родителей.

Давайте, например, укажем размер шрифта тегу main:

main { font-size: 1.5em; /* соответствует 24px */ }

А теперь укажем размер шрифта тегу div:

div { font-size: 2em; /* соответствует 48px */ }

Практические задачи

Пусть у нас есть HTML код, для которого мы будем решать задачи:

<main> <h1>header</h1> <div> <p> text </p> <p> text </p> </div> <div> <p> text </p> <p> text </p> </div> </main>

Во всех задачах ниже перепишите в em все единицы, заданные в пикселях:

main { margin: 16px auto; } h1 { font-size: 32px; } p { font-size: 32px; }
main { margin: 32px auto; } h1 { font-size: 32px; } div { font-size: 16px; margin-bottom: 32px; } p { font-size: 20px; }