羽扇轻摇

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  通过CSS文本属性可以定义文本的颜色,字符间距,对齐文本,装饰文本,对文本进行缩进,等等.

  缩进文本

  text-indent属性:定义文本首行缩进,就是在首行文字之前插入指定长度,长度可以是负值.
  把 Web 页面上的段落的第一行缩进,这是一种最常用的文本格式化效果.
  这个属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进 5 em:

  p {text-indent: 2em;}

  1em 等于一个汉字的位置,也等于2个字母的位置.

  注意:一般来说,可以为所有块级元素应用 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: 20%;}

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

  继承

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

  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>

  以上标记中的段落也会缩进 50 像素,这是因为这个段落继承了 id 为 inner 的 div 元素的缩进值.

  水平对齐

  文本的水平对齐方式用text-align属性来实现,它会影响一个元素中的文本行互相之间的对齐方式.
  text-align不能将块级元素或表元素居中,要通过在这些元素上适当地设置左、右外边距来实现。

  text-align:left   文本水平方向左对齐.默认左对齐.
  text-align:center   文本水平方向居中对齐.
  text-align:left   文本水平方向右对齐.

  字间隔


  word-spacing 属性可以改变字(单词)之间的标准间隔.其默认值 normal 与设置值为 0 是一样的。
  word-spacing 属性可以是一个正长度值或负长度值.如果提供一个正长度值,那么字之间的间隔就会增加.为 word-spacing 设置一个负值,会把它拉近.

  p.spread {word-spacing: 30px;}
  p.tight {word-spacing: -0.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.

  字母间隔

  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 属性处理文本的大小写。这个属性有 4 个值:

      none:默认,不改动.
      uppercase:全大写.
      lowercase:全小写.
      capitalize:首字母大写.

  默认值 none 对文本不做任何改动,将使用源文档中的原有大小写。顾名思义,uppercase 和 lowercase 将文本转换为全大写和全小写字符。最后,capitalize 只对每个单词的首字母大写。

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

  h1 {text-transform: uppercase}

  使用 text-transform 有两方面的好处。首先,只需写一个简单的规则来完成这个修改,而无需修改 h1 元素本身。其次,如果您以后决定将所有大小写再切换为原来的大小写,可以更容易地完成修改。

  文本装饰

   text-decoration 属性,定义文本是否有划线以及划线的方式.text-decoration 有 5 个值:
      none--默认值.不做任何修改正常显示文本.
      underline--给文本定义下划线.
      overline--给文本定义上划线.
      line-through-给文本定义中划线.
      blink--定义闪烁文本,IE浏览器无效.

  处理空白符

  用white-space属性定义文本换行的方式.有3个值.

  white-space:normal;     默认文本到达边界自动换行.
  white-space:pre;            代码是什么样子,输出就是什么样子.
  white-space:nowrap;    强制文本在一行,除非<br />,否则不换行.

  设置行高

  行高用line-height属性定义

  该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。

  该属性没有负值.

posted on 2012-11-26 09:40  羽扇轻摇  阅读(170)  评论(0编辑  收藏  举报