2017-02-01 8 views
1

Извинения за столь простой вопрос, но прошло много лет с тех пор, как мне действительно пришлось играть в CSS, и это ускользает от меня после целого дня тестирования. Спасибо за любую помощь.Шрифтовое свойство шрифта не работает, но свойства «ласточки» делают. Зачем?

Вопрос сокращенный vs longhand объявления CSS относительно характеристик шрифта наследование. После долгих испытаний я не смог заставить Roboto (100, 300) действительно работать. Один вес шрифта всегда перегружает другой независимо от того, были ли вложенные div или нет. Когда написано в стенограмме, Open Sans также потерпел неудачу, но работал отлично, используя longhand для индивидуального и вложенного div. Что происходит? (Сочетание шрифтов и шрифтов типа: «font: 32px san-serif;», похоже, также соблюдается и).

Этого CSS форматирование работал для индивидуальных и вложенных див, с единственным изменением является Формального/обыкновенного письмо шрифта, весом и цвета.

.div-1 { 
    font: 32px 'Open Sans', sans-serif; 
    color: #333; 
    font-weight: 300; 
    width: 800px; 
    padding: 10px; 
    margin: 10px; 
    border: 1px solid #333;serif 
} 

Это Shorthand CSS форматирование не удалось с либо или как вес или цвет включены в декларации шрифта:

.div-1 { 
    font: 32px #333 300 'Open Sans', sans-serif; 
    width: 800px; 
    padding: 10px; 
    margin: 10px; 
    border: 1px solid #333;serif 
} 

HTML код:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 

<title></title> 

<link href='https://fonts.googleapis.com/css?family=Open+Sans|Roboto' rel='stylesheet'> 
<link rel='stylesheet' type='text/css' href="../test.css"> 

</head> 
<body> 

<div class="div-1">This is Div-1 text</div> 
<div class="div-2">This is Div-2 text</div> 
<div class="div-3">This is Div-3 text</div> 

<div class="div-3">This is Div-3 text 
<div class="div-1">This is Div-1 text</div> 
<div class="div-2">This is Div-2 text</div> 
</div> 

</body> 
</html> 
+0

Спасибо всем за удивительно быстрый ответ - спасли мою бекон. Кажется, я допустил две ошибки в моем кодировании. Ответ от buidingsramen ниже правильный и получил меня на полпути. Другая проблема, похоже, в том, что я ДОЛЖЕН просить конкретные шрифты в запросах шрифтов Google. Я попросил Робото, предполагая, что я получу полную семью весов - не сработал. Включая конкретные варианты веса в HTML (пропустил запятую и не поймал ее, что не помогло делу!) Выполнило эту работу с дополнительной помощью по удалению цвета шрифта и сначала поместив вес. – Cardguy

ответ

3

Здесь есть две отдельные проблемы:

  • Цвет не является частью стенограммы font.
  • Шрифт-вес должен быть до размера шрифта.

Должен работать, если вы исправите это.

0

Вы не используете правильный синтаксис для сокращения font. См. mdn documentation для примеров правильно отформатированных сокращенных правил.

.div-1 { 
 
    font: bolder 32px 'Open Sans', sans-serif; 
 
    color: #333; 
 
    width: 800px; 
 
    padding: 10px; 
 
    margin: 10px; 
 
    border: 1px solid #333; 
 
}
<div class="div-1">This is Div-1 text</div> 
 
<div class="div-2">This is Div-2 text</div> 
 
<div class="div-3">This is Div-3 text</div> 
 

 
<div class="div-3">This is Div-3 text</div> 
 
<div class="div-1">This is Div-1 text</div> 
 
<div class="div-2">This is Div-2 text</div>

0

Это приемлемые свойства font сокращенном:

(Обратите внимание, что color не в списке.)

  • font-style
  • font-variant
  • font-weight
  • font-size
  • line-height
  • font-family

Вот перми ssible порядок свойств:

Первый (в любом порядке):

  • font-style и/или font-variant и/или font-weight или ничего

Второе:

  • font-size

Третье:

  • line-height или ничего

Четвертое:

  • font-family

Пятое:

  • другие менее популярные свойства (ссылка ниже)

https://www.w3.org/TR/CSS22/fonts.html#font-shorthand