CSS 文本--样式

1.缩进文本【text-indent】

p {text-indent: 5em;} 

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

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

使用负值

p {text-indent: -5em;}

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

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

使用百分比值

div {width: 500px;}
p {text-indent: 20%;}

<div>
<p>this is a paragragh</p>
</div>

继承

div#outer {width: 500px;}
div#inner {text-indent: 10%;}
p {width: 200px;}

<div id="outer">
<div id="inner">some text. some text. some text.
<p>this is a paragragh.</p>
</div>
</div 

2.水平对齐【text-align】

影响一个元素中的文本行互相之间的对齐方式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>水平对齐</title>
    <style type="text/css">
        div{
            height: 200px;
            width: 300px;
            border: solid 1px #000000;
            text-align: center;
        }
    </style>
</head>
<body>
    <div>我在哪?</div>
</body>
</html>
水平对齐

3.字间隔【word-spacing】

默认值 normal 与设置值为 0 是一样的。

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

所有浏览器都支持 word-spacing 属性。

注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字间距</title>
    <style type="text/css">
        p{word-spacing: -1em;}
    </style>
</head>
<body>
<p>This is some text. This is some text.</p>
</body>
</html>
字间距

inherit  规定应该从父元素继承 word-spacing 属性的值。【未能理解】

4.字母间隔【letter-spacing】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字母间距</title>
    <style type="text/css">
        h1 {letter-spacing: -0.5em}
        h4 {letter-spacing: 20px}
    </style>
</head>

<body>
<h1>我是谁</h1>
<h4>This is header 4</h4>
</body>
</html>
字母间距

所有浏览器都支持 word-spacing 属性。

注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

inherit  规定应该从父元素继承 word-spacing 属性的值。【未能理解】

5.字符转换【text-transform】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字符转换</title>
<style type="text/css">
  h1 {text-transform: none}
  p.uppercase {text-transform: uppercase}
  p.lowercase {text-transform: lowercase}
  p.capitalize {text-transform: capitalize}
</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>

</html>
字符转换

6.文本装饰【text-decoration】

注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

注释:IE、Chrome 或 Safari 不支持 "blink" 属性值。【不太理解blink

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文本装饰</title>
    <style type="text/css">
        h1 {text-decoration: overline}
        h2 {text-decoration: line-through}
        h3 {text-decoration: underline}
        h4 {text-decoration:blink}
        a {text-decoration: none}
    </style>
</head>

<body>
<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
<h4>这是标题 4</h4>
<p>这是标题 4</p>
<p><a href="http://www.w3school.com.cn/index.html">这是一个链接</a></p>
</body>

</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文本装饰</title>
    <style type="text/css">
        h1 {text-decoration: overline}
        h2 {text-decoration: line-through}
        h3 {text-decoration: underline}
        h4 {text-decoration:blink}
        a {text-decoration: none}
    </style>
</head>

<body>
<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
<h4>这是标题 4</h4>
<p>这是标题 4</p>
<p><a href="http://www.w3school.com.cn/index.html">这是一个链接</a></p>
</body>

</html>
文本装饰

还可以在一个规则中结合多种装饰。如果希望所有超链接既有下划线,又有上划线,则规则如下:

a:link a:visited {text-decoration: underline overline;}

7.处理空白符【white-space】

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>处理空白符</title>
    <style type="text/css">
        p {white-space: normal;}
    </style>
</head>

<body>

<p>This     paragraph has    many
    spaces           in it.</p>
<p>注释:当 white-space 属性设置为 normal 时,会合并所有的空白符,并忽略换行符。</p>
</body>
</html>
处理空白符

不过,如果将 white-space 设置为 pre,受这个属性影响的元素中,空白符的处理就有所不同,其行为就像 XHTML 的 pre 元素一样;空白符不会被忽略。

如果 white-space 属性的值为 pre,浏览器将会注意额外的空格,甚至回车。在这个方面,而且仅在这个方面,任何元素都可以相当于一个 pre 元素。

值 nowrap和值 pre-wrap 和 pre-line【不懂】

8.文本方向【direction】

direction 属性规定文本的方向 / 书写方向。

该属性指定了块的基本书写方向,以及针对 Unicode 双向算法的嵌入和覆盖方向。不支持双向文本的用户代理可以忽略这个属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文本方向</title>
    <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>
View Code

注释:对于行内元素,只有当 unicode-bidi 属性设置为 embed 或 bidi-override 时才会应用 direction 属性。

unicode-bidi 属性设置文本的方向。

normal    元素不会对双向算法打开附加的一层嵌套。对于行内元素,顺序的隐式重排会跨元素边界进行。

embed    如果是一个行内元素,这个值对于双向算法会打开附件的一层嵌套。这个嵌套层的方向由 direction 属性指定。

bidi-override  这会为行内元素创建一个覆盖。对于块级元素,将为不在另一块中的行内后代创建一个覆盖。这说明,顺序重排在元素内部严格按照 direction 属性进行;【不懂

 

posted @ 2019-07-13 14:32  C_XingM  阅读(114)  评论(0编辑  收藏  举报