@ font-face CSS rule 에 대한 MDC 페이지를 찾고 있지만 한 가지도 얻지 못했습니다. 굵게 , 기울임 꼴 및 굵게 + 기울임 꼴로 별도의 파일이 있습니다 . 세 가지 파일을 모두 하나의 @font-face
규칙으로 포함하려면 어떻게해야합니까? 예를 들어 내가 가진 경우 :
@font-face {
font-family: "DejaVu Sans";
src: url("./fonts/DejaVuSans.ttf") format("ttf");
}
strong {
font-family: "DejaVu Sans";
font-weight: bold;
}
브라우저는 굵게 사용될 글꼴을 알지 못하므로 (파일은 DejaVuSansBold.ttf이므로) 원하지 않는 것으로 기본 설정됩니다. 브라우저에 특정 글꼴에 대한 다양한 변형을 모두 알리려면 어떻게해야합니까?
답변
해결책은 다음과 같은 여러 @font-face
규칙 을 추가하는 것 같습니다 .
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans.ttf");
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-Bold.ttf");
font-weight: bold;
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-Oblique.ttf");
font-style: italic, oblique;
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-BoldOblique.ttf");
font-weight: bold;
font-style: italic, oblique;
}
그건 그렇고, 구글 크롬이 format("ttf")
인수 에 대해 알지 못하는 것처럼 보이 므로 건너 뛸 수 있습니다.
(이 답변은 CSS 2 사양 에 맞습니다 . CSS3 은 쉼표로 구분 된 목록이 아닌 하나의 글꼴 스타일 만 허용합니다.)
답변
CSS3부터 사양이 변경되어 단일을 허용합니다 font-style
. 쉼표로 구분 된 목록 (CSS2 당)은 마치 목록 인 것처럼 취급되며 normal
이전 (기본) 항목보다 우선합니다. 이렇게하면 이런 식으로 정의 된 글꼴이 기울임 꼴로 영구적으로 나타납니다.
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans.ttf");
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-Bold.ttf");
font-weight: bold;
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-Oblique.ttf");
font-style: italic;
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-BoldOblique.ttf");
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-Oblique.ttf");
font-style: oblique;
}
@font-face {
font-family: "DejaVu Sans";
src: url("fonts/DejaVuSans-BoldOblique.ttf");
font-weight: bold;
font-style: oblique;
}
대부분의 경우 기울임 꼴이면 충분할 것이며, 사용하고 고수 할 것을 정의하는 경우주의를 기울여야합니다.
답변
글꼴 변형이 올바르게 작동하려면 CSS에서 @ font-face의 순서를 바꿔야했습니다.
@font-face {
font-family: "DejaVuMono";
src: url("styles/DejaVuSansMono-BoldOblique.ttf");
font-weight: bold;
font-style: italic, oblique;
}
@font-face {
font-family: "DejaVuMono";
src: url("styles/DejaVuSansMono-Oblique.ttf");
font-style: italic, oblique;
}
@font-face {
font-family: "DejaVuMono";
src: url("styles/DejaVuSansMono-Bold.ttf");
font-weight: bold;
}
@font-face {
font-family: "DejaVuMono";
src: url("styles/DejaVuSansMono.ttf");
}
답변
요즘 2017-12-17. spec 에서 font-property-order의 필요성에 대한 설명을 찾지 못했습니다 . 그리고 크롬 테스트는 항상 순서에 관계없이 작동합니다.
@font-face {
font-family: 'Font Awesome 5 Free';
font-weight: 900;
src: url('#{$fa-font-path}/fa-solid-900.eot');
src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),
url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),
url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
}
@font-face {
font-family: 'Font Awesome 5 Free';
font-weight: 400;
src: url('#{$fa-font-path}/fa-regular-400.eot');
src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),
url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),
url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
}
답변
Google 글꼴을 사용하는 경우 다음을 제안합니다.
로컬 호스트 또는 서버에서 글꼴을 실행하려면 파일을 다운로드해야합니다.
다운로드 링크에서 ttf 패키지를 다운로드하는 대신 다음과 같이 제공하는 라이브 링크를 사용하십시오.
http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,300italic,400italic,600italic
브라우저에 URL을 붙여 넣으면 첫 번째 답변과 비슷한 글꼴로 선언해야합니다.
제공된 URL을 열고 파일을 다운로드하고 이름을 바꿉니다.
CSS의 woff 파일에 대한 상대 경로를 사용하여 업데이트 된 글꼴 선언을 작성하면 완료됩니다.
답변
/*
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# dejavu sans
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
/*default version*/
@font-face {
font-family: 'DejaVu Sans';
src: url('dejavu/DejaVuSans.ttf'); /* IE9 Compat Modes */
src:
local('DejaVu Sans'),
local('DejaVu-Sans'), /* Duplicated name with hyphen */
url('dejavu/DejaVuSans.ttf')
format('truetype');
}
/*bold version*/
@font-face {
font-family: 'DejaVu Sans';
src: url('dejavu/DejaVuSans-Bold.ttf');
src:
local('DejaVu Sans'),
local('DejaVu-Sans'),
url('dejavu/DejaVuSans-Bold.ttf')
format('truetype');
font-weight: bold;
}
/*italic version*/
@font-face {
font-family: 'DejaVu Sans';
src: url('dejavu/DejaVuSans-Oblique.ttf');
src:
local('DejaVu Sans'),
local('DejaVu-Sans'),
url('dejavu/DejaVuSans-Oblique.ttf')
format('truetype');
font-style: italic;
}
/*bold italic version*/
@font-face {
font-family: 'DejaVu Sans';
src: url('dejavu/DejaVuSans-BoldOblique.ttf');
src:
local('DejaVu Sans'),
local('DejaVu-Sans'),
url('dejavu/DejaVuSans-BoldOblique.ttf')
format('truetype');
font-weight: bold;
font-style: italic;
}
답변
대담한 변형에 대해서는 잊지 마십시오 font-weight
. 기울임 꼴 변형의 경우font-style