• CSS(5)文本


      上一篇文章学习了CSS背景,本篇来学习CSS文本。背景(background)和文本(text)一后一前,相互渲染,从而呈现出页面内容。背景就像是画布,而文本就是我们在画布上绘制的文字线条。CSS 文本属性主要包括文本颜色(color)、字符间距(letter- spacing)、对齐文本(text-align)、装饰文本(text-decoration)和文本缩进(text-indent)等,下面分别学习。

    一、文本颜色

      CSS使用color 属性设置文本颜色(前景色)。color属性设置了一个元素的前景色(在 HTML 表现中,就是元素文本的颜色);光栅图像不受 color 影响。color属性还会应用到元素的所有边框(border),除非被 border-color 或另外某个边框颜色属性覆盖。color属性的取值可以为颜色名、十六进制的颜色值或rgb值。 以下是一个color属性的示例:

    /*设置整个body的文本颜色为红色(颜色名)*/
    body
      {
      color:red;
      }
    /*一级标题为绿色(十六进制颜色值)*/
    h1
      {
      color:#00ff00;
      }
    /*段落为蓝色(rgb值)*/
    p
      {
      color:rgb(0,0,255);
      }

    二、文本缩进

      像Word中的首行缩进效果一样,我们也可以使用CSS中的文本缩进(text-indent)属性,实现Web 页面上的段落等块级元素的首行缩进,这是一种最常用的文本格式化效果。 text-indent属性可以应用于所有块级元素,但无法应用于行内元素(提示:如果想把一个行内元素的第一行“缩进”,可以用左内边距或外边距创造这种效果)。text-indent 属性的取值可以是一个给定的长度值(length)、百分比(%),甚至该长度可以是负值,还可以从父元素继承。

      1.使用固定值(length)

      text-indent使用固定值的默认取值为0,可以使用px、em、cm和in等长度单位。text-indent属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进 5 em:

    p {text-indent: 5em;}

       2.使用百分比(%)
     
      text-indent使用百分比定义时,是定义基于父元素宽度(width)的百分比的缩进。比如将text-indent的值设置为 20%,所影响元素的第一行会缩进其父元素宽度的 20%。在下例中,元素,(<p></p>)的缩进值是父元素(<div></div>)的 20%,即 100 个像素:

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

      3.使用负值

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

    p {text-indent: -5em;}

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

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

      4. text-indent属性的继承

      text-indent 属性可以继承,比如以下标记中的段落也会缩进 50 px,因为这个段落继承了 id 为 inner 的 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>

    三、水平对齐
      text-align 属性规定元素中的文本的水平对齐方式。该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式。text-indent属性的取值可以为左对齐(left)、右对齐(right)或居中对齐(center),还允许用户代理调整行内容中字母和字之间的间隔,从而支持值 justify(两端对齐);不同用户代理可能会得到不同的结果。

      text-align属性的默认值:如果 direction 属性是 ltr(left to right),则默认值是 left;如果 direction 是 rtl(right to left),则为 right。 

    h1 {text-align:center}
    h2 {text-align:left}
    h3 {text-align:right}

      块级元素的居中:要将块级元素或表元素居中,可以通过在这些元素上适当地设置左、右外边距(margin)来实现。

       text-align:center 与 <center></center>元素的区别:

      有时我们可能会认为 text-align:center 与 <center></center> 元素的作用一样,但实际上二者大不相同。<center></center> 不仅影响元素中的文本,还会把整个元素居中。text-align 不会控制元素的对齐,而只影响内部内容。元素本身不会从一段移到另一端,只是其中的文本受影响。

    四、字间距

      word-spacing 属性增加或减少单词间的空白(即字间隔)。该属性定义元素中字之间插入多少空白符。 这个属性中的“字” 定义为由空白符包围的一个字符串。如果指定为长度值,会调整字之间的通常间隔;所以,normal 就等同于设置为 0。允许指定负长度值,这会让字之间挤得更紧。

    <html>
    <head>
    <style type="text/css">
      /*class为spread的段落的字间距为30像素*/
      p.spread {word-spacing: 30px;}
     /*class为tight的段落的字间距为-0.5em*/
      p.tight {word-spacing: -0.5em;}
    </style>
    </head>
    <body>
    <p class="spread">This is some text. This is some text.</p>
    <p class="tight">This is some text. This is some text.</p>
    </body>
    </html>

    五、字符间距

      letter-spacing 属性设置文本中字母之间的间距,与 word-spacing 的区别在于,字母间隔(letter-spacing)修改的是字符或字母之间的间隔;而字间距(word-spacing)修改的是字(单词)之间的间距。

      与 word-spacing 属性一样,letter-spacing 属性的可取值包括所有长度。默认关键字是 normal(这与 letter-spacing:0 相同)。输入的长度值会使字母之间的间隔增加(正值)或减少(负值)指定的量:

    h1 {letter-spacing: -0.5em}
    h4 {letter-spacing: 20px}
    <h1>This is header 1</h1>
    <h4>This is header 4</h4>

    六、字符大小写转换
      text-transform 属性处理文本的大小写。text-transform属性有 4 个取值:none、uppercase、lowercase和capitalize。默认值为 none,表示 对文本不做任何改动,将使用源文档中的原有大小写。 uppercase 和 lowercase 将文本转换为全大写和全小写字符。最后,capitalize 只对每个单词的首字母大写。

      作为一个属性,text-transform 可能无关紧要,不过如果您突然决定把所有 h1 元素变为大写,这个属性就很有用。不必单独地修改所有 h1 元素的内容,只需使用 text-transform 为你完成这个修改:

    h1 {text-transform: uppercase}

    七、文本装饰

       text-decoration 属性设置添加到文本的修饰。 这个属性允许对文本设置某种效果,如加下划线。如果后代元素没有自己的装饰,祖先元素上设置的装饰会“延伸”到后代元素中。   

      text-decoration 的取值有五个:none(无装饰,并且会关闭掉原本应用到元素上的所有装饰),underline(为元素加下划线),overline(为元素加上划线),line-through(为元素加删除线),blink(让文本闪烁,类似于word中的发光字)。 例如,链接默认地会有下划线。如果您希望去掉超链接的下划线,可以使用以下 CSS 来做到这一点: 

    a {text-decoration: none;}

    八、空白符的处理

      white-space 属性设置如何处理元素内的空白。这个属性声明建立布局过程中如何处理元素中的空白符。值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的。

      white-space属性的取值:

      1.normal:默认值,空白会被浏览器忽略。 

      2.pre:空白会被浏览器保留,其行为方式类似 HTML 中的 <pre> 标签。

      3.nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。  

      4.pre-wrap:保留空白符序列,但是正常地进行换行。

      5.pre-line:合并空白符序列,但是保留换行符。

      6.inherit:规定应该从父元素继承 white-space 属性的值。
       示例:

    /*规定段落中的文本不进行换行*/
     p
      {
      white-space: nowrap
      }

    九、文本方向

      如果我们阅读的是英文书籍或现代汉语,就会从左到右(ltr)、从上到下地阅读,这就是英文和现代汉语的流方向。不过,并不是所有语言都如此。我们知道古汉语就是从右到左(rtl)来阅读的,当然还包括希伯来语和阿拉伯语等等。CSS2 引入了一个属性来描述其方向性。

      direction 属性影响块级元素中文本的书写方向、表中列布局的方向、内容水平填充其元素框的方向、以及两端对齐元素中最后一行的为止。对于行内元素,只有当 unicode-bidi 属性设置为 embed 或 bidi-override 时才会应用 direction 属性。

      direction 属性有两个值:ltr 和 rtl。大多数情况下,默认值是 ltr,显示从左到右的文本。如果显示从右到左的文本,应使用值 rtl。

     1 <html>
     2 <head>
     3 <style type="text/css">
     4 /*设置class=one的div的文本显示放心为从右向左*/
     5 div.one
     6 {
     7   direction: rtl
     8 }
     9 /*设置class=two的div的文本显示放心为从左到右*/
    10 div.two
    11 {
    12   direction: ltr
    13 }
    14 </style>
    15 </head>
    16 <body>
    17     <div class="one">Some text. Right-to-left direction.</div>
    18     <div class="two">Some text. Left-to-right direction.</div>
    19 </body>
    20 </html>

    参考:http://www.w3school.com.cn/css/css_text.asp

  • 相关阅读:
    返回一个一维整数数组中最大子数组的和02
    软工作业04四则运算网页版
    所有子数组的和的最大值
    学习进度表(第五,六周)
    学习进度表(第四周)
    四则运算2的单元测试
    《构建之法》阅读笔记02
    软工作业03
    单元测试练习
    学习进度表(第三周)
  • 原文地址:https://www.cnblogs.com/sunyunh/p/2657833.html
Copyright © 2020-2023  润新知