여전히 관련이 있습니까?


16

스레드를 읽는 것에 대한 나의 이해 는 ems의 요점은 브라우저가 설정할 수있는 기본 글꼴 크기로 웹 페이지의 모든 측정을 정의 한다는 것입니다.

예를 들어 Chrome에서는로 이동하여이 작업을 수행 할 수 있습니다 settings -> show advanced settings -> web content -> font size: very large. 멀리 떨어진 대형 고해상도 모니터를 사용하는 경우이 작업을 수행 할 수 있습니다.

크기 조정에서 ems와 px의 차이점을 보여주는 플런저 를 만들었습니다 .

#div1 {
  width: 320px
}

#div2 {

  width: 20em;
}

브라우저에서 글꼴 크기를 중간으로 설정하면이 div는 동일한 크기, 기본 글꼴 크기는 16px이므로 20em = 320px입니다.

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

그러나 브라우저 글꼴 크기를 매우 크게 변경하면 ems로 측정 된 div의 크기가 증가한 것을 알 수 있습니다.

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

그러나 body 태그에서 글꼴 크기를 정의하면이 효과는 무시됩니다.

body {
  font-size: 16px;
}

이제 CSS가 브라우저에서 설정 한 글꼴 크기를 재정의하고 있기 때문입니다.

페이지를 확대하면 글꼴 만 확대되는 구형 브라우저 시대에는 ems가 중요했을 것입니다. 그러나 요즘 최신 브라우저는 픽셀과 글꼴을 모두 확장하여 확대 문제를 해결합니다.

웹을 둘러 보면 많은 웹 사이트 본문 태그에 글꼴 크기를 설정합니다.

예를 들어 스택 오버플로는 body 태그에서 글꼴 크기를 13px로 설정합니다. 브라우저에서 글꼴 크기를 설정해도 스택 오버플로의 레이아웃에는 영향을 미치지 않습니다.

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

Google 검색 결과는이 작업을 수행하지 않습니다.

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

(이 두 스크린 샷은 크롬 글꼴 크기를 매우 크게 설정하고 100 % 확대 / 축소로 찍은)

따라서 body 태그에서 글꼴 크기를 설정하는 것은 사용자 자신의 접근성 설정을 방해하기 때문에 나쁜 생각이라고 주장 할 수 있습니다. 그러나 사용자가 확대하여 크기를 늘리면 (모든 픽셀도 비례 적으로 증가 함) 실제 문제는 아닙니다.


사용자는 다음을 body { font-size: XYZ; }사용하여 사용자 스타일 시트를 사용하여 재정의 할 수 있습니다.body { font-size: ZYX !important; }
Peter Taylor

답변:


25

그러나 body 태그에서 글꼴 크기를 정의하면이 효과는 무시됩니다.

body {
  font-size: 16px;
}

이제 CSS가 브라우저에서 설정 한 글꼴 크기를 재정의하고 있기 때문입니다.

당신은 접근성을 잊고 있습니다 .

참조 C14 : 폰트 크기로 em 단위를 사용 에서 웹 콘텐츠 접근성 지침 (WCAG 2.0).

브라우저의 글꼴 크기 옵션을 매우 크게로 설정하십시오 . 이제 W3C 와 같은 웹 사이트로 이동하십시오 . 텍스트는 어떻게 생겼습니까?

이것이이 옵션에 관한 것입니다. StackExchange의 개발자와 다른 웹 사이트의 많은 결정 그들의 선택은 사용자의 선택이 시각 장애인을 할 수있는 것이 더 중요하다. 이 선택이 옳고 그른지 여부는이 질문의 범위를 벗어 났으며, 그 대답은 똑바로 필요하지 않습니다.

그러나 귀하는 (일부 웹 사이트의 법률 포함) 다른 결정을 내리고 사용자가 글꼴 크기를 선택할 수 있도록 강요받을 수 있습니다. 이미지 크기와 페이지의 다른 영역을 픽셀 단위로 지정하면 브라우저의 글꼴 크기 옵션이 레이아웃에 재미있는 영향을 미치거나 다음 em과 같은 요소에 사용할 수 있습니다. 잘.

