您现在的位置是:网站首页> 编程资料编程资料
举例详解CSS中的字体尺寸设置CSS中的字体大小设置属性总结关于CSS中字体设置的相关说明CSS 文本字体颜色设置方法(CSS color)CSS3中新增的对文本和字体的设置
2021-09-05
998人已围观
简介 这篇文章主要介绍了CSS中的字体尺寸设置,包括CSS3中新引入的单位的使用,超级推荐!需要的朋友可以参考下
常用单位
在CSS中可以用很多不同的方式来设定字体的尺寸。一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative)。
绝对单位在大多数情况下是相对于某些实际量度而言的固定值,即是说它们一旦设定,就不会因为其他元素的字体尺寸变化而变化。
相对单位没有一个固定的度量值,而是由父元素尺寸来决定的相对值,它们的尺寸会根据与其相关的元素改变而改变。
下面是对这些单位的一个简单整理:
这里主要关注这几个单位:px、pt、%、em、rem和vw。
它们之间有什么区别?
从概念上很难理解这些单位之间的差别,所以下面用一些实例来说明。
例1. 默认设定
当你不设定字体尺寸时,HTML会提供一个默认的尺寸设定。大多数浏览器中和
标签中的默认字体尺寸是100%,没有概念?看这个等式:- 100% = 1em = 1rem = 16px = 12pt
还是不懂?那就换个说法,比如说你给一个
设置字体尺寸为100%,给另一个
设置为16px,在屏幕上看到的这两个
中的字体大小是一样的,下图列出了用几个不同单位设置的字体尺寸,可以看出是一样大的:
例2. 绝对与相对
改变的字体尺寸可以很明显的看出绝对单位和相对单位的差别。如果把设置为html { font-size: 200% },就会影响所有使用相对单位的
。效果如下图:
这就是相对单位最主要的优势了,借助相对单位的这种特性就可以设计出真正的响应式页面,而所要做的只是修改的字体尺寸
例3. rem与em(或者%)
em(或者%)需要通过父元素的字体尺寸来计算尺寸:
- html {
- font-size: 100% /* =16px */
- }
- body {
- font-size: 2em; /* =32px */
- }
- p {
- font-size: 1em; /* =32px */
- /* font-size: 0.5em; =16px */
- }
因为
是
的子元素,而是的子元素,所以中的em和%将是之前的两倍。
当你为一个元素添加em单位时,应当考虑到所有父元素的字体尺寸。如你所见,这样很容易使人混乱。
使用rem可以很好的解决这个问题。rem只需要计算的字体尺寸而不需要考虑父元素。如下代码所示:
- html {
- font-size: 100% /* =16px */
- }
- body {
- font-size: 2rem; /* =32px */
- }
- p {
- font-size: 1rem; /* =16px */
- }
使用rem可以让你拥有和em/%同样的缩放能力,但不必去考虑那些复杂的嵌套关系。
例4. Viewport宽度
vw是CSS3中新提出的一个单位,通过Viewport宽度来计算字体尺寸。这样就可以设计出更加灵活的响应式字体。
虽然这个单位看上去非常适合用于响应式设计,但就我个人而言不是很热衷于它。在使用vw的过程中我并不能很好的控制字体的大小,不是太大就是太小。
我的方式
当我在写这篇文章时,我仅使用px来作为单位。因为现在大多数浏览器都允许用户放大页面,这样做就不会有可访问性的问题。
然而,我发现了这个具有一定限制力的方式。虽然我的字体尺寸在中小型屏幕上看起来还行,但在大屏幕上会被优化的更好。尽管用户可以自行设定放大的属性,但是我们希望可以尽量减少用户的工作。
我的解决方案是使用rem,并使用px作为备用单位。
- html {
- font-size: 62.5%; /* sets the base font to 10px for easier math */
- }
- body {
- font-size: 16px;
- font-size: 1.6rem;
- /* sets the default sizing to make sure nothing is actually 10px */
- }
- h1 {
- font-size: 32px;
- font-size: 3.2rem;
- }
像下面这样写就可以允许我按比例来放大我的字体尺寸:
- @media screen and (min-width: 1280px) {
- html {
- font-size: 100%;
- }
- }
这个方案之所以使用px作为备用单位,是因为rem不支持IE8及其以下版本。这个方案有一个问题,就是像上面这样改变基础字体尺寸时,并不能对备用字体尺寸起到作用。不过,我不觉得这个问题多么大,因为这个匹配大型设备尺寸的能力只不过是为了锦上添花而已,并不是一个核心功能。
相关内容
- CSS中的元素定位方法详解浅谈CSS编程中的定位问题CSS实现定位元素居中的方法CSS实现模拟position的fixed页面定位效果
- CSS3的media query学习攻略设计适用于打印的CSS样式CSS控制漂亮的网页打印效果示例代码将XHTML CSS页面转换为打印机页面CSS实现强制浏览器分页将XHTML CSS页面转换为打印机页面详解CSS3中@media的实际使用详解CSS3中Media Queries的相关使用CSS media queries CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)彻底弄明白CSS3的Media Queries(跨平台设计)
- CSS中使用image data URI来处理图片的方法使用icon fonts来辅助CSS处理图片css-sprite使用详解
- CSS3的一个简单导航栏实现html+css+js实现导航栏滚动渐变效果不可思议的CSS导航栏下划线跟随效果html+css 实现简易导航栏功能CSS中的导航栏和下拉菜单的实现纯CSS实现导航栏下划线跟随滑动效果使用CSS制作立体导航栏div+css实现带箭头的面包屑导航栏CSS导航栏及弹窗示例代码纯CSS实现导航栏Tab切换效果CSS利用伪元素实现导航栏斜线分隔
- 使用CSS3和Checkbox实现JQuery的一些效果jQuery+CSS3实现自动轮播切换焦点图特效源码jQuery+CSS3实现的鼠标点击显示动画过渡效果特效源码基于jQuery+CSS3+HTML5实现的炫酷全屏垂直滚动切换幻灯片特效源码
- 不用table而实现等分DIV的方法jquery实现的div拖动排序插件jquery.sortable源码CSS:Table-cell属性的妙用让div也能享受table定位的好处实现div垂直居中的display:table-cell方法示例介绍
- 使用CSS3实现选项卡切换的方法css3实现的带图标鼠标点击切换选项卡特效源码一款纯css3实现的tab选项卡的实列教程使用css3实现的tab选项卡代码分享
- CSS中关于变量的基本教程CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS3中的clip-path使用攻略CSS3 clip-path 用法介绍详解
- CSS中的伪元素简介通过CSS3的object-fit来调整图片适配尺寸的技巧简介CSS计数器counter()的用法简介简介CSS中的各种选择符Markdown.css样式简介CSS3 Columns分列式布局方法简介定义css设备类型-Media Queries图表简介及使用方法css3背景图片透明叠加属性cross-fade简介及用法实例