CSS에서 글꼴 가중치 대 굵은 글꼴 모음을 설정하는 것이 더 옳습니까?


9

기본적으로 CSS에서 글꼴을 굵게 만드는 두 가지 방법이 있습니다 : font-family속성과 font-weight속성.

예를 들어 글꼴 Raleway 를 사용 하고 있으며 CSS를 통해 Light, Regular, Semibold 및 Bold 변형을로드 했다고 가정 해 보겠습니다 . h1{font-family: 'Raleway Bold'}또는로 설정하여 간단한 제목을 굵게 설정할 수 h1{font-weight: 700}있습니다.

이 중 어느 것이 더 정확합니까, 아니면 둘 다 동일합니까?


글꼴 모음에 모든 옵션이있을 때 CSS에서 "font-weight"를 쓰는 것이 올바른지 의심됩니다. 예 : Raleway 글꼴에는 조명에서 굵게까지 모든 옵션이 있습니다. 따라서 글꼴 문자를 잃을 수 없도록 패밀리의 모든 글꼴을 사용하는 것이 적합한 방법입니다.
pooja


@poojaa, 나는 당신의 질문을 자유롭게 편집하여 서식을 더 명확하게하고 실제 질문을 더 포 그라운드로 가져 왔습니다. 의미를 변경 한 것 같으면 언제든지 직접 편집 할 수 있습니다 .
PieBie

답변:


6

다음과 같이 Bold 글꼴 변형을로드했다고 가정 해 보겠습니다.

@font-face {
  font-family: 'Raleway Bold';
  font-style: normal;
  font-weight: 700;
  src: url(path/to/font/raleway-bold.woff2) format('woff2');
}

나는 당신의 스타일 스펙 font-family과 둘 다를 사용하는 것에 찬성한다고 주장한다 font-weight. 예를 들면 다음과 같습니다.

h1 {
  font-weight: 700;
  font-family: 'Raleway Bold', Helvetica, Arial, sans;
}

둘 다 기본적으로 동일한 작업을 수행합니다. 표제 1을 굵게 표시하십시오. 이것은 대담함이나 아무것도 두 배가되지 않으며 대담해야한다는 것을 반복합니다.

글꼴 파일이로드되지 않은 경우 (서버 과부하, 클라이언트 제한, 부두) 방문자는 여전히 굵은 글꼴 (이 경우 가짜 굵은 Helvetica)을보고 제목을 구분할 수 있습니다. 그리고 본문 텍스트는 font-family.

이 이미지에서 상단 세트는 Raleway 및 Raleway Italic이지만 적절한 Raleway Italic이로드되어 있습니다.

<link href='https://fonts.googleapis.com/css?family=Raleway:500,500italic' rel='stylesheet' type='text/css'>

바닥은 Raleway 만 로딩 중입니다. 결과적으로 하단 세트에는 Raleway 및 FAUX Raleway 기울임 꼴이 있습니다. 실제 이탤릭체와 가짜 이탤릭체 사이의 소문자 "a"와 "k"의 차이점에 유의하십시오. 잘 디자인 된 글꼴은 일반 글꼴, 굵은 체 및 기울임 꼴 사이에 차이가 있으므로로드하지 않으면 얻을 수 없습니다.

여기에 이미지 설명을 입력하십시오


하나의 패밀리 이름을 사용하고 가중치 만 설정하면 글꼴 파일이로드되지 않는 경우에도 올바른 가중치가 제공됩니다. 두 가지를 모두 사용해야하는 유일한 이유는 호환성 문제 때문입니다.
Cai

1
당신은 혼란스러워합니다. 마찬가지로 귀하의 Google 글꼴 예는 단지 Raleway 기울임 참조하지 않습니다 font-family: 'Raleway'(위의 굵은 예를 모순)하지만, 추가로,에 관계없이 온 가족이 이름 Raleway이없는 다른 글꼴 가족 이름으로 개별적으로 또는 각 변형을 전혀 베어링을 가짜 여부를 적용하는 . 심지어 자신의 예는 규정이 잘못된 방법으로 증명 font-family: 'Raleway Bold', Helvetica, Arial, sans;해야합니까 Helvetica Bold그리고 Arial Bold그 캐스케이드 글꼴 변형에 바로 잘못된 방법이기 때문에 개별적으로.
rgthree

1

두 가지 방법 모두 올바른 출력을 제공하지만보다 정확한 방법은 단일 글꼴 모음을 사용하여 다양한 가중치 및 스타일의 모든 변형을 그룹화하는 것입니다. 시스템 글꼴 ( 'Arial'에서 'sans-serif'까지)을 사용하는 것과 같은 방식이며, 실제로 Google 글꼴을 사용하여 Raleway를로드하는 경우 단일 글꼴 패밀리 경로를 사용하게됩니다.

이것이 올바른 방법 인 몇 가지 이유를 설명해 봅시다.

CSS 복잡성을 줄이고 궁극적으로 파일 크기를 줄입니다.

글꼴 모음이 하나만 있으면 글꼴 모음으로 전체 포함 요소를 정의 할 수 있으며 가중치 / 스타일이 다른 특정 요소 만 정의 할 수 있습니다. 예를 들어 다음을 수행하십시오.

html {
  font-family: Raleway;
}
.bold {
  font-weight: 700;
}
.italic {
  font-style: italic;
}
.footer {
  font-family: Arial;
}

<p>I'm raleway font, <span class="bold">and I'm raleway bold</span></p>
<div class="bold italic">I'm Raleway Bold Italic!</div>
<div class= footer>I'm <span class="bold">Arial Bold,</span> w/ the same class!</div>

