Я недавно занимался этим вопросом, а вместо того, чтобы установить родительский font-size:0
, а затем вернуть ребёнка к разумному значению, я получаю согласованные результаты, установив родительский контейнер letter-spacing:-.25em
, а потом обратно в letter-spacing:normal
.
В альтернативном потоке я заметил, что комментатор упоминает, что font-size:0
не всегда идеален, потому что люди могут контролировать минимальные размеры шрифтов в своих браузерах, полностью отрицая возможность установки размера шрифта на 0.
Использование ems работает независимо от того, задан ли размер шрифта 100%, 15pt или 36px.
NodeJS REPL оценивает код как выражение , обертывая код в круглых скобках, вызывая {"hello":1}
как ({"hello":1})
, который успешно анализируется как литерал объекта.
Обычно и в другом месте (в консоли Chrome / Firefox) фигурные скобки обрабатываются как разделители блока, например:
/*imagine if (true) */ {
"hello": 1 // <-- What's this syntax? It's meaningless.
}
{hello:1}
успешно разбираются, поскольку hello
в этом контексте имеет значение метки :
/*imagine if (true) */ {
hello: 1;
} // ^-- Automatic Semicolon Insertion
Первый пример - это не литерал объекта, это блок . Блоки содержат утверждения. Скрипт Строковый литерал , двоеточие , Числовой литерал не является допустимым оператором.
Второй пример - это объектный литерал .
Третий пример также является блоком, но вы заменили строковый литерал и двоеточие меткой (что разрешено, но бессмысленно, поскольку нет цикла).
Контекст важен для JavaScript.