Встроенный шрифт выглядит иначе, чем предполагалось

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

@font-face
{
    src:url("/assets/fonts/Helvetica.TTF");
    fontFamily: "Helvetica Neue Bold Condensed";
    fontStyle:   normal;
    fontWeight: normal;
}

.comboBox
{
    fontFamily: "Helvetica Neue Bold Condensed"; 
    fontSize:   11;
    color:     #666666;
}

.label
{
    fontFamily: "Helvetica Neue Bold Condensed";
    fontSize:   12;
    color:     #CCCCCC; 
}

Почему они выглядят по-разному (помимо размера и цвета)?


person asawilliams    schedule 17.12.2009    source источник


Ответы (2)


Вы встраиваете шрифт и указываете, что он должен использоваться всякий раз, когда fontWeight является нормальным. Вот что означает стиль fontWeight: normal.

Однако метки в полях со списком по умолчанию выделены полужирным шрифтом (это делается платформой Flex), поэтому они не будут использовать встроенный шрифт.

Чтобы исправить: либо создайте еще одну копию объявления @font-face и сделайте ее fontWeight: bold, либо укажите fontWeight: normal в правиле .comboBox.

person Wesley Petrowski    schedule 17.12.2009

Вам нужно создать «полное» семейство шрифтов. Для этого создайте по одному «@font-face» для каждого из ожидаемых начертаний семейства: обычный, жирный, курсив и полужирный курсив. Убедитесь, что каждое определение «@font-face» использует одно и то же имя в своем атрибуте «fontFamily». Документы ясны в этом, но многословны.

Г-н Петровски прав в том, что фреймворк Flex будет выбирать, какое начертание использовать, в зависимости от контекста, но здесь необходимо отметить, что обычно файл ttf/otf включает только одно начертание шрифта. Поэтому вам, вероятно, понадобятся разные ttf/otf, указанные в атрибуте src.

person William Power    schedule 13.01.2011