问题场景:
在实现响应式布局的过程中,如何设置字体大小在不同的视窗尺寸以及不同的移动设备的可读性?
需要了解的有:
1.px,em,pt之间的换算关系
1em = 16px
1px = 1/16 em = 0.0625em
////以下用的比较少//////
1em = 12pt
1px = 3/4 pt = 0.75pt
1pt = 1/12 em 0.0833em
1pt = 4/3 px = 1.3333px
2.任意浏览器默认字体都是16px。所有未经调整的浏览器默认尺寸为 1em=16px
3.chrome强制最小字体为12px,即使设置成10px,最终会显示成12px。这点解释了为什么有时候在ie或mozllia里的字体大小与chrome有初入
4.px,em,rem vw,vh,vmin的区别在哪?
px:
相对单位。相对于屏幕分辨率。这就是为什么分辨率越大字体越小的原因所在。那px的优缺点又如何?
优点:比较稳定、精确。
缺点:如果对页面进行缩放,影响文本可读性。可通过使用em作为字体单位解决这个问题。
em:
相对单位。根据基准数值缩放字体大小,是一个相对值,而非具体值。基准值取决于,父级元素所设置的font-size。如果父级元素未设置font-size 依次向上寻找直到根节点。
优点:弥补了px的不足
缺点:过于依赖父级节点,容易出现字体大小重复声明。
rem:
相对单位。相对于根结点html的字体大小。
缺点:避免了em依赖父级元素字体大小
优点:参考系只有一个,根节点字体大小
html{font-size:100%}//响应式的字体大小相对于根节点变化@media (min-width: 640px) { body {font-size:1rem;} }@media (min-width:960px) { body {font-size:1.2rem;} }@media (min-width:1100px) { body {font-size:1.5rem;} }
5.为什么根结点字体大小要设置成62.5%?
上面介绍过浏览器默认字体大小为16px,如果想要在不同的页面尺寸下设置字体大小分别为12、14、18px怎么办?
html{font-size:16px}//响应式的字体大小相对于根节点变化@media (min-width: 640px) { body {font-size:12/16 rem;font-size:12px; /某些浏览器不支持rem,需要再次使用px 声明font-size/} }@media (min-width:960px) { body {font-size:14/16 rem; font-size:14px; /*某些浏览器不支持rem,需要再次使用px声明font-size*/} }@media (min-width:1100px) { body {font-size:18/16 rem; font-size:18px; /*同上*/} }
难道必须使用 12/16 rem,14/16rem,18/16rem 这种方式来计算字体的相对大小吗?
更简便的方式,在根结点设置字体大小为10px,这样一来在media里可以直接写成1.2rem,1.4rem,1.8rem。 根结点如果设置成10px,那么相对于浏览器默认字体大小为 font-size:10/16 % 即 font-size:62.5%
html{font-size:10px}//响应式的字体大小相对于根节点变化@media (min-width: 640px) { body {font-size:1m=1.2 rem;font-size:12px; /某些浏览器不支持rem/} }@media (min-width:960px) { body {font-size:1.4 rem; font-size:14px; /*某些浏览器不支持rem,需要再次使用px声明font-size*/} }@media (min-width:1100px) { body {font-size:1.8 rem; font-size:18px; /*同上*/} }
参考内容:
响应式设计:使用响应式字体 http://www.w3cplus.com/responsive/understanding-responsive-web-design-how-to-manage-fonts.html
响应式十日谈:第一日 http://ued.taobao.org/blog/2013/05/rem-font-size/
Use legible font sizes https://varvy.com/mobile/legible-font-size.html
Responsive Font Size http://stackoverflow.com/questions/15649244/responsive-font-size
Viewport Sized Typography https://css-tricks.com/viewport-sized-typography/
Responsive Font Size with CSS http://codeitdown.com/responsive-font-size-css/
Responsive typography with REMs: How to build a scalable typographic foundation in three steps http://blog.bugsnag.com/responsive-typography-with-rems
css font-size:em、px、rem 换算

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
