这篇文章主要介绍了CSS如何定义文本的外观,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
CSS 文本
CSS 文本属性可定义文本的外观。
通过文本属性,您可以改变文本的颜色、字符间距,对文本进行对齐、装饰、缩进,等等。
缩进文本
把 Web 页面上的段落的第一行缩进,这是一种最常用的文本格式化效果。
CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进。
通过使用 text-indent 属性,所有元素的第一行都可以缩进一个给定的长度(可以是负值)。
这个属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进 5 em:
p {text-indent: 5em;}
注意:一般来说,可以为所有块级元素应用 text-indent,但无法将该属性应用于行内元素。
提示:如果想把一个行内元素的第一行“缩进”,可以用左内边距或外边距创造这种效果。
使用负值
text-indent 还可以设置为负值。
p {text-indent: -5em; padding-left: 5em;}
注释:为了避免文本超出浏览器窗口的左边界,针对负缩进再设置一个外边距或一些内边距。
使用百分比值
text-indent 可以使用所有长度单位,包括百分比值。
<style> div {width: 500px;} p {text-indent: 20%;} </style> <div> <p>this is a paragragh</p> </div>
注释:百分数是相对于父元素的宽度,本实例中,缩进值是父元素的 20%,即 100 个像素。
继承
text-indent 属性可以继承,请考虑如下标记:
<style> div#outer {width: 500px;} div#inner {text-indent: 10%;} p {width: 200px;} </style> <div id="outer"> <div id="inner"> some text. some text. some text. <p>this is a paragragh.</p> </div> </div>
注释:本实例中段落也会缩进 50 像素,因为这个段落继承了 id 为 inner 的 div 元素的缩进值。
水平对齐
text-align 是一个基本的属性,它会影响一个元素中的文本行互相之间的对齐方式。
值 left、right 和 center 会导致元素中的文本分别左对齐、右对齐和居中。
西方语言都是从左向右读,所有 text-align 的默认值是 left。
而希伯来语和阿拉伯语之类的的语言,text-align 则默认为 right,因为这些语言从右向左读。
不出所料,center 会使每个文本行在元素中居中。
提示:将块级元素或表元素居中,要通过在这些元素上适当地设置左、右外边距来实现。
text-align:center 与 <CENTER>
您可能会认为 text-align:center 与 <CENTER> 元素的作用一样,但实际上二者大不相同。
<CENTER> 不仅影响文本,还会把整个元素居中。
text-align 不会控制元素的对齐,而只影响内部内容。元素本身不受影响,只影响其中的文本。
两端对齐文本 justify
水平对齐属性 justify,是两端对齐文本,文本行的左右两端都放在父元素的内边界上。
两端对齐文本在打印领域很常见,调整单词和字母间的间隔,使各行的长度恰好相等。
字间隔
word-spacing 属性可以改变字(单词)之间的标准间隔。
其默认值 normal 与设置值为 0 是一样的。
word-spacing 属性接受一个正长度值或负长度值。
如果提供一个正长度值,那么字之间的间隔就会增加。设置一个负值,会把它拉近:
<style> p.spread {word-spacing: 30px;} p.tight {word-spacing: -0.5em;} </style> <p class="spread"> This is a paragraph. The spaces between words will be increased. </p> <p class="tight"> This is a paragraph. The spaces between words will be decreased. </p>
字母间隔
letter-spacing 属性与 word-spacing 的区别是,字母间隔修改的是字符或字母之间的间隔。
与 word-spacing 属性一样,letter-spacing 属性的可取值包括所有长度。
默认关键字是 normal(等同 letter-spacing: 0)。输入的长度值会使字母之间的间隔增加或减少:
<style> h2 {letter-spacing: -0.5em} h5 {letter-spacing: 20px} </style> <h2>This is header 1</h2> <h5>This is header 4</h5>
字符转换
text-transform 属性处理文本的大小写。这个属性有 4 个值:
none:默认值,对文本不做任何改动,使用源文档中的原有大小写。
uppercase:将文本转换为全大写字符。
lowercase:将文本转换为全小写字符。
capitalize:只对每个单词的首字母大写。
实例:控制文本中字母的大小写
<html> <head> <style type="text/css"> h2 {text-transform: uppercase} p.uppercase {text-transform: uppercase} p.lowercase {text-transform: lowercase} p.capitalize {text-transform: capitalize} </style> </head> <body> <h2>This Is An H1 Element</h2> <p class="uppercase">This is some text in a paragraph.</p> <p class="lowercase">This is some text in a paragraph.</p> <p class="capitalize">This is some text in a paragraph.</p> </body> </html>
提示:使用 text-transform 有两方面的好处。
首先,只需写一个简单的规则来完成这个修改,而无需修改 h2 元素本身。
其次,如果您以后决定将所有大小写再切换为原来的大小写,可以更容易地完成修改。
文本装饰
text-decoration 属性提供了很多非常有趣的行为。text-decoration 有 5 个值:
none:none 值会关闭原本应用到一个元素上的所有装饰。
underline:underline 会对元素加下划线,就像 HTML 中的 U 元素一样。
overline:overline 的作用与 underline 恰好相反,会在文本的顶端画一个上划线。
line-through:在文本中间画一个贯穿线,等价于 HTML 中的 S 和 strike 元素。
blink:blink 会让文本闪烁,类似于 Netscape 支持的颇招非议的 blink 标记。
例如,链接默认地会有下划线。如果您希望去掉超链接的下划线,可以使用以下 CSS 代码:
a {text-decoration: none;}
可以在一个规则中结合多种装饰。如希望所有超链接既有下划线,又有上划线,则有:
a:link,a:visited {text-decoration: underline overline;}
注意,如果两个不同的装饰都与同一元素匹配,胜出规则的值会完全取代另一个值:
h3.stricken {text-decoration: line-through;} h3 {text-decoration: underline overline;}
注释:所有 class 为 stricken 的 h3 元素都只有一个贯穿线装饰,而没有下划线和上划线。
处理空白符
white-space 属性会影响到用户代理对源文档中的空格、换行和 tab 字符的处理。
通过使用该属性,可以影响浏览器处理字之间和文本行之间的空白符的方式。
值 normal
默认的 XHTML 处理已经完成了空白符处理:它会把所有空白符合并为一个空格。
所以在 Web 浏览器中显示时,各个字之间只会显示一个空格,同时忽略元素中的换行。
可以用以下声明显式地设置这种默认行为:
p {white-space: normal;}
注释:上面的规则告诉浏览器按照平常的做法去处理:丢掉多余的空白符。
提示:换行字符(回车)会转换为空格,一行中多个空格的序列也会转换为一个空格。
值 pre
如果将 white-space 设置为 pre,其行为就像 XHTML 的 pre 元素一样:
受这个属性影响的元素中,空白符不会被忽略,浏览器将会注意额外的空格,甚至回车。
值 nowrap
值 nowrap 会防止元素中的文本换行(换行字符会转换为空格),除非使用了一个 br 元素。
在 CSS 中使用 nowrap 类似于 HTML 4 中用 <td nowrap> 将一个表单元格设置为不能换行。
不过 white-space 值可以应用到任何元素。
值 pre-wrap 和 pre-line
属性值设置为 pre-wrap 时,浏览器不仅会保留空白符并保留换行符,还允许自动换行。
属性值设置为 pre-line 时,浏览器会保留换行符,并允许自动换行,但是会合并空白符。
总结 white-space 属性的行为:
值 空白符 换行符 自动换行 normal 合并 忽略 允许 nowrap 合并 忽略 不允许 pre 保留 保留 不允许 pre-wrap 保留 保留 允许 pre-line 合并 保留 允许
文本方向
如果您阅读的是英文书籍,就会从左到右、从上到下地阅读,这就是英文的流方向。不过,我们古汉语是从右到左来阅读的,当然还包括希伯来语和阿拉伯语等等。
direction 属性(默认值是 ltr)影响块级元素中文本的书写方向、表中列布局的方向、内容水平填充其元素框的方向、以及两端对齐元素中最后一行的位置。
direction 属性有两个值:ltr 和 rtl。大多数情况下,默认值是 ltr,显示从左到右的文本。如果显示从右到左的文本,应使用值 rtl。
注释:对于行内元素,只有当 unicode-bidi 属性设置为 embed 或 bidi-override 时才会应用 direction 属性。
实例
<html> <head> <style type="text/css"> div.one {direction: rtl} div.two {direction: ltr} </style> </head> <body> <div class="one">Some text. Right-to-left direction.</div> <div class="two">Some text. Left-to-right direction.</div> </body> </html>
行间距
line-height 属性设置行间的距离(行高),line-height 属性不允许使用负值。
normal:默认。设置合理的行间距。
number:设置数字,此数字会与当前的字体尺寸相乘来设置行间距。
length:设置固定的行间距。
%:基于当前字体尺寸的百分比行间距。
inherit:规定应该从父元素继承 line-height 属性的值。
p.small {line-height: 90%} p.big {line-height: 30px} p.small1 {line-height: 0.5} p.big1 {line-height: 2}
CSS 文本 属性及描述
color:设置文本颜色
direction:设置文本方向。
line-height:设置行高。
letter-spacing:设置字符间距。
text-align:对齐元素中的文本。
text-decoration:向文本添加修饰。
text-indent:缩进元素中文本的首行。
text-shadow:设置文本阴影。CSS2 包含该属性,但是 CSS2.1 没有保留该属性。
text-transform:控制元素中的字母。
unicode-bidi:设置文本方向。
white-space:设置元素中空白的处理方式。
word-spacing:设置字间距。
感谢你能够认真阅读完这篇文章,希望小编分享的“CSS如何定义文本的外观”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。