line-height 3种设置方式的区别
前言 :平常写CSS习惯性的写 line-height: 1.5em ,也见过类似 line-height: 1.5 , line-height: 150% 这种写法,但是从来没有想过这三者有什么区别,最近突然看到有人提到这个问题,很感兴趣,于是查资料自己尝试了一下。 首先有一点要明确的是,line-height是具有继承性的,如果直接在某个元素上使用line-height,那么这三种写法是没有区别的,比如给所有的p标签添加行高属性: 最后的效果是一样的。 这三种方式的区别在于,给父元素设置行高的时候子元素的继承方式。 假如我们有一个父div类名为parent1,另一个父div类名为parent2,均包含了一个类名为child的子div,HTML结构如下: CSS如下: 此时的页面如下截图: 可以看到,当设置 line-height: 1.5em 时,很明显子div的文字已经超出自己的行高范围了,设置 line-height: 1.5 时子div的文字没有超出自己的行高。 这是由于CSS继承时的计算方式区别造成的,如示例,当我们给类名为parent1的父div设置 line-height:1.5em 时,该div的 font-size 为14,此时经过计算父div的 line-height 为14px*1.5=21px,然后子div的 line-height 就会继承21px这个值,而子div的 font-size 为26px,自然会超出自己的行高范围。 而当我们给类名为parent2的父div设置 line-height:1.5 时,子div会直接继承 line-height:1.5 ,然后计算26px*1.5=39px,不会超出自己的行高范围。 经过测试 line-height: 150% 和 line-height: 1.5em 相同,都是先计算然后把固定的行高继承给子元素,所以我们可以总结一下, 继承line-height的时候,带单位的先计算再继承,不带单位的直接继承 。 以上就是我对line-height这个属性一点浅显的认识。 参考资料: http://www.cnblogs.com/fengzheng126/archive/2012/05/18/2507632.html
CSS中line-height与height的区别?
区别如下:1、定义不同:line-height是行高的意思,height则是定义元素自身的高度。2、表示意义不同: line-height用来表示容器的高度,height用来表示这一容器内的每行文字的高度。3、使用范围不同:line-height只针对行元素,height针对其他所有元素。4、针对对象不同:line-height一般针对字体来设置,如果一行文字在DIV里面,且行高等于高度的话,则文字会垂直居中。heigh一般用来设置文字外围的DIV容器。5、height是对于某个框架或者图片来弄的。line-height用于文字,如果要实际效果你可以写一段文字,分好几行,然后对它做line-height属性,就会注意到变化了。扩展资料:CSS语言特点CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。总体来说,CSS具有以下特点:1、丰富的样式定义CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。2、易于使用和修改CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。如果要修改样式,我们只需要在样式列表中找到相应的样式声明进行修改。3、多页面应用CSS样式表可以单独存放在一个CSS文件中,这样我们就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。4、层叠简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果。5、页面压缩在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。另外,CSS样式表的复用更大程序的缩减了页面的体积,减少下载的时间。 参考资料:百度百科-CSS