基础
font系列
字体font-family
<body>
<div style="font-family: '黑体';">
你好-黑体
</div>
<div style="font-family: '微软雅黑';">
你好-微软雅黑
</div>
<div style="font-family: '方正姚体';">
你好-方正姚体
</div>
<div style="font-family: '华文仿宋';">
你好-华文仿宋
</div>
<div style="font-family: 'Times New Roman';">
你好-Times New Roman
</div>
<div style="font-family: '宋体';">
你好-宋体
</div>
<div style="font-family: '华文细黑';">
你好-华文细黑
</div>
</body>
效果:
font-family通用值:宋体、黑体、微软雅黑、微软正黑体、新宋体、新细明体、细明体、楷体、仿宋。
一般浏览器常用的字体包括宋体、黑体、微软雅黑等几种。网页载入选择字体时首先调用用户电脑系统字体库的字体,如果没有找到这些字体就会使用默认的网页字体。但为了特殊需要,有时需要显示特定字体。
引入字体@font-face
示例中szz.ttf文件是字体文件,从网上下载的。该文件与html文件在同一文件目录下。
<head>
<style type="text/css">
@font-face {
font-family: 'szz';
/*Google 浏览器,火狐浏览器支持的字体类型*/
src:url('./szz.ttf') format('truetype');
}
.test {
font-family: 'szz';
}
</style>
</head>
<body>
<div class="test">
你好-外部字体
</div>
</body>
效果:
字号font-size
font-size操作文字大小,值可以是数值、百分比或者常用值(larger、smaller等)。
数值
重点是单位。
(1)px
px表示像素,一个像素就是计算机上的一个点。该单位具体大小因屏幕分辨率而定。浏览器默认16px。
(2)em
W3C推荐使用 em 尺寸单位。1em 等于当前的字体尺寸。如果一个元素的 font-size 为 16 像素,那么对于该元素,1em 就等于 16 像素。在设置字体大小时,em 的值会相对于父元素的字体大小改变。浏览器中默认的文本大小是 16 像素。因此 1em 的默认尺寸是 16 像素。可以使用下面这个公式将像素转换为 em:pixels/16=em(注:16 等于父元素的默认字体大小,假设父元素的 font-size 为 20px,那么公式需改为:pixels/20=em)
(3)vh、vm、vmin
百分比
% 把 font-size 设置为基于父元素的一个百分比值。
常用值
smaller:把 font-size 设置为比父元素更小的尺寸。
larger:把 font-size 设置为比父元素更大的尺寸。
inherit:规定应该从父元素继承字体尺寸。
<div>
你好-默认大小
</div>
<div style="font-size: 16px;">
你好-单位px
</div>
<div style="font-size: larger;">
你好-larger
</div>
<div style="font-size: smaller;">
你好-smaller
</div>
效果:
加粗font-weight
字体加粗font-weight的常用值:bold 粗体 ;bolder 比粗体更加粗。除此之外,font-weight值也可以是具体数值。
<body>
<div>
你好-没有font-weight
</div>
<div style="font-weight: normal;">
你好-normal
</div>
<div style="font-weight: bold;">
你好-bold
</div>
<div style="font-weight: bolder;">
你好-bolder
</div>
<div style="font-weight: lighter;">
你好-lighter
</div>
</body>
效果:
常用值:
normal 缺省值。字体正常显示。
bold 粗体
bolder 比粗体更加粗
lighter 比正常字体淡
100 至少和200一样淡
200 至少和100一样粗,至少和300一样淡
300 至少和200一样粗,至少和400一样淡
400 字体正常显示,相当于normal。
500 至少和400一样粗,至少和600一样淡
600 至少和500一样粗,至少和700一样淡
700 粗体,相当于bold。
800 至少和700一样粗,至少和800一样淡
900 至少和800一样粗
文本属性
首航缩进text-indent
indent:vt. 缩进; 将(印刷或书写的行)缩格;
<div>
版权所有 (C) Microsoft Corporation。
<br/>
保留所有权利。
</div>
<div style="text-indent: 2em;">
版权所有 (C) Microsoft Corporation。
<br/>
保留所有权利。
</div>
效果:
文本水平对齐text-align
设置块级元素内文本的水平对齐方式,默认左对齐。
text-align常用值left、center、right、justify。
justify实际上是将每个单词的间距进行拉伸,以达到两端对齐的效果。
当标签中文本只有一行时,justify并没有生效。
实际上,justify会自动忽略文本的最后一行。justify的主要还是应用于大段文本的处理。
<div style="width: 300px;height: 500px;border: solid 1px red;">
<div>
默认
<br/>
版权所有 (C) Microsoft Corporation。
<br/>
保留所有权利。
</div>
<div style="text-align: center;">
居中
<br/>
版权所有 (C) Microsoft Corporation。
<br/>
保留所有权利。
</div>
<div style="text-align: left;">
左对齐
<br/>
版权所有 (C) Microsoft Corporation。
<br/>
保留所有权利。
</div>
<div style="text-align: right;">
右对齐
<br/>
版权所有 (C) Microsoft Corporation。
<br/>
保留所有权利。
</div>
<div>
不使用justify。
结果先前等宽对齐的最后三个图片就与上面元素垂直对齐且左对齐啦! 您可以狠狠地点击这里。
</div>
<div style="text-align: justify;">
使用justify。
结果先前等宽对齐的最后三个图片就与上面元素垂直对齐且左对齐啦! 您可以狠狠地点击这里。
</div>
</div>
效果:
文本垂直对齐vertical-align
设置元素的垂直对齐方式。
vertical-align属性只对行内元素有效,对块内元素无效。设置属性display:inline-block。
vertical-align常用值:sub 垂直对齐文本的下标。
super 垂直对齐文本的上标
top 把元素的顶端与行中最高元素的顶端对齐
middle 把此元素放置在父元素的中部。
bottom 使元素及其后代元素的底部与整行的底部对齐。
<body>
<!-- 顶部 -->
<div style="width: 300px;height: 150px;border: solid 1px red">
<span style="display: inline-block;font-size: 10px;vertical-align: top">默认</span>
<img src="test.png" style="display: inline-block;height: 100px;width:100px;vertical-align: top;">
<span style="display: inline-block;font-size: 30px;vertical-align: top">默认</span>
</div>
<!-- 中部 -->
<div style="width: 300px;height: 150px;border: solid 1px blue">
<span style="display: inline-block;font-size: 10px;vertical-align: middle">默认</span>
<img src="test.png" style="display: inline-block;height: 100px;width:100px;vertical-align: middle;">
<span style="display: inline-block;font-size: 30px;vertical-align: middle">默认</span>
</div>
<!-- 底部 -->
<div style="width: 300px;height: 150px;border: solid 1px green">
<span style="display: inline-block;font-size: 10px;vertical-align: bottom">默认</span>
<img src="test.png" style="display: inline-block;height: 100px;width:100px;vertical-align: bottom;">
<span style="display: inline-block;font-size: 30px;vertical-align: bottom">默认</span>
</div>
<!-- 原文 -->
<div style="width: 300px;height: 100px;border: solid 1px red">
<span style="display: inline-block;font-size: 16px;border: solid 1px blue">默认</span>
<span style="display: inline-block;font-size: 16px;border: solid 1px blue">默认</span>
</div>
<!-- 下标 -->
<div style="width: 300px;height: 100px;border: solid 1px red">
<span style="display: inline-block;font-size: 16px;border: solid 1px blue">默认</span>
<span style="display: inline-block;font-size: 16px;;border: solid 1px blue;vertical-align: sub">下标</span>
</div>
<!-- 上标 -->
<div style="width: 300px;height: 100px;border: solid 1px red">
<span style="display: inline-block;font-size: 16px;border: solid 1px blue">默认</span>
<span style="display: inline-block;font-size: 16px;;border: solid 1px blue;vertical-align: super">上标</span>
</div>
</body>
效果:
具体场景
要求文本自动换行不超过边框
之前:
加入样式:
word-wrap:break-word;
word-break:break-all;
实现效果: