Чистый раствор
Вы можете использовать visibility: hidden
, но с этим решением скрытый контент все равно будет занимать место . Если это не имеет значения для вас, вот как вы это сделаете:
span {
visibility: hidden;
}
span:before {
visibility: visible;
}
Hackish Альтернативное решение
Другим решением было бы установить font-size
диапазона в ноль * в действительно маленькое значение. Преимущество этого метода: скрытый контент не займет места. Недостаток: вы не сможете использовать относительные единицы измерения, такие как em или%, для размера шрифта содержимого :before
.
span:before {
content: "Lorem ";
font-size: 16px;
font-size: 1rem; /* Maintain relative font-size in browsers that support it */
letter-spacing: normal;
color: #000;
}
span {
font-size: 1px;
letter-spacing: -1px;
color: transparent;
}
Пример для jsfiddle.
Обновление (4 мая 2015 г.): В CSS3 теперь вы можете использовать модуль rem
(Root EM) для поддержания относительных размеров шрифта в элементе :before
. (поддержка браузера.)
* В предыдущей версии этого поста предлагалось установить нулевой размер шрифта. Однако это не работает должным образом в некоторых браузерах, потому что CSS не определяет, какое поведение ожидается , когда размер шрифта установлен равным нулю . Для кросс-браузерной совместимости используйте маленький размер шрифта, как указано выше.