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

Каков контекст em?

В этом примере:

CSS

h1 { font-size: 2em; }
.smaller { font-size: 0.5em; }

HTML

<h1>Hi, I am a <span class="smaller">toad</span></h1>

Будет ли слово "жаба" быть 0,5 раза 16 пикселей (стандартный размер шрифта браузера) или будет 0,5 раза 2em (размер шрифта h1)?

4b9b3361

Ответ 1

Он равен вычисляемому значению свойства font-size элемента, на котором он используется. Наследование проходит по дереву документа.

Чтобы ответить на ваш вопрос, это будет в 0,5 раза больше, чем 2em, что, в свою очередь, будет в 2 раза больше, чем вычисленный размер шрифта h1. уф.

Также важно отметить, что если вы используете em для других свойств CSS, например, width или height, результат будет вычисляться из вычисленного font-size любого элемента, к которому вы применяете width или height to и т.д.

В следующей статье описывается использование и контекст элемента em довольно хорошо, на мой взгляд, наряду с некоторыми другими материалами и ресурсами чтения... rem единицы могут также вас заинтересовать.

Вы также можете просмотреть эту скрипту, чтобы увидеть, как она действует немного яснее:

http://jsfiddle.net/HpJjt/3/

Ответ 2

em unit обозначает размер шрифта элемента, за исключением случаев, когда он используется в значении свойства font-size, где он обозначает размер шрифта родительского элемента. В этом смысле в представленном случае контекст является родительским элементом.

В представленном случае размер шрифта слова "жаба", таким образом, равен размеру шрифта родительского элемента h1. Никакое конкретное значение для него не может быть выведено из него по данным.

Когда размер шрифта вычисляется, размер шрифта родительского элемента h1 был вычислен, когда эта конструкция будет рассмотрена; позволяет называть его s. Сначала вычисляется размер шрифта h1, умножая s (размер шрифта родителя) на 2. Затем вычисляется размер шрифта элемента span, умножая его размер шрифта родителей на 0.5, давая s. Теоретически ошибки округления могут приводить к минимальному отклонению в таких процессах, но умножение на 2 и 0,5 можно считать точным в компьютерах.

Ответ 3

Это будет .5 раз 2em элемента h1 в контексте.

Чтобы заставить его относиться к 16px, вам нужно сначала установить родительский элемент h1 в размер шрифта 16px.

.wrapper {размер шрифта: 16px;} h1 {font-size: 2em; } .smaller {font-size: 0.5em; }

<div class="wrapper"><h1>Hi, I am a <span class="smaller">toad</span></h1></div>

SO в этом случае

  • оболочка имеет размер шрифта 16px
  • h1 имеет размер шрифта 2em из 16px
  • span.smaller имеет размер шрифта 1em (из .wrapper, унаследованного от h1 (.5em из 2em)) 16px

Обратите внимание, что em является относительной мерой из контекста, который номинально основан на высоте символов M в текущем шрифте. Для всех целей h1 имеет размер 32px, а span.smaller имеет размер 16px.

Ответ 4

Это зависит от размера пикселя родительского элемента. Если размер пикселя родительского элемента равен 16px

.5em будет равно половине вашего базового пикселя, поэтому он будет 8px и 2em для h1 будет равен 32px.

Все зависит от того, как вы настроили размер пикселя родительского элемента в своем CSS.

http://pxtoem.com/