Различие CSS между 0 и 0em

Ну, очевидно, он не будет прокручиваться, если ваша страница по крайней мере (viewport.height - 800) высотой. Вы видите полосу прокрутки? В противном случае вы делаете что-то еще не так.

17
задан Jakub Arnold 28 July 2014 в 10:44
поделиться

9 ответов

Нет разницы, когда значение равно 0. Если бы было 1 и 1em, да, разница есть, но 0 равно 0, независимо от единицы измерения.

37
ответ дан 30 November 2019 в 10:01
поделиться

0 и 0em одинаковы, но любые значения, отличные от 0 для x и xem, не совпадают.

0
ответ дан 30 November 2019 в 10:01
поделиться

Похоже, ваш учитель идиот.

Но, возможно, внешность обманчива: вы должны спросить своего учителя, что они имели в виду.

Я должен спросить, почему не вы спрашиваете своего учителя, что они имели в виду, когда впервые сказали это? Ноль равен нулю, независимо от единиц измерения.

3
ответ дан 30 November 2019 в 10:01
поделиться

Файл больше с 0em.


Способ доказать своему профессору, что нет никакой разницы, - это установить что-то на 0, а что-то еще на 0em и проверить DOM с помощью Firebug или аналогичный инструмент. Если я правильно помню, вы увидите, что оба сейчас равны 0. Так что единственная разница в источнике. (Но прошло много времени с тех пор, как я проверял. Возможно, я подумываю о получении и настройке стилей из jQuery. Так что проверьте это, прежде чем поверить мне на слово.)

14
ответ дан 30 November 2019 в 10:01
поделиться

Интересно, пытается ли учитель выделить, не столько, что 0 и 0em - это не одно и то же значение, но, возможно, что единицей измерения по умолчанию в CSS может быть не em (я считаю, что спецификация требует, чтобы к ненулевым значениям были прикреплены единицы измерения, но часто предполагается, что пиксели).

В конкретном примере очевидно, что они равны.

5
ответ дан 30 November 2019 в 10:01
поделиться

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

3
ответ дан 30 November 2019 в 10:01
поделиться

Это все равно что сказать, что 0 бананов - это не то же самое, что 0 яблок. В каком-то смысле он прав, но ноль - это ноль, так что в любом случае вы проголодаетесь!

8
ответ дан 30 November 2019 в 10:01
поделиться

ваш учитель упрям ​​в том, что он или она не желает признать свою неправоту. «what: 0» устанавливает все возможные единицы, унаследованные или нет, в ноль. 0 определенно равно нулю.

1
ответ дан 30 November 2019 в 10:01
поделиться

Разумеется, существует разница между «0» с привязанной единицей измерения размера (em, px и т. Д.) Или без нее.

В то время как CSS в большинстве случаев интерпретирует «0» без размера единицы в качестве нулевой единицы по умолчанию для этого атрибута, это не всегда так (например, размер шрифта), и некоторые валидаторы будут возражать против свойств, которые требуют размеров единиц в своей спецификации, когда они сталкиваются с параметром без этой единицы

Разница в том, что «0» без обозначения единицы измерения может интерпретироваться как ошибка выражения в свойствах, где требуется размер единицы. Вы можете не заметить разницы, поскольку выражение будет просто расценено как «плохой синтаксис», и интерпретатор пропустит его; как это обычно бывает с любым плохим синтаксисом в CSS. Итак, если вы указали '0' в качестве размера единицы, а по умолчанию - «0em» или «0%» и т. д., тогда результат останется «0» для этого атрибута. Однако вы заметите это, если намереваетесь изменить предыдущее значение в каскаде. «0em» означает «изменить предыдущее значение на« 0em », но ноль может просто сказать« игнорировать это правило »и оставить предыдущее правило в силе. Это может быть совсем не то, что вы хотели с голым «0».

Это процесс на стороне клиента, и вы не можете контролировать, как конкретный браузер, сейчас или в будущем, может обрабатывать «0» и интерпретацию по умолчанию .

Таким образом, помимо того, что вы сообщаете тому, кто читает ваш код, что вы определенно намеревались иметь элемент размером «0» и какой тип модуля подходит, это может фактически повлиять на результат. Лучше всегда использовать обозначение единиц измерения с нулями. Если ты' Если вы действительно суетливы (как я) или разрабатываете системы и код vls (как я), вы также можете поставить начальный ноль (0.xx ...) в любые значения меньше 0. Это позволит более поздним читателям узнать что ваша фракция была преднамеренной, а не просто опечаткой.

Что касается тех, кто жалуется на «лишний набор текста» - я предлагаю вам пойти на курсы набора текста. Первое, что я делаю при собеседовании с дизайнерами или кодировщиками при приеме на работу - даю им тест на набор текста. Нет ничего лучше хорошей машинистки, чтобы сэкономить деньги и сделать меньше ошибок!

- Я предлагаю тебе пойти на курсы набора текста. Первое, что я делаю при собеседовании с дизайнерами или кодировщиками при приеме на работу - даю им тест на набор текста. Нет ничего лучше хорошей машинистки, чтобы сэкономить деньги и сделать меньше ошибок!

- Я предлагаю тебе пойти на курсы набора текста. Первое, что я делаю при собеседовании с дизайнерами или кодировщиками при приеме на работу - даю им тест на набор текста. Нет ничего лучше хорошей машинистки, чтобы сэкономить деньги и сделать меньше ошибок!

3
ответ дан 30 November 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: