HTML 学习笔记 CSS样式(文本)

时间:2023-03-09 09:21:10
HTML 学习笔记 CSS样式(文本)

CSS文本属性可以定义文本的外观

通过文本属性 您可以改变文本的颜色 字符间距 文本对齐装饰文本 对文本进行缩进等等。


缩进文本

把web页面上的段落的第一行缩进,这是最常用的文本格式化效果。

css 提供了text-indent属性 该属性可以方便的实现文本缩进。

通过 text-indent属性 所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以为负值。

这个属性最常见的用途是将段落的首行缩进,下面的规则会是所有短路的首行缩进5em

p {text-indent: 5em;}

注意:一般来说可以为所有的块级元素添加text-indent 但无法将此属性应用于行内元素 图像之类的替换元素也无法应用text-indent属性。不过,如果一个块级元素(比如段落),在首行终有一个图像。他会随着该行的其余文本移动。

提示:如果想把一个行内元素的第一行缩进,可以用做那边句或外边距创造出这种效果。

使用负值

text-indent可以使用负值,利用这种技术 可以实现很多有趣的效果  比如 悬挂缩进  即第一行悬挂在元素中余下部分的左边:

p {text-indent: -5em;}

不过在为 text-indent 设置负值时要当心,如果对一个段落设置了负值,那么首行的某些文本可能会超出浏览器窗口的左边界。为了避免出现这种显示问题,建议针对负缩进再设置一个外边距或一些内边距:

p {text-indent: -5em; padding-left: 5em;}

使用百分比值
text-indent 可以使用所有长度单位,包括百分比值。
百分数要相对于缩进元素父元素的宽度。换句话说,如果将缩进值设置为 20%,所影响元素的第一行会缩进其父元素宽度的 20%。
在下例中,缩进值是父元素的 20%,即 100 个像素:

div {width: 500px;}
p {text-indent: %;} <div>
<p>this is a paragragh</p>
</div>

继承

text-indent 属性可以继承,请考虑如下标记:

div#outer {width: 500px;}
div#inner {text-indent: %;}
p {width: 200px;} <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

在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。您也许已经注意到了,两端对齐文本在打印领域很常见。

字间隔

word-spacing 属性 可以改变单词之间的标准间隔 其默认值normal与设置值为0 是一样的。

word-sapcing属性接受一个正长度值或者负长度值。如果提供一个正长度值 那么字之间的间隔就会增加 为 word-spacing设置一个负值 会把它拉近

p.spread {word-spacing: 30px;}
p.tight {word-spacing: -.5em;} <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 相同)。输入的长度值会使字母之间的间隔增加或减少指定的量:

h1 {letter-spacing: -.5em}
h4 {letter-spacing: 20px} <h1>This is header </h1>
<h4>This is header </h4>

字符转换

text-transform属性处理文本的大小写 这个属性有四个值:

none

uppercase

lowercase

capitalize

默认值none对文本不做任何改动 将使用源文本中的源有大小写。uppercase和lowercase分别是大写和小写 capitalize只对每个单词的首字母大写。

文本装饰

文本装饰属性就是text-decoration。它又下面几个值

none

underline

overline

line-through

blink

不出所料,underline 会对元素加下划线,就像 HTML 中的 U 元素一样。overline 的作用恰好相反,会在文本的顶端画一个上划线。值 line-through 则在文本中间画一个贯穿线,等价于 HTML 中的 S 和 strike 元素。blink 会让文本闪烁,类似于 Netscape 支持的颇招非议的 blink 标记。

处理空白符

white-space属性会影响用户代理对源文本中的空格 华航 和 tab字符的处理

通过使用该属性,可以影响浏览器处理字之间和文本行之间的空白符的方式。从某种程度上讲,默认的 XHTML 处理已经完成了空白符处理:它会把所有空白符合并为一个空格。所以给定以下标记,它在 Web 浏览器中显示时,各个字之间只会显示一个空格,同时忽略元素中的换行:

