文本控制
字体设置
可以定义多个字体,系统会依次查找,比如 'Courier New' 字体不存在将使用 Courier 以此类推。
font-family: 'PingFang SC', 'STHeitiSC-Light', 'Helvetica-Light', arial, sans-serif, 'Droid Sans Fallback';
自定义字体
警告
一般不使用自定义字体,除非项目需要或则引入字体图标。
可以声明自定义字段,如果客户端不存在将下载该字体,使用方式也是通过 font-family 引入。
<style>
@font-face {
font-family: "mkimq";
src: url("SourceHanSansSC-Light.otf") format("opentype"), url("SourceHanSansSC-Heavy.otf") format("opentype");
}
span {
font-family: 'mkimq';
}
</style>
字重定义
字重指字的粗细定义。取值范围[normal | bold | bolder | lighter | 100 ~900]。
400对应 normal,700对应 bold,一般情况下使用bold或normal较多。
字体字号
字号用于控制字符的显示大小,包括[xx-small | x-small | small | meidum | large | x-large | xx-large]。
- 百分比
百分数是子元素相对于父元素的大小,如父元素是20px,子元素设置为 200%即为你元素的两倍大小。
- em
em单位等同于百分数单位。
- rem
rem相当于根字体大小百分比。
字体颜色
字符颜色:red、green等字符颜色声明
十六进制网页颜色
rgb/rgba
行高
div {
line-height: 20px;
}
倾斜风格
span {
font-style: italic;
}
em {
font-style: normal;
}
组合定义
可以使用 font 一次将字符样式定义,但要注意必须存在以下几点:
- 必须有字体规则
- 必须有字符大小规则
span {
font: bold italic 30px/1.5 'PingFang SC', arial, sans-serif;
}
上例中的30px为字体大小,1.5为1.5倍行高定义
文本样式
大小转换
- 小型大写字母字体
span {
font-variant: small-caps;
}
- 字母大小写转换
h2 {
/* 首字母大小 */
text-transform: capitalize;
/* 全部大小 */
text-transform: uppercase;
/* 全部小写 */
text-transform: lowercase;
}
文本线条
a {
text-decoration: none;
}
span.underline {
text-decoration: underline;
}
span.through {
text-decoration: line-through;
}
span.overline {
text-decoration: overline;
}
<a href="">mkimq.com</a>
<hr>
<span class="underline">下划线</span>
<hr>
<span class="through">删除线</span>
<hr>
<span class="overline">上划线</span>
阴影控制
参数顺序为:颜色,水平偏移,垂直偏移,模糊度。
h2 {
text-shadow: rgba(13, 6, 89, 0.8) 3px 3px 5px;
}
空白处理
使用 white-space 控制文本空白显示。
选项 | 说明 |
---|---|
pre | 保留文本中的所有空白,类似使用 pre 标签 |
nowrap | 禁止文本换行 |
pre-wrap | 保留空白,保留换行符 |
pre-line | 空白合并,保留换行符 |
文本溢出
- 单行文本
溢出文本容器后换行处理
h2 {
overflow-wrap: break-word;
width: 100px;
}
溢出内容末尾添加 ...
div {
width: 200px;
border: solid 1px blueviolet;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
- 多行文本
div{
width: 200px;
border:solid 1px blueviolet;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
- 表格文本溢出
表格文本溢出控制需要为 table 标签定义 table-layout: fixed; css样式,表示列宽是由表格和单元格宽度定义。
table {
table-layout: fixed;
}
table tbody tr td {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
段落控制
文本缩进
控制元素部的文本、图片进行缩进操作
p {
text-indent: 2em;
}
水平对齐
使用[left | right | center]对文本进行对齐操作
h2 {
text-align: center;
}
垂直对齐
使用vertical-align用于定义内容的垂直对齐风格,包括[middle | baseline | sub | super]等。
- 图像在段落中居中对齐
img {
height: 50px;
width: 50px;
vertical-align: middle;
}
<p>
<img src="mkimq.jpg">
文本信息。
</p>
- 顶部与底部对齐
[bottom | top]相对于行框底部或顶部对齐。
span {
vertical-align: bottom;
font-size: 12px;
}
- 使用单位对齐
span {
vertical-align: -20px;
font-size: 12px;
}
字符间隔
- 单词与字符间距
使用word-spacing与letter-spacing控制单词与字符间距。
h2 {
word-spacing: 2em;
letter-spacing: 3em;
}
排版模式
模式 | 说明 |
---|---|
horizontal-tb | 水平方向自上而下的书写方式 |
vertical-rl | 垂直方向自右而左的书写方式 |
vertical-lr | 垂直方向内内容从上到下,水平方向从左到右 |