A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈君 金牌黑马   /  2014-8-6 18:07  /  869 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1.line-height
可以给某个元素指定一个不带单位的缩放因子,这样它的后代元素就会继承这个缩放因子,再根据自身的字号大小来计算自己的行高(line-height)值,

  1. body {
  2. font-size: 12px;
  3. line-height: 1.5;
  4. }
  5. h1 {
  6. font-size: 36px;
  7. }
复制代码

这里,body 的 line-height 是 18px(12 * 1.5),而 h1 的 line-height 则是 54px(36 * 1.5)。
就算使用 em,百分比等相对单位,后代元素继承的仍然是计算后的行高(line-height)值,比如把上面的 body 行高改成 1.5em,那么 h1 的行高就会继承这个值 18px。
2.text-decoration
文本修饰是非继承类属性,给 body 元素设置为 none,并不会影响到后代中默认有文本修饰的元素,例如超链接,所以如果要去掉超链接的默认下划线还是需要单独进行设置,

  1. a {
  2. text-decoration: none;
  3. }
复制代码

虽然该属性默认不继承,但是祖先元素上设置的修饰会“延伸”到后代元素中,

  1. <DIV class=blockcode>
  2. <BLOCKQUOTE>
  3. <P>
  4. <p>我有下划线 <span>我咋会有下划线呢?</span></p></P>
  5. <DIV class=blockcode>
  6. <BLOCKQUOTE>
  7. p {
  8. color: red;
  9. text-decoration: underline;
  10. }
  11. p span {
  12. color: green;
  13. text-decoration: none;
  14. }
复制代码




这里的下划线是 p 元素的。

  1. p {
  2. color: red;
  3. text-decoration: underline;
  4. }
  5. p span {
  6. color: green;
  7. text-decoration: underline;
  8. }
复制代码


由于文本修饰属性的延伸会造成一些兼容性的问题,所以
最好的做法就是给需要修饰的文本单独设置 text-decoration 属性。
3.text-indent
可以使用该属性给每个段落首行缩进2个字符,而不是使用空格,

  1. <P><IMG border=0 alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=51005&size=300x300&key=a52701c0a647065e&nocache=yes&type=fixnone" aid="attachimg_51005"></P>
  2. <P>也可以指定一个负数的值,产生首行悬挂的效果</P>
  3. <P><IMG border=0 alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=51006&size=300x300&key=2b64dfd482fcd5e6&nocache=yes&type=fixnone" aid="attachimg_51006"></P>
  4. <P>让引号悬挂也是一种常用做法,</P>
  5. <P><IMG border=0 alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=51007&size=300x300&key=5338e5d42c6912dd&nocache=yes&type=fixnone" aid="attachimg_51007"></P>
  6. <P>让文本缩进到一个足够远的地方,可以让文字消失,</P>
  7. <P>text-indent: -9999px;</P>
  8. <P> 因此,通常的图像替换文字常用方法,</P>
  9. <DIV class=blockcode>
  10. <BLOCKQUOTE>
  11. .logo {
  12. background: url(logo.png) no-repeat;
  13. display: inline-block;
  14. height: 36px;
  15. text-indent: -9999px;
  16. width: 72px;
  17. }
复制代码

IE6/7 并不真正支持 inline-block,某些情况下可能会导致 .logo 消失不见,可以使用浮动或者 block 替代 inline-block,不过两者都会改变布局方式,也可以使用其它方法。
4.text-overflow
通常情况下,长串的URL地址,在超出容器时会溢出,我们可以设定当文本溢出包含容器时显示省略符号,

  1. li {
  2. overflow: hidden;
  3. text-overflow: ellipsis;
  4. }
复制代码

必须配合 overflow: hidden; 一起使用;有时候可能还得加上一个宽度,比如IE 6,
对于那些默认情况下并不会溢出的文本,需要强制其在一行内显示,这样才能产生效果,

  1. li {
  2. overflow: hidden;
  3. text-overflow: ellipsis;
  4. white-space: nowrap;
  5. width: 100%; /* for IE 6 */
  6. }
复制代码

使用 white-space: pre; 或者 word-break: keep-all; 也能强制文本在一行显示,不过各有各的问题。
在 IE 8/9 中,有时候会发现没有效果,那有可能是祖先元素中某个元素设置了word-wrap: break-word; 而该属性会表现得比 white-space: nowrap; 更强势,所以,有时候还得加上下面代码,
word-wrap: normal;
5.text-shadow
在非白色背景的深色文字上,可以实现漂亮的内嵌效果,

  1. text-shadow: 0 1px 0 rgba(255,255,255,.75);
复制代码

可以给文本添加多个阴影,用逗号分隔,
  1. text-shadow: 0 1px 0 #fff, 0 2px 0 #ddd, 0 3px 0 #ddd, 0 4px 0 #ddd;
复制代码



33.png (2.88 KB, 下载次数: 17)

33.png

34.png (11.64 KB, 下载次数: 22)

34.png

35.png (1.51 KB, 下载次数: 38)

35.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马