여러 글꼴 두께, 하나의 @ font-face 쿼리


118

Klavika 글꼴을 가져와야하는데 여러 모양과 크기로 받았습니다.

Klavika-Bold-Italic.otf
Klavika-Bold.otf
Klavika-Light-Italic.otf
Klavika-Light.otf
Klavika-Medium-Italic.otf
Klavika-Medium.otf
Klavika-Regular-Italic.otf
Klavika-Regular.otf

이제 하나의 @font-face-query 로 CSS로 가져올 수 있는지 알고 싶습니다 weight. 쿼리 복사 / 붙여 넣기를 8 번 피하고 싶습니다.

그래서 다음과 같습니다.

@font-face {
  font-family: 'Klavika';
  src: url(../fonts/Klavika-Regular.otf), weight:normal;
  src: url(../fonts/Klavika-Bold.otf), weight:bold;
}

4
1 글꼴이 아니고 ... 여러 글꼴 ... 그래서 안타깝게도 그냥 웃고 참 아야 할 것 같아요.
Paulie_D 2015

네, 죄송합니다. 같은 패밀리 내의 다른 글꼴입니다.
Rvervuurt

여러 webfont-파일 === 다른 무게
에릭

2
이 기사의 힘 도움말 : 456bereastreet.com/archive/201012/...은 실제로 여기에 SO 응답이있다 : stackoverflow.com/questions/10045859/... 이 사용하는 기사, 당신은 할 수 없습니다 원하는대로 당신이 원하는에 대한 대안.
97ldave

답변:


270

실제로 당신이 요구하는 것을 허용하는 @ font-face의 특별한 맛이 있습니다.

다음은 서로 다른 글꼴과 연관된 서로 다른 스타일 및 가중치를 가진 동일한 글꼴 계열 이름을 사용하는 예입니다.

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-Regular-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-Italic-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-Bold-webfont.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-BoldItalic-webfont.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}

이제 font-family를 지정하거나 및을 재정의하지 않고도 원하는 요소를 지정 font-weight:bold하거나 지정할 수 있습니다 .font-style:italicfont-weightfont-style

body { font-family:"DroidSerif", Georgia, serif; }

h1 { font-weight:bold; }

em { font-style:italic; }

strong em {
  font-weight:bold;
  font-style:italic;
}

이 기능과 표준 사용에 대한 전체 개요는 이 문서를 참조하십시오.


예제 펜


1
위의 내 의견에서 제안했듯이 ;-)
97ldave

4
제 경우에는 가장 낮은 @ font-face 만 사용합니다. 그것은 font-weight : bold; 글꼴 스타일 : 기울임 꼴; 내가 font-family를 언급 할 때마다 : 'DroidSerif';
Simon Arnold

1
이 방법이 실제로 작동한다는 것을 증명하는 테스트가 있습니까? 브라우저가 올바른 글꼴 파일을 읽지 않고 무게 나 스타일을 속이는 것이 아니라는 것을 어떻게 증명할 수 있습니까?
rojobuffalo

1
@rojobuffalo 여기 에 예제 펜이 있으며 예상대로 작동합니다.
maioman

2
@rojobuffalo는 매우 유효한 지적입니다. 펜은 이것이 예상대로 작동 할 것이라는 주장의 유효성을 확인하기 위해 아무것도하지 않습니다. 특히, CSS 예제에서 굵은 글꼴-페이스 선언을 제거하고 다시 실행했습니다. 외관은 동일했습니다. 캐시에서 가져 왔나요? 브라우저가 단순히 일반 글꼴의 표시된 무게를 조작 했습니까?

10
@font-face {
  font-family: 'Klavika';
  src: url(../fonts/Klavika-Regular.otf) format('truetype') font-weight-normal,
       url(../fonts/Klavika-Bold.otf) format('truetype') font-weight-bold,
       url(../fonts/Klavika-Bold-Italic.otf) format('truetype') font-italic font-weight-bold;
}

17
이것이 문제를 해결하는 이유에 대해 약간의 설명을 작성하십시오. 문장처럼 간단 할 수 있습니다.
ggderas

3
이전 솔루션과 동일한 솔루션입니다. 그냥 짧은 표기 :
Mirka Nimsová

2
이 표기법에 대해 어디서 읽을 수 있습니까? MDN에서 보지 마세요
avalanche1

작동하지 않는 것 같고 리소스를 찾을 수 없지만 사실이있는 것 같습니다.
dakab
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.