CSS: размер шрифта: наследоваться * 70%?

Такое поведение имеет место, поскольку foo является одинаковой переменной в обоих классах.

Это аналог глобальной переменной в модуле и возможность видеть, что две разные функции в этом модуле могут видеть и изменять эту глобальную переменную.

Возможное исправление:

class Parent(object):
    foo = 'bar'

class Child(Parent):
    foo = Parent.foo

Parent.foo = 'zoo'
print(Child.foo)

Вывод:

bar
6
задан Parand 17 November 2008 в 08:09
поделиться

4 ответа

ЭМС действительно работает как проценты в этом, основной размер шрифта всегда 1em, и.7em составил бы 70% из того (таким же образом 1.2em, будет эквивалентно из 120% основного размера шрифта). Чтобы это работало правильно, хотя необходимо определить основной размер шрифта на теле документа. Посредством экспериментирования я нашел тот размер шрифта: 77%; дает Вам хороший основной размер во всех браузерах (который является им, делает 1em рендеринг в "нормальном" и читаемом размере). Можно хотеть попробовать другие значения между 75% и 80% в зависимости от того, какое семейство шрифтов Вы хотите использовать. Также примите во внимание, что относительные размеры шрифта наследованы накапливаемо - например:

<style>
small { font-size: .8em; }
span.tiny { font-size: .8em } 
</style>

<small>This text is 80% of base size where as 
    <span class="tiny">this text is 80% of 80% (or 64%) of base size</span>
</small> 

Это работает в Вашу пользу, поскольку необходимо было бы только дать классу кнопки размер шрифта.7em для достижения того, что Вы хотите (кнопки затем всегда имели бы размер шрифта, который составляет 70% его родительского объекта). Счастливое кодирование!

Редактирование 2014 года:

Стоит указать, что поддержка браузера для Корня, единица EM теперь столь хороша*, что, если Вы уже не используете его, это стоит изучить. Корень EM (rem) связывается с корнем (документ) размер шрифта, и в отличие от "нормального" EM, это незатронуто вложением - это всегда, касается корневого размера шрифта. В то время как emвсе еще очень полезны для большей части текстовой калибровки, точно потому что она действительно уважает вложение, rem является большим для вещей как поля и дополнение, которое Вы не можете хотеть изменять размер с вложением (это - частая причина для неправильно выровненных левых полей), но который Вы действительно хотите изменить размер наряду с корнем html размер шрифта (обычно использующий мультимедийные запросы).

Можно читать больше об ЭМСЕ по сравнению с R.E.M на Лачуге Дизайна.

*) IE8 является единственным общим браузером (~5%), который не поддерживает его - если необходимо поддерживать IE8, просто включать эквивалентный размер в пиксели перед rem объявление.

12
ответ дан 8 December 2019 в 04:32
поделиться

В CSS при предоставлении относительной единицы это по умолчанию относительно размера, которому Вы наследовались. Это означает, Вы могли просто определить размер шрифта кнопки как "70%".

Существует также две других относительных единицы, удобные для размеров шрифта: их и напр. 1 их ширина буквы 'M', 1 исключая высотой буквы 'x' - очевидно, также наследованный.

Вы не должны использовать пкс в качестве размера шрифта, в качестве в Вашем примере. пкс не повинуется DPI экрана. Например, на моем экране, и 10 пкс и 26 пкс были бы маленькими. Необходимо использовать 'pt' или даже запуститься с 'них'.

9
ответ дан 8 December 2019 в 04:32
поделиться

Попытка:

font-size: 0.7em;

Вот еще некоторая информация: Как Измерить текст в CSS в Списке Независимо

3
ответ дан 8 December 2019 в 04:32
поделиться
<input style="font-size: 70%" class="button" type="submit" value="Go">

?

1
ответ дан 8 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

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