또한 본문 수준에서 글꼴 크기를 픽셀 단위로 지정 하지 않으면em 최소한 모든 글꼴 크기를 사용하십시오. 예를 들어, Google은 글꼴 크기를 일관되지 않게 지정했으며 특히 일반 텍스트보다 작은 제목으로 검색 페이지가 이상하게 보입니다. 반면 위키 백과 em는 글꼴 크기가 지정 될 때마다 사용하여 훌륭한 작업을 수행했습니다 . 다음은 글꼴 크기 옵션이 매우 크게 설정된 Chromium에서 렌더링 된 두 사이트의 스크린 샷입니다 .

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

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

따라서 body 태그에서 글꼴 크기를 설정하는 것은 사용자 자신의 접근성 설정을 방해하기 때문에 나쁜 생각이라고 주장 할 수 있습니다. 그러나 사용자가 확대하여 크기를 늘리면 (모든 픽셀도 비례 적으로 증가 함) 실제 문제는 아닙니다.

이것은 두 가지 이유로 실제 문제입니다.

첫째, 대부분의 브라우저는 사이트별로 확대 / 축소 비율을 저장합니다. 시각 장애가있는 경우 방문하는 모든 사이트를 반복해서 확대 / 축소해야합니다. 짜증나 웹 디자이너와 개발자의 접근성에 대한 현재의 무관심을 감안할 때 시각 장애인은 어쨌든 그렇게해야하지만 이것이 반드시 그렇게해야한다는 것을 의미하지는 않습니다.

둘째, 너무 많은 웹 사이트는 확대 / 축소시 시각적으로 제대로 작동하지 않습니다. 반응 형 웹 사이트는 잘 작동하지만 반응이없는 웹 사이트는 가로 스크롤 또는 일종의 "화면이 너무 작습니다"동작을 나타냅니다.

개발자의 확대 / 축소와 텍스트 배율 사이에는 근본적인 차이가 있습니다. em"사용자의 텍스트 크기 환경 설정에 맞게 조정"을 의미 하지만 확대 / 축소는 텍스트뿐만 아니라 전체 페이지를 확대 또는 축소하는 것입니다.

링크가 한 줄로 배치되어있는 페이지 상단의 사이트 메뉴를 예로 들어 보겠습니다. 확대 / 축소를 사용하면 메뉴 높이가 다른 요소에 비례하여 변경됩니다. 텍스트 크기 옵션을 사용하면 동작을 결정할 수 있습니다. 시각 장애가있는 사람은 50px모든 경우에 높이 메뉴 를 볼 수 있다고 가정 할 수 있습니다 . 아무도 흰색 배경에 검은 색 메뉴를 놓칠 수 없습니다. 또는 높이가 텍스트에 비례하여 유지되도록 결정할 수 있습니다 (예 :) 1.5em.


13

ems의 요점은 기본 글꼴 크기로 웹 페이지의 모든 측정 값을 정의하는 것입니다.

이것은 내 용어에 대한 오해 일지 모르지만 명확히하기 위해 : em"현재 요소의"글꼴 크기와 관련이 있습니다. rem루트 글꼴 크기를 기준으로합니다.

페이지를 확대하면 글꼴 만 확대되는 구형 브라우저 시대에는 ems가 중요했을 것입니다.

그게 내가 사용하는 이유가 아닙니다 em. 사실, 상대적 측정 단위를 사용할 때 줌 경험이 내 마음에 마지막입니다. 내 관심사는 두 가지입니다.

첫째, 나는 보통 레이아웃을 상대적 용어로 정의하는 데 관심이 있습니다. 내 관심사는 컨테이너와 컨테이너가 서로 잘 어울리는 것입니다. 글꼴을 변경하거나 체인을 조정하면 촬영하는 비율을 유지하기 위해 모든 것을 수동으로 다시 계산하고 업데이트하고 싶지 않습니다. 브라우저가 수학을 할 수있게하십시오 ...

둘째, 이해하기 쉬운 간단한 용어로 글꼴 크기를 표현하고 싶습니다. 기본 글꼴을 pt의 및 다른 모든 rem또는로 표현하면 em더 쉽습니다. 장치의 해상도를 알 필요가 없으며 확대 / 축소 할 필요가 없습니다. 브라우저는 사용할 픽셀 수를 알고 있습니다. 우리 중 누구도 그것에 대해 생각할 필요가 없습니다.

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