关于css中line-height(行高)设置无效的问题
我们先写下这一串代码:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style type="text/css">.head{height: 100px;text-align: center;line-height: 100px;/* 设置行高,让字体居中 */background: #333;/* 设置整个背景为黑色,便于观察字体 */color: red;font:700 18px simsun;/* 对字体进行设置 */}</style></head><body><div class="head">你好,西南石油大学。</div></body></html>
然后在浏览器中打开看看效果:
我们发现在垂直方向,字体并没有在盒子的中间显示。
然后我们把设置行高那条语句放在设置字体(font)的下面:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style type="text/css">.head{height: 100px;text-align: center;background: #333;/* 设置整个背景为黑色,便于观察字体 */color: red;font:700 18px simsun;/* 对字体进行设置 */line-height: 100px;/* 设置行高 */}</style></head><body><div class="head">你好,西南石油大学。</div></body></html>
然后用浏览器打开:
字体就成功地跳到中间去啦~~~~~
总结:在用css对行高进行设置时,line-height的属性必须在font的下面,否则无效!
.8.21补:
仔细地看了一下font属性的说明,font属性会对font-style;font-variant;font-weight;font-size/line-height;font-family这几个属性进行设置,其中字体大小和字体系列是必须设定的,未设置的属性会使用其默认值。
在本例中,如果先对line-height值进行设定,再使用font属性,font属性会把line-height属性置为normal(因为我没有在font属性中指定line-height的值),就导致了这个问题。