Estou olhando a página MDC para a regra CSS @ font-face , mas não entendo nada. Tenho arquivos separados para negrito , itálico e negrito + itálico . Como posso incorporar todos os três arquivos em uma @font-face
regra? Por exemplo, se eu tiver:
@font-face {
font-family: "DejaVu Sans";
src: url("./fonts/DejaVuSans.ttf") format("ttf");
}
strong {
font-family: "DejaVu Sans";
font-weight: bold;
}
O navegador não saberá qual fonte será usada para negrito (porque esse arquivo é DejaVuSansBold.ttf), portanto, será padronizado para algo que provavelmente não quero. Como posso informar ao navegador todas as diferentes variantes que tenho para uma determinada fonte?
Respostas:
A solução parece ser adicionar várias
@font-face
regras, por exemplo:A propósito, parece que o Google Chrome não sabe sobre o
format("ttf")
argumento, então você pode pular isso.(Esta resposta estava correta para a especificação CSS 2. O CSS3 permite apenas um estilo de fonte em vez de uma lista separada por vírgula.)
fonte
font-style: italic, oblique;
para apenasfont-style: italic;
parecia consertar tudo.A partir do CSS3, a especificação mudou, permitindo apenas um único
font-style
. Uma lista separada por vírgula (por CSS2) será tratada como se fossenormal
e substituirá qualquer entrada anterior (padrão). Isso fará com que as fontes definidas dessa maneira apareçam em itálico permanentemente.Na maioria dos casos, o itálico provavelmente será suficiente e as regras oblíquas não serão necessárias se você tomar o cuidado de definir o que será usado e cumpri-lo.
fonte
I have separate files for bold, italic and bold + italic
- então existem três arquivos diferentes. Essa resposta corrige a resposta aceita, quefont-style: italic, oblique;
não é mais válida, mas também a resposta usada no mesmo arquivo para itálico e oblíquo. Ainda assim, vale ressaltar que o arquivo é compartilhado em dois casos.Para que a variação da fonte funcionasse corretamente, tive que inverter a ordem do @ font-face no CSS.
fonte
hoje em dia, 17/12/2017. Não encontrei nenhuma descrição sobre a necessidade de Font-property-order nas especificações . E eu testei no chrome sempre funciona independentemente da ordem.
fonte
Se você estiver usando fontes do Google, sugiro o seguinte.
Se você deseja que as fontes sejam executadas no seu host ou servidor local, é necessário fazer o download dos arquivos.
Em vez de baixar os pacotes ttf nos links de download, use o link ao vivo que eles fornecem, por exemplo:
Cole o URL no seu navegador e você deverá obter uma declaração de fonte semelhante à primeira resposta.
Abra os URLs fornecidos, faça o download e renomeie os arquivos.
Cole as declarações de face da fonte atualizadas com caminhos relativos aos arquivos woff no seu CSS e pronto.
fonte
fonte
Não se esqueça que para variante em negrito é
font-weight
; para a variante itálica, éfont-style
fonte
@font-face
, por isso estou tentando downvote esta resposta (mas eu não posso, eu não tenho reputação suficiente)