2013-05-11 2 views
-1

У меня есть span с font-size:0 для подавления пространства:Как установить размер шрифта относительно великого отца вместо родителя?

<span style="font-size:0"> 
    <span>a</span> 
    <span>b</span> 
</span> 

Внутренние пролеты наследуют размер шрифта родителя и исчезают тоже. Использование font-size:100% тоже не помогает, поскольку оно также относится к родительскому.

Как определить размер шрифта относительно великого отца?

+0

С чистым CSS вы можете' т; почему у вас установлен размер шрифта: 0? –

+0

@ExplosionPills см. Строку 1 – ceving

+1

_ «У меня есть диапазон с размером шрифта: 0 для подавления пробелов» _ - Я не думаю, что это хороший способ сделать это в любом случае - поскольку многие браузеры имеют минимальный размер шрифта в своих которые нельзя подрезать (и я не знаю, готовы ли они отказаться от этого правила для элементов, содержащих только пробелы или нет). – CBroe

ответ

3

Там нет способа изменить размер шрифта относительно предка, который выше, чем другой определен размер шрифта в чистом CSS, т. е. вы не можете. Есть несколько возможных путей их устранений, хотя:

  • Использование JavaScript для вычисления правильного размера шрифта
  • Вместо font-size: 0 на внешнем пролете, используйте float: left на внутренней пролете
  • Измените HTML, чтобы удалить пространство
  • Просто используйте набор размер шрифта для внутренних пролетов
+0

'float: left' на внутренней стороне, по-видимому, является альтернативой для' font-size: 0'. – ceving

-1

Вы можете дать размер шрифта в пикселях.

'http://jsfiddle.net/uqHgW/` 
+2

'px' для размера шрифта - это не путь. – ceving

1

Вы можете использовать rem ('корень' СЭМА) единица, чтобы установить span 's font-size относительно базового размера шрифта:

<span class="hideSpaces"> 
    <span>a</span> 
    <span>b</span> 
</span> 


body { font-size: 16px; } /* <-- base font-size */ 
.hideSpaces { font-size: 0; } 
.hideSpaces span { font-size: 1rem; } /* <-- sets font size equal to base font size */ 

http://snook.ca/archives/html_and_css/font-size-with-rem

+0

Совместимость IE9 +, как указано в статье, на которую вы ссылаетесь (и не Opera Mini в соответствии с caniuse) – FelipeAls

+0

@FelipeAls Если это проблема, OP может указать конкретные размеры шрифтов для более старых браузеров: '.hideSpaces span {font-size: 16px; font-size: 1rem; } ' –

+0

' rem' - это root em, а не grandparent em. –

Смежные вопросы