CSS
文字是网页中最基本的元素,一般用户不会很在意网站的文本样式,但是文字的设置是非常重要的,多种样式的文字能够加强网站的内容层次性,突出重点,使网页内容更加清晰合理。
这里将介绍文字与字体方面的某些特性及应用示例,由于字体的设置较为简单,但也值得重新温习下,本篇内容以示例代码为主进行介绍。

使用自定义字体

除IE外,目前主流的浏览器都支持.ttf 和 oft 两种字体。下面为示例代码的效果和代码:
常用CSS代码 | 文字与字体 - 图1

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>使用@font-face自定义字体</title>
  10. <style>
  11. @font-face
  12. {
  13. font-family: xujinglei;
  14. src: url('xujinglei.ttf')
  15. ,url('xujinglei.eot'); /* IE9+ */
  16. }
  17. div
  18. {
  19. font-family:xujinglei;
  20. font-size:18px;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div>
  26. 这段文字使用的是徐静蕾字体。
  27. </div>
  28. <br>
  29. 这段文字使用的是默认字体。
  30. </body>
  31. </html>

文本缩进和首字符下沉

经常会在报纸或杂志上看到首字下沉效果,这类效果,在网站上也会经常看到,示例效果和代码如下:
常用CSS代码 | 文字与字体 - 图2

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>段落首字符下沉、缩进及特殊显示</title>
  10. <style>
  11. #a{text-indent:15px;}
  12. #b{text-indent:-6px;}
  13. #c{text-indent:0.5em;}
  14. #a:first-letter{
  15. font-size:25px;
  16. color:#B23AEE;
  17. float:left;
  18. }
  19. #b:first-letter{
  20. font-size:30px;
  21. color:red;
  22. }
  23. #c:first-letter{
  24. font-size:25px;
  25. color:#B23AEE;
  26. }
  27. p.uppercase:first-letter
  28. {
  29. text-transform:uppercase;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <p id="a">
  35. 段落首字符下沉和15像素的缩进
  36. </p>
  37. <p id='b'>
  38. if -首字符不下沉、首字符英文小写和悬挂缩进(-6像素)
  39. </p>
  40. <p class="uppercase" id='c'>
  41. if 段落的首字符不下沉、首字母英文大写
  42. </p>
  43. </body>
  44. </html>

自定义文本被选中的样式

当鼠标选中网页上的文本时,默认样式为蓝底白字,CSS3中,这种样式可以自定义的。示例代码和效果如下:
常用CSS代码 | 文字与字体 - 图3

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>自定义文本选中样式</title>
  10. <style>
  11. ::selection
  12. {
  13. color:#9400D3;
  14. background:#A9A9A9;
  15. }
  16. ::-moz-selection
  17. {
  18. color:#9400D3;
  19. background:#A9A9A9;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. 自定义文本选中样式演示网页
  25. </body>
  26. </html>

文本对齐、间距

文本对齐是排版中常用的属性,由于不同语言的阅读习惯不同,对齐方式也不同,常用到的代码如示例代码:

  1. h1 {text-align: center}
  2. h2 {text-align: left}
  3. h3 {text-align: right}
  4. p.wordspacing{word-spacing:20px;}
  5. /* 设置空格的长度*/
  6. p.letterspacing{letter-spacing:20px;}
  7. /* 设置字间距*/
  8. p.lineheight{line-height:0.3;}
  9. /* 设置行间距*/
  10. p.whitespace_normal{white-space:normal;}
  11. /* 默认,忽略多个空格为1个,忽略回车符*/
  12. p.whitespace_pre{white-space:pre;}
  13. /* 保留多个空格*/
  14. p.whitespace_nowrap{white-space:nowrap;}
  15. /* 忽略回车符,禁止换行,直到遇到br*/
  16. p.whitespace_prewrap{white-space:pre-wrap;}
  17. /* 保留所有空格符与回车符*/
  18. p.whitespace_preline{white-space:pre-line;}
  19. /* 忽略多个空格为1个,保留回车*/

画线、粗体、斜体

CSS可以实现文本的装饰效果,下面的代码分别在文本的上边下边中间添加直线,具体效果如下:
常用CSS代码 | 文字与字体 - 图4

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>文本装饰</title>
  10. <style type="text/css">
  11. .overline{text-decoration:overline;}
  12. .through{text-decoration:line-through;}
  13. .underline{text-decoration:underline;}
  14. .blink{text-decoration:blink;}
  15. .bold{font-weight:bold;}
  16. .italic{font-style:italic;}
  17. .oblique{font-style:oblique;}
  18. </style>
  19. </head>
  20. <body>
  21. <p class="overline">文本装饰</p>
  22. <p class="through">文本装饰</p>
  23. <p class="underline">文本装饰</p>
  24. <p class="blink">文本装饰blink浏览器不支持</p>
  25. <p class="bold">粗体字</p>
  26. <p class="italic">italic斜体</p>
  27. <p class="oblique">oblique倾斜</p>
  28. 斜体(italic)是一种简单的字体风格,对每个字母的结构有一些小改动,来反映变化的外观。
  29. 倾斜(oblique)文本则是正常竖直文本的一个倾斜版本。
  30. 通常情况下,两种效果在浏览器中看上去完全一样。
  31. </body>
  32. </html>

阴影、毛玻璃、金属效果

  1. /*阴影效果*/
  2. h1
  3. {
  4. text-shadow: 5px 5px 5px #6600ff;
  5. }
  6. div
  7. {
  8. text-outline: thickness blur color;
  9. color:#ABABAB;
  10. text-shadow: 2px 2px 2px 2px #ABABAB,25px 25px 5px 5px #ABABAB;
  11. opacity:0.5;
  12. }
  13. div:hover
  14. {
  15. color:#000000;
  16. opacity:1;
  17. text-shadow: 0px 0px 0px #ABABAB;
  18. }

文本溢出处理

在工作中,为了保证设计的美观性,经常要处理文本内容超出容器范围的问题,常用的处理方式有:简单的裁剪,隐藏,隐藏并省略号显示,使用滚动条,示例代码如下:

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>Document</title>
  10. <style>
  11. div.elli{
  12. border:1px solid;
  13. overflow:hidden; /*超出部分隐藏*/
  14. white-space:nowrap;/*强制在一行显示*/
  15. text-overflow:ellipsis;
  16. width:200px;
  17. height:20px;
  18. }
  19. div.clip
  20. {
  21. border:1px solid;
  22. overflow:hidden; /*超出部分隐藏*/
  23. white-space:nowrap;/*强制在一行显示*/
  24. text-overflow:clip;
  25. width:200px;
  26. height:20px;
  27. }
  28. div.hide
  29. {
  30. overflow:hidden;
  31. border:1px solid;
  32. width:200px;
  33. height:50px;
  34. }
  35. div.scroll
  36. {
  37. overflow:scroll;
  38. border:1px solid;
  39. width:200px;
  40. height:50px;
  41. }
  42. </style>
  43. </head>
  44. <body>
  45. <div class="clip">如果此处的文字较多,将自动裁切裁切裁切裁切</div>
  46. <br>
  47. <div class="elli"><a href="#">如果此处的文字较多,将自动用省略号代替!</a></div>
  48. <br>
  49. <div class="hide">如果此处的文字较多,将自动隐藏!如果此处的文字较多,将自动隐藏!如果此处的文字较多,将自动隐藏!如果此处的文字较多,将自动隐藏!如果此处的文字较多,将自动隐藏!</div>
  50. <br>
  51. <div class="scroll">如果此处的文字较多,将出现滚动条!如果此处的文字较多,将出现滚动条!如果此处的文字较多,将出现滚动条!</div>
  52. </body>
  53. </html>

常用字体栈

1、基于Times New Roman的字体风格

font-family: Cambria, “Hoefler Text”, Utopia, “Liberation Serif”, “Nimbus Roman No9 L Regular”, Times, “Times New Roman”, serif;

2、基于现代Georgia的字体风格

font-family: Constantia, “Lucida Bright”, Lucidabright, “Lucida Serif”, Lucida, “DejaVu Serif,” “Bitstream Vera Serif”, “Liberation Serif”, Georgia, serif;

3、基于Garamond的更传统的风格

font-family: “Palatino Linotype”, Palatino, Palladio, “URW Palladio L”, “Book Antiqua”, Baskerville, “Bookman Old Style”, “Bitstream Charter”, “Nimbus Roman No9 L”, Garamond, “Apple Garamond”, “ITC Garamond Narrow”, “New Century Schoolbook”, “Century Schoolbook”, “Century Schoolbook L”, Georgia, serif;

4、基于 Helvetica/Arial的字体风格

font-family: Frutiger, “Frutiger Linotype”, Univers, Calibri, “Gill Sans”, “Gill Sans MT”, “Myriad Pro”, Myriad, “DejaVu Sans Condensed”, “Liberation Sans”, “Nimbus Sans L”, Tahoma, Geneva, “Helvetica Neue”, Helvetica, Arial, sans-serif;

5、基于Verdana的字体风格

font-family: Corbel, “Lucida Grande”, “Lucida Sans Unicode”, “Lucida Sans”, “DejaVu Sans”, “Bitstream Vera Sans”, “Liberation Sans”, Verdana, “Verdana Ref”, sans-serif;

6、基于Trebuchet的字体风格

font-family: “Segoe UI”, Candara, “Bitstream Vera Sans”, “DejaVu Sans”, “Bitstream Vera Sans”, “Trebuchet MS”, Verdana, “Verdana Ref”, sans-serif;

7、更为深度的“Impact”字体风格

font-family: Impact, Haettenschweiler, “Franklin Gothic Bold”, Charcoal, “Helvetica Inserat”, “Bitstream Vera Sans Bold”, “Arial Black”, sans-serif;

8、monospace字体风格

font-family: Consolas, “Andale Mono WT”, “Andale Mono”, “Lucida Console”, “Lucida Sans Typewriter”, “DejaVu Sans Mono”, “Bitstream Vera Sans Mono”, “Liberation Mono”, “Nimbus Mono L”, Monaco, “Courier New”, Courier, monospace;

9、中文常用风格

font-family: Helvetica, Tahoma, Arial, STXihei, “华文细黑”, “Microsoft YaHei”, “微软雅黑”, SimSun, “宋体”, Heiti, “黑体”, sans-serif;