零基础教你学前端——62、CSS文本对齐和文本间距
首先,我们来学习CSS设置文本的对齐方式。
通过CSS,可以设置文本的水平和垂直对齐方式。(有案例的效果演示)
文本水平对齐,我们前面的课程曾经接触过——使用 text-align 这个样式属性来实现。它的属性值有三个:left,right,center,分别表示文本水平居左,居右,居中。
我们来举个例子。
在 005 目录下创建 alignment-spacing.html 文件,构建基础代码,添加一个 h1 元素和三个 p 元素,分别填入一些文本。
<h1>浠浠呀老师,学前端的大专生就业难吗?</h1>
<p>
no, 不难,只要你能力过关、项目经验过关、人品过关,企业就会录用你。
</p>
<p>
你可以在面试的时候,着重介绍一下你的开发能力、技术能力以及你对技术理解,让别人挑不出毛病,那学历这块是可以自动忽略的。
</p>
<p>
我在面试别人的时候也是这样,如果这个人的技术能力和过往经验真的征服了我,我不是很在他乎他的学历。
</p>
我们可以给三个段落文本,设置不同的水平对齐方式,给三个 p 元素定义 class 属性,值分别为 a,b,c。
在这个目录下再创建一个 mystyle-2.css 文件,定义 p.a (读作p点a) 选择器,声明样式 text-align: left (不要读冒号)。定义 p.b 选择器,声明样式 text-align: center。定义 p.c 选择器,声明样式 text-align: right。
p.a {
text-align: left;
}
p.b {
text-align: center;
}
p.c {
text-align: right;
}
在浏览器中预览效果,三个段落分别左、中、右对齐了。
当 text-align 属性被设置为 justify [ˈdʒʌstɪfaɪ]时,每一行都被拉长,使每一行都有相等的宽度,而且左右边界是对齐的,就像杂志和报纸排版一样。
注释掉全部样式,定义 p 选择器,声明样式 text-align: justify。
我们看,貌似没有什么效果。
为了演示,给第一个段落添加单词 no, (读作no 英文的逗号) 。再给 p 元素声明一个样式 width: 200px。
再看效果,三个段落的两侧都是对齐的。
假如注释掉这个样式,
很明显,右侧不再对齐显示了。
除了水平对齐,还可以设置文本的垂直对齐。通过声明 vertical-align 属性来实现。值有五个:
baseline,基线对齐。
text-top,文本顶部对齐。
text-bottom,文本底部对齐。
sub,下角标对齐。
super,上角标对齐。
在 html 文件中添加一个 h1 元素,5个 p 元素。填入一些文本。在每个段首添加一个 img 元素,引入本地的一个小图片,图片的宽高都为 9px。给每个图片元素定义 class 属性,值分别为 a,b,c,d,e。
在样式表中,定义 img.a 选择器,声明样式 vertical-align: baseline。
baseline 是如何对齐的呢?看效果,在垂直方向好像是居中对齐。
实际上,baseline 是基于四线三格倒数第二行对齐的。对于英文文本才有意义。
比如,将 1 修改为 fight 1。
基线在这,文本中的图片就基于它来对齐。
再定义 img.b,img.c,img.d,img.e 四个选择器,给他们都声明 vertical-align 属性,值分别为 text-top,text-bottom,sub,super 。
看看效果,图片垂直方向上,已经相对于文本顶部、底部、上角标、下角标的位置对齐了。
接下来,我们学习如何设置文本的间距。
通过 CSS,可以实现文本缩进、文字或字母间距、行高、单词间距和处理空白。(有案例的效果演示)
聊起文本缩进,你还记得以前是如何实现自然段首行缩进的吗?可以发弹幕告诉大家!
通过声明 CSS 的 text-indent 属性也可以实现。使⽤长度值或百分⽐来设置⽂本缩进。
长度值可以使⽤绝对单位或相对单位。绝对单位就是 px,比如缩进 50px;相对单位最常用的是 em,缩进的宽度为字符宽度的倍数,一般设置为 2em,就是空两格。
字符宽度——如果是中文方块字,也可以称为字体大小,它是通过 font-size 属性来设置的,这个属性在后面 CSS 字体课程中会详细介绍。
百分⽐缩进宽度,是根据⽗元素的宽度计算得到。这个很少使用。
给 p 元素声明 text-indent 属性,值为 2em。
仔细观察,每个自然段缩进貌似不是2个字的宽度,这是为什么呢?
你应该想到了,把 text-align: justify 注释一下,就是我们要的效果了。
letter-spacing 属性用于指定中文文字或英文字母之间的空隙。
在样式中,定义 h1 选择器,声明样式 letter-spacing: 5px。
这样,标题文字间就有了 5px 的空隙。
line-height 属性用于指定行与行之间的高度,也就是行高。属性值常用的有三个:
第一,normal,也是默认值,浏览器会根据字符大小自动设置一个行高。
第二,一个数字,比如 1.5。此数字与当前的字符大小相乘计算得到。推荐使用。
第三,绝对值,比如 20px,-5px。设置固定的行间距。
在没有设置 line-height 属性时,我们看到每一行的间距是这样的。
回到样式代码,给 p 元素声明样式 line-height: normal。
我们看到效果没有变化。
修改 line-height 属性值为 1。
再来看,每个段落的行间距消失了。
再次修改 line-height 为 10px,行与行之间叠加到了一起。
是不是和你理解的行高不一样呢?看来,我们得需要仔细研究一下:行高到底是如何计算的。
这是两行中文和英文混合的文本。
在文字顶端画一条线,取名叫顶线。在文字底端画一条线,取名叫底线。在文字中间画一条线,取名叫中线,再画一条英文的基线。上一行文字的底线,到下一行文字的顶线,他们之间的空隙称为行距。
实际上,line-height 设置的行高值,是两行基线的距离。
这里你可能会问,基线不是英文文本才有的吗?其实,不管文本里有没有英文,基线都是一直存在的。
了解了这个原理,你就能理解 line-height: 1,为啥没有行距了。因为 1 乘以文字的高度,结果还是文字的高度。而文字的高度,恰好等于两行基线之间的距离,所以行距为 0。
word-spacing 属性用于指定文本中单词的间距,只对英文有效。
给 p 元素再声明一个 word-spacing: 20px 样式。
我们看,单词 no 和 fight 后面就有了 20个像素的间距。
white-space 属性指定了如何处理元素内部的空白。有一个常用的值,nowrap,不管包含文本的元素宽度是多少,文本都不会换行,直到遇见 <br> 标签为止。
给 p 元素再声明一个 white-space: nowrap 样式。
此时,每个段落都在一行显示了。虽然我们给 p 元素声明了 width: 200px,他也会视而不见,继续倔强的在一行显示。
文章配套视频链接:https://www.bilibili.com/video/BV1oU4y1278g?p=63
前端入门——html 文字格式、标题与段落
在制作网页时,文字是最基本的元素之一。让阅读者更容易阅读,短时间里获得更多信息,是网页创作者的目标。本篇将介绍各种文字格式标签的使用方法。
本篇主要针对初学者的一篇教程,如果你非常熟悉html,可以忽略本篇文章。
- 标题文字
- 文字格式标签
- 段落标签
- 其它标签
在网上浏览时经常看到一些标题文字,用来对应章节划分,它们以固定的字号显示,总共有6种级别的标题,从 h1 至 h6 依次减小,如下图:
html 代码:
标题对齐方式可以使用 align 属性,分别有三个属性:
- left —— 左对齐
- center —— 居中对齐
- right —— 右对齐
如下图:
html代码:
除了标题,网页中普通文字也是不可缺少的,而各种文字效果可以使网页更加漂亮。
只需在<body>和</body>之间输入文字,就会直接在页面中显示,如何设置这些文字的格式,这里使用<font>标签,下面将逐一介绍各种文字格式用法。
一、设置字体、字号、颜色 —— <font> 标签
<font> 标签在HTML 4 中用于指定字体、字体大小和文本颜色,但在HTML5 中不支持。
- face 属性:字体类型
- size 属性: 字体字号大小
- color 属性:字体颜色
html代码:
在html5中不建议使用,请用 css 样式代替。
二、粗体、斜体、下划线、删除线—— strong、em、u、del
效果如下:
html代码:
注:html 5 和 html 4 相关标签存在巨大差异,比如 strong 和 b 、del 和 s、em 和 i 等效果相同,在html5 中不支持,b、s、i 标签,已不建议使用,关于各种差异,可自己了解下就可以了。
3、上标和下标 —— sup、sub
效果如下:
html代码:
4、空格——
一般在网页中输入文字时,在段落中明明增加了空格,却在页面中看不到,这是因为在html中,浏览器本身会将2个句子之间的所有半角空白仅当做一个空白来看待。所以在这里使用空格符代替,每个空格符代表一个半角空格,多个空格可以使用多次。
html代码:
由于头条不显示空格字符,所以用图片代替
效果:
5、其它特殊字符
除了空格字符,在网页中还有一些特殊字符也需要使用代码来代替,一般情况下,特殊字符由前缀 “&” 开始、字符名和后缀 “;” 组成,和空格符类似。如下表
特殊字符有很多,这里只列出一些例子,具体自己搜索了解下。
在网页中要把文字有条理地显示,需要使用到段落标签,下面介绍一些与段落相关的标签。
- 段落标签——p
在网页中,通过 <p>定义为一个段落。
html代码:
效果:
- 换行标签——br
在写文字时,除了自动换行外,换可以使用<br>标签强制文字换行,这个和 p 段落标签不一样。段落标签的换行是隔行的,而br不是,时2行文字更加紧凑。
html代码:
效果如下:
如果不想文字被浏览器自动换行,可以使用<nobr></nobr>标签处理,如下图:
改行文字不会被自动换行,会看到出现横向滚动条。
- 保留原始排版方式——pre
在网页制作中,有时需要保留一些特殊的排版效果,这是使用标签控制就会很麻烦,使用<pre>标签就可以保留文本的格式排版效果。如下图:
html代码:
- 右缩进—— blockquote
使用<blockquote>可以实现文字段落缩进,每使用一次,段落就缩进一次,可以嵌套使用。
实例代码:
效果如下:
请注意,浏览器在 blockquote 元素前后添加了换行,并增加了外边距。
- 水平线——hr
在段落和段落之间加上一行水平线,将段落隔开。如下效果:
html代码:
- 文字标注——ruby
在网页中可以通过添加对文字的标注来说明某段文本。
效果如下:
html代码:
- 其它标签——var、code、kbd等
本篇介绍了大部分常用的文本格式标签,在制作网页时会经常使用到。如何掌握这些标签使用,很简单,可以使用文本编辑器或类似w3cshool 在线可编辑预览的工具,亲手写一写,熟悉每个标签的用处,无需死记硬背,关键在于理解。
最后,感谢您的阅读及关注,祝你学习愉快。
上篇:
下篇:
一篇文章带你了解CSS 文本样式
颜色属性被用来设置文字的颜色。
颜色是通过CSS最经常的指定:
- 十六进制值 – 如\”#FF0000\”。
- 一个RGB值 – \”RGB(255,0,0)\”。
- 颜色的名称 – 如\”红\”。
一个网页的文本颜色是指在主体内的选择:
注:对于W3C标准的CSS:如果你定义了颜色属性,你还必须定义背景色属性。
文本排列属性是用来设置文本的水平对齐方式。
文本可居中或对齐到左或右,两端对齐。
当text-align设置为\”justify\”,每一行被展开为宽度相等,左,右外边距是对齐(如杂志和报纸)。
text-decoration 属性用来设置或删除文本的装饰。
从设计的角度看 text-decoration属性主要是用来删除链接的下划线:
也可以这样装饰文字:
注:不建议强调指出不是链接的文本,因为这常常混淆用户。
text-transform文本转换属性是用来指定在一个文本中的大写和小写字母。
- uppercase:转换为全部大写。
- lowercase:转换为全部小写。
- capitalize :每个单词的首字母大写。
text-indent文本缩进属性是用来指定文本的第一行的缩进。
增加或减少字符之间的空间。
指定在一个段落中行之间的空间。
增加一个段落中的单词之间的空白空间。
设置文本的垂直对齐图像。
设置文本阴影。
本文主要介绍了CSS文本样式实际应用中应该如何去操作,通过讲解文本中对应的属性去改变文本的表现形式。使用丰富的效果图的展示,能够更直观的看到运行的效果,能够更好的理解。使用Html语言,代码结构更佳的清晰,能够帮助你更好的学习。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。