이 CSS가 얼마나 좋고 간결한 지 주목하십시오. "RalewayBold"를 .bold의 글꼴 모음으로 지정하거나 .italic의 "RalewayItalic"으로 지정할 필요가 없습니다. 실제로 클래스가 작동하기 때문에 대담하고 기울임 꼴 변형을 지정할 필요조차 없습니다. 또한 .bold가 .footer 내부에 있으면 바닥 글 컨테이너에서 Arial을 상속하기 때문에 Raleway가 아닌 대담한 Arial이됩니다.

브라우저가하는 방식입니다.

위의 내용은 기본적으로 브라우저 내부 스타일 시트가 최소 스타일과 CSS의 고유 한 캐스케이드 특성을 사용하여 글꼴을 정의하는 방법입니다.

그것은 업계가하고 행한 방식입니다.

가장 큰 웹 속성, 응용 프로그램 및 게시자는 모두이 방법을 사용합니다. Google, Facebook, NYT, ESPN 등은 모두 이러한 방식으로 글꼴을 정의하고 사용합니다.

CSS뿐만 아니라 인터넷 이전의 사용자 인터페이스는 단일 글꼴 패밀리를 지정하고 다양한 무게 및 스타일 사양에 따라 변형을 선택합니다. Microsoft Word, KeyNote, Google Docs, 심지어 1990 년대 말 WordPerfect를로드하고 글꼴 드롭 다운을 엽니 다. 글꼴 모음 이름 "Arial"이 표시됩니다. "Arial"과 "Arial Bold", "Arial Italic"등이 아닙니다.

Google Fonts에서로드하십시오.

Google Fonts의 무료 웹 폰트 저장소에서 Raleway를로드하면 Raleway가 단일 패밀리 이름으로 정의되어 있습니다.

https://fonts.googleapis.com/css?family=Raleway:400,400italic,500,500italic,700,700italic

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url(https://...Raleway-Regular.woff2) format('woff2');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url(https://...Raleway-Bold.woff2) format('woff2');
}
@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 500;
  src: url(https://...Raleway-MediumItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'italic';
  font-style: normal;
  font-weight: 700;
  src: url(https://...Raleway-BoldItalic.woff2) format('woff2');
}

이 방법은 가짜 글꼴의 글꼴 스타일 간의 변형을 무시하지 않습니까?
Ryan

@Ryan 전혀 아닙니다. 사실, 폰트 패밀리의 이름 (하나 제대로으로 가족을 묶는 Raleway무게 / 스타일의 변형으로, 또는 잘못 개별 변형을 정의 Raleway Bold하고 Raleway Italic각각의 글꼴 가족 등) 가짜 변화를 적용 여부는 아무런 관계가 없습니다. 실제로, 동일한 이름으로 패밀리를 올바르게 묶으면 브라우저에서 가짜 스타일을 적용하기 위해 더 가까운 변형을 선택하는 데 도움 이되지만 각 변형의 이름을 따로 따로 지정하면 원하는 글꼴이로드되지 않은 경우 브라우저를 사용 가능한 글꼴의 어두운 곳에 유지하여 변형을 적용 할 수 있습니다.
rgthree

(1) Google 글꼴에서로드 : 웹 사이트의 경우 인터넷 연결이 보장되지 않고 글꼴을 로컬로로드 해야하는 html / css가 사용되는 다른 경우가 많이 있습니다. (2) CSS 복잡성을 줄입니다. 궁극적으로 파일 크기 : 수십 MB의 사이트 또는 앱에서 1kb를 면도하면 클라이언트가 앱이 얼마나 빨리로드되는지 놀라게됩니다. (3) 브라우저 / 산업이 수행하는 방식 : 브라우저 기본적으로 가짜로 설정되며 어쨌든 '산업'이 항상 정확하지는 않으며 모범 사례를 따르지 않습니다 (flexbox 만 살펴보십시오)
PieBie

브라우저는 기본적으로 가짜로 설정됩니다 . 당신은 당신이 무슨 말을하고 있는지 분명히 모릅니다. Arial 또는 Raleway인지 여부에 관계없이 font-family:Arial; font-weight:bold;다시 지정 하는 올바른 방법 인 브라우저를 일반 Arial 글꼴에 가짜 굵게 적용한다고 생각하십니까? 잘못되었습니다. 브라우저는 시스템이 정의한대로 ArialBold 글꼴을로드하고 있으며 사용 가능한 정확한 글꼴이없는 경우에만 글꼴 모음 이름을 기반으로 가장 일치하는 글꼴에 가짜 스타일을 적용하므로 글꼴 이 동일 해야합니다 ! "Arial에게는이 작업을 수행하지만 Raleway에는 적용되지 않습니다."라고 말할 수 없습니다.
rgthree

0

CSS에 프로그래밍 된 웹 글꼴 인 Raleway에 대해 질문하면 두 가지 방법으로 모두 똑같이 작동합니다. 이 경우 코드의 주요 변경없이 가장 쉽게 변경하고 제어 할 수있는 "올바른"행동 과정이므로 font-weight를 사용하십시오.

이제 글꼴을 직접 포함하면 문제가 발생하기 시작합니다. CSS에 대해 계획되지 않았으며 가중치가 숫자와 일치하지 않을 수 있습니다.

이로 인해 영어 이외의 서체에서 흔하게 포함되는 내장 서체의 매우 일반적인 버그는 CSS가 서체를 자동으로 "굵게"또는 "밝게"하여 결과가 매우 나쁘다는 것입니다.

따라서 Google 글꼴의 글꼴과 같은 웹 글꼴을 사용하는 경우 계속해서 글꼴 가중치의 숫자를 사용하는 것이 좋습니다. 그러나 글꼴을 직접 포함 할 때는 안전한면을 유지하고 모든 단일 가중치에 대해 글꼴 모음을 별도로 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.