Web前端入门第 30 问:CSS 文本与字体样式常用属性
CSS 盒模型是基石,文本和字体则是盒子内容的重要组成部分。毕竟清水房有了,软装也得跟上啊。
字体常用属性
font-family
定义字体类型(如:Arial, "Microsoft YaHei", sans-serif)。

特别说明,字体定义有优先级,比如:
font-family: Inter, "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", 微软雅黑, Arial, sans-serif;
以上规则会优先命中
Inter字体,如果电脑中找到此字体,则不会再往后查找;如果找不到,会继续找下一个字体Helvetica Neue;如果定义的字体都找不到,则会使用系统默认字体。font-size
设置字体大小(如:16px、1.6em),em单位是相对于父元素的字体大小,1.6em就是父元素的字体 1.6 倍。

font-weight
控制字体粗细(如:normal、bold、300,其中bold与700是等效的)。

font-style
设置斜体(如:italic、normal)。

font(简写属性)
组合多个属性(如:font: italic bold 16px/1.5 Arial),font它可以揉进去这么多个属性,内部空间巨大:

文本常用属性
color
文本颜色(如:#333、rgba(0,0,0,0.5))。

text-align
水平对齐方式(如:right居右、center居中、justify两端对齐)。

注意看使用
justify对齐的文本段落,左右两边与边框之间是不存在简写的,这就是两端对齐。line-height
行高(如:2表示 2 倍字体大小的行高、24px表示固定 24px 行高,如果字体大小超过 24px 则可能会文字重叠 )。

红色圈出来的部分就表示文本的行高,表示一行文字占用空间。
text-decoration
文本装饰(如:underline下划线、line-through删除线、green wavy overline绿色波浪上划线)。

除了图中演示部分,线条样式还支持
solid实线、double双实线、dotted点划线、dashed虚线。下划线还可通过
text-underline-offset控制下划线与文本之间的距离。text-transform
大小写转换(如:uppercase所有大写、lowercase所有小写、capitalize首字母转换为大写)。

letter-spacing
字符间距(如:10px、-5px负数表示字符会叠在一起)。

word-spacing
单词间距(如:0.5em),多用于英文排版,就表示两个单词之间的空格间距,如下:。

text-indent
首行缩进(如:2em),文字段落首行的缩进距离,比如读书时痛苦的写作文时候要求首行要空两格,就是这个用处。

vertical-align
垂直对齐(如:top、middle、bottom,常用于行内元素),这属性完全可以展开细说,对齐方式有很多特别之处。

white-space
空白处理(如:nowrap不换行,常用于显示省略号、pre原样输出,常用于代码输出)。

正常文本显示时候,多个空白字符会被浏览器合并为一个(如:段落一),
nowrap强制文本不换行(段落二),pre则会原样输出(段落三)。text-overflow
溢出文本处理(如:ellipsis,需配合overflow: hidden),如上图。text-shadow
文本阴影(如:2px 2px 4px rgba(0,0,0,0.5))。

direction
文本方向(如:rtl从右到左)。

其他相关属性
@font-face
自定义字体(引入外部字体文件),多用于英文自定义字体,毕竟英文就26个字母组合,而汉字却有上万多个,字体文件都以兆为单位计算,带宽受限,所以自定义字体就比较鸡肋了。
@font-face出现后图标也常用自定义字体的方式引入,可参考 https://www.iconfont.cn/。font-display
控制字体加载时的显示行为(如:swap、block),通常配合自定义字体使用。
使用方式如下:
@font-face {
font-family: ExampleFont;
src: url(https://mdn.github.io/css-examples/web-fonts/VeraSeBd.ttf) format('woff'),
url(/path/to/fonts/examplefont.eot) format('eot');
font-weight: 400;
font-style: normal;
font-display: fallback;
}
.font1 {
font-family: ExampleFont;
}
总结
本文介绍了 CSS 中常见的文本与字体使用方式,实际开发中,文本和字体属性常结合使用,例如:
p {
font: 16px/1.5 Arial;
color: #333;
text-align: justify;
text-shadow: 1px 1px 2px #ccc;
}
Web前端入门第 30 问:CSS 文本与字体样式常用属性的更多相关文章
- 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
好程序员web前端分享值得参考的css理论:OOCSS.SMACSS与BEM 最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCS ...
- web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史
秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...
- 进击的Python【第十三章】:Web前端基础之HTML与CSS样式
进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客 ...
- 好程序员web前端分享18个用CSS制作出来的东西
好程序员web前端分享18个用CSS制作出来的东西,与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和 ...
- Android零基础入门第30节:两分钟掌握FrameLayout帧布局
原文:Android零基础入门第30节:两分钟掌握FrameLayout帧布局 前面学习了线性布局.相对布局.表格布局,那么本期来学习第四种布局--FrameLayout帧布局. 一.认识FrameL ...
- CSS样式常用属性整理
web工程师是最近5年刚刚兴起的一门高薪职业,人们的专注度越来越高. 那么前端除了学习html标签之外还需要掌握什么知识点呢? 为大家整理了一个和HTML标签密不可分的知识要点--<CSS样式常 ...
- 【CSS学习】--- 字体样式
一.前言 CSS字体属性可以定义文本的字体系列.大小.加粗.颜色.风格(如斜体)和变形(如小型大写字母). CSS的字体属性: font-family 设置字体系列 font-size 设置字体的尺寸 ...
- css中的字体样式及元素样式
css中的字体样式一般包含有就9中,常见的有7种.这7种依次为: 1.字体样式:font-family: 2.字体大小:font-size: 3.字体加粗:font-weight: 4.字体斜体:fo ...
- Flutter 基础组件:文本、字体样式
// 文本.字体样式 import 'package:flutter/material.dart'; class TextFontStyle extends StatelessWidget { // ...
- web前端入坑第二篇:web前端到底怎么学?干货资料! 【转】
http://blog.csdn.net/xllily_11/article/details/52145172 版权声明:本文为博主[小北]原创文章,如要转载请评论回复.个人前端公众号:前端你别闹,J ...
随机推荐
- Mina源码-整体解读
阅读笔记(一)-整体解读 Apache MINA is a network application framework which helps users develop high performan ...
- Golang-编译和工具链12
http://c.biancheng.net/golang/build/ go build命令(go语言编译命令)完全攻略 Go语言的编译速度非常快.Go 1.9 版本后默认利用Go语言的并发特性进行 ...
- 拥有自己的解析器(C#实现LALR(1)语法解析器和miniDFA词法分析器的生成器)
拥有自己的解析器(C#实现LALR(1)语法解析器和miniDFA词法分析器的生成器) 参考lex和yacc的输入格式,参考虎书<现代编译原理-C语言描述>的算法,不依赖第三方库,大力整合 ...
- not in 和 not exists 比较和用法
尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询).查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引:而not exists的子查询依 ...
- DBeaver连接SqlServer报“The server selected protocol version TLS10 is not accepted by client prefere”的错误
1.问题描述 DBeaver在连接SqlServer时,出现如下图所示的错误: The server selected protocol version TLS10 is not accepted b ...
- kubernets学习笔记二
Kubernetes部署"容器化应用" Kubernetes整体架构 何为"容器化应用"? 通俗点来说,就是你把一个程序放在docker里部署,这个docker ...
- DP(优化)
史不分好坏.是史就应该冲进. 细节见其他题解. P10538 首先建出部分分 sub1 的图,发现是 DAG,于是设点为状态,即即将乘坐 \(j\) 车的最小代价 \(f_j\).这样的转移就是枚举上 ...
- RocketMQ实战—9.营销系统代码初版
大纲 1.基于条件和画像筛选用户的业务分析和实现 2.全量用户促销活动数据模型分析以及创建操作 3.Producer和Consumer的工程代码实现 4.基于抽象工厂模式的消息推送实现 5.全量用户促 ...
- JAVA运算符及实例
JAVA语言支持以下运算符 优先级() 算数运算符:+,-,*,/,%,++,-- 实例1: package operator; public class Demo01 { public ...
- Log4j2 Garbage-free 无垃圾回收模式实践与总结
Log4j2 内置 Garbage-free(无垃圾)模式,可重用对象和缓冲区,减少日志记录时产生的垃圾对象,避免 JVM 进行 GC 回收,进而提升应用程序的性能与响应速度.以下以 Log4j2 的 ...