최근에 저는 실제 모바일 기기, 특히 iOS Safari에서만 나타나는 수수께끼의 CSS 문제를 우연히 발견했습니다. 특정 글꼴이 불균형적으로 크게 나타나 레이아웃 무결성이 손상되었습니다. 개발 도구에서 다양한 글꼴 크기를 적용하여 이 문제를 해결하려고 시도했지만 !important를 사용해도 효과가 없었습니다. 아래에서 원하는 화면과 제가 보게 된 화면을 보실 수 있습니다.
조사 결과 모바일 브라우저가 사용자의 가독성을 높이기 위해 글꼴 크기를 동적으로 조정하는 경우가 있다는 사실을 알게 되었습니다. 모바일 브라우저의 렌더링 동작은 데스크톱 브라우저의 렌더링 동작과 다릅니다. 일반적으로 장치 화면의 너비에 따라 페이지를 렌더링하는 데스크톱 브라우저와 달리 모바일 브라우저는 작은 화면에 최적화되지 않은 웹 사이트를 수용하기 위해 일반적으로 기본값으로 980px로 설정되는 더 넓은 뷰포트를 활용합니다. 이로 인해 필연적으로 가로 스크롤이 발생합니다. 이에 대응하기 위해 아래 규칙은 HTML에서 일반적으로 사용되어 뷰포트 크기가 장치 크기에 정확하게 맞도록 조정됩니다.
<meta name="viewport" content="width=device-width, initial-scale=1" />
그러나 모바일 화면에 맞게 크기를 축소하는 동안 일부 브라우저에서는 텍스트를 너무 작게 렌더링하여 가독성을 높이기 위해 텍스트 팽창 알고리즘을 적용하여 텍스트를 확대할 수 있습니다. 이 알고리즘은 때때로 예기치 않은 글꼴 확대로 이어지며, 특히 화면의 전체 너비에 걸쳐 있는 요소가 레이아웃을 변경하지 않고 텍스트 크기 확대를 경험할 때 두드러집니다. 이 문제를 해결하고 여러 기기에서 일관된 텍스트 크기를 유지하기 위해 CSS text-size-adjust 속성을 활용할 수 있습니다.
text-size-adjust를 사용하면 웹 작성자가 자동 텍스트 팽창 동작을 비활성화하거나 조정할 수 있습니다. 특히 작은 화면을 염두에 두고 설계된 웹 사이트(대부분의 새로운 웹 사이트가 그러하다고 생각합니다)에 중요합니다. 이 속성은 일부 스마트폰 및 태블릿에서 사용되는 텍스트 팽창 알고리즘을 제어합니다. 다른 브라우저에서는 이를 무시합니다. 기본 크기 조정은 해당 양식 컨트롤에 텍스트가 포함되어 있는지(예: 텍스트 입력, 선택) 여부(예: 라디오 버튼, 확인란)에 관계없이 텍스트 및 양식 컨트롤에 영향을 미칩니다.
가능한 값은 3가지입니다:
이 속성을 전역 CSS 스타일(html에도 추가 가능)의 일부로 본문에 추가하여 텍스트 팽창 문제를 해결했습니다. 전역/재설정/표준화 CSS 파일에 다음 규칙을 추가하는 것이 좋습니다.
body { // prevent font-size inflation on small devices text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
iOS Safari의 경우에만 -webkit-text-size-adjust가 작동하지만 다른 브라우저에 대한 지원을 추가하기 위해 다른 공급업체와 비공급업체 속성을 포함했습니다. 처음에 비공급업체 속성을 추가하는 것이 매우 중요합니다. 마지막에 추가하면 Safari iOS에서는 -webkit을 재정의하고 지원하지 않으므로 적용되지 않으므로 기본적으로 작동합니다.
유념해야 할 몇 가지 기타 고려 사항:
몇몇 인기 있는 CSS 재설정/정규화 라이브러리에는 텍스트 크기 조정의 변형이 포함되어 있습니다.
읽어주셔서 감사합니다!? 이에 대해 더 자세히 알고 싶으시면 다음 추가 자료를 참조하세요.
drafts.csswg.org
웹참조
developer.apple.com.
위 내용은 전역 스타일에 text-size-adjust를 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!