<p>This     paragraph has    many
spaces in it.</p>
p {white-space: normal;}

HTML 学习笔记 CSS样式(文本)

例子:

1.设置文本颜色

demo.css
body {
color: red;
}
h1 {
color: green;
} p.ex {
color: blue;
}
demo.html
<head>
<meta charset="UTF-8">
<title>颜色</title>
<link rel="stylesheet" type="text/css" href="CSS/demo.css" />
</head>
<body>
<h1>这是 heading 1</h1>
<p>这是一段普通的段落。请注意,该段落的文本是红色的。在 body 选择器中定义了本页面中的默认文本颜色。</p>
<p class="ex">这是另一段文本 通过class索引设置样式</p> </body>

2:设置文本的背景颜色

demo.css
p span {
background-color: yellow;
}
demo.html
<head>
<meta charset="UTF-8">
<title>背景颜色</title>
<link rel="stylesheet" type="text/css" href="CSS/demo.css" />
</head>
<body>
<h1>设置文本的背景颜色</h1>
<p>这是一段我精心准备的文本 <span>这些会包含在内敛元素span内 会有背景颜色</span>之外的这些没有颜色</p>
<div>
这是一个块元素 也被<span>span包含 但是不会有背景色</span>
</div> </body>

3:规定字符间距

demo.css
p.big {
letter-spacing: 2em;
}
p.small {
letter-spacing: -0.5em;
}
demo.html
<head>
<meta charset="UTF-8">
<title>规定字符间距</title>
<link rel="stylesheet" type="text/css" href="CSS/demo.css" />
</head>
<body>
<p class="big">tianlianfeng</p>
<p class="small">tianlianfeng</p>
</body>

4.对齐文本

<style type="text/css">
h1 {text-align: center}
h2 {text-align: left}
h3 {text-align: right}
</style>
</head> <body>
<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
</body>

5:修饰文本

<head>
<meta charset="UTF-8">
<title>规定字符间距</title>
<style type="text/css">
p.underline {
text-decoration: underline;
}
p.overline {
text-decoration: overline;
}
p.linethrough {
text-decoration: line-through;
}
p.none {
text-decoration: none;
}
/*事实证明对p是没效果的*/
p.blink {
text-decoration: blink;
}
</style>
</head>
<body>
<p class="underline">这段标题下面有下划线</p>
<p class="overline">这段话上面又一个线</p>
<p class="linethrough">中间穿过一条线</p>
<p class="none">没有任何效果</p>
<p class="blink">会闪烁据说</p>
</body>

6:缩进文本

<style type="text/css">
p {text-indent: 1cm}
</style>
</head> <body>
<p>
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
这是段落中的一些文本。
</p>
</body>

7:控制字符大小写

<head>
<meta charset="UTF-8">
<title>控制大小写</title>
<style type="text/css">
p.uppercase {
text-transform: uppercase;
}
p.lowercase {
text-transform: lowercase;
}
p.capitalize {
text-transform: capitalize;
}
h1 {
text-transform: uppercase;
}
</style>
</head>
<body>
<h1>This Is An H1 Element</h1>
<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>

8:增加单词间的间距

<head>
<meta charset="UTF-8">
<title>单词间距</title>
<style type="text/css">
p.big {
word-spacing: 1cm;
}
p.small {
word-spacing: -0.5cm;
}
</style>
</head>
<body>
<p class="big">this is tianlianfeng</p>
<p class="small">this is tianlianfeng</p>
</body>

控制折行

<head>
<meta charset="UTF-8">
<title>单词间距</title>
<style type="text/css">
p {
/*保留折行 和空格*/
/*white-space: pre-wrap;*/
/*没有空格和折行*/
/*white-space: nowrap;*/
/*忽略空白符 保留折行*/
white-space: pre-line;
}
</style>
</head>
<body>
<p>
这是一些文本。 这是一些文本。
这是一些文本。 这是一些文本。
这是一些文本。
这是一些文本。 这是一些文本。 这是一些文本。
</p>
</body>