zoukankan      html  css  js  c++  java
  • line-height

    line-height
    所有浏览器都支持 line-height 属性。

    1. 定义和用法
    line-height 属性设置行间的距离(行高)。不允许使用负值。
    2. 说明
    该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。
    line-height 与 font-size 的计算值之差(在 CSS 中成为“行间距”)分为两半,分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。
    原始数字值指定了一个缩放因子,后代元素会继承这个缩放因子而不是计算值。
    3. 取值
    normal:默认。设置合理的行间距。
    number:设置数字,此数字会与当前的字体尺寸相乘来设置行间距。
    length:设置固定的行间距。
    % :基于当前字体尺寸的百分比行间距。
    inherit:规定应该从父元素继承 line-height 属性的值。
    行高还有一个特性,叫做垂直居中性。当块级元素中只有单行文字,我们可以使用line-height等于元素高度来使文字垂直居中。

     1 <style>
     2     .single_line {
     3         padding-left: 5px;
     4         margin-top: 10px;
     5         margin-bottom: 20px;
     6     line-height: 30px;
     7     border: 1px dashed #cccccc;
     8     }
     9 </style>
    10 
    11 <p class="single-line">
    12     这是高度为30像素的单行文字
    13 </p>

    顺便提一下多行文字的垂直居中:要实现高度不固定的文字垂直居中使用padding就可以。而对于高度固定的div,里面文字单行或多行显示,且字体有大有小,其中一种方法就是使用line-height。

     1 <style>
     2     i {
     3         font-style: normal;
     4     }
     5     .multi-line {
     6         margin-top: 10px;
     7     padding-left: 5px;
     8         line-height: 150px;
     9         border: 1px dashed #cccccc;
    10         font-size: 0;
    11     }
    12     .multi-line span {
    13         display: inline-block;
    14         line-height: 1.4em;
    15         vertical-align: middle;
    16     }
    17     .inline-block {
    18         display: inline-block;
    19     }
    20     .vm {
    21         vertical-align: middle;
    22     }
    23 </style>
    24 
    25 <p class="multi-line">
    26     <span style="font-size:12px;">这里是高度为150像素的标签内的多行文字,文字大小为12像素。<br>这里是第二行,用来测试多行的显示效果。</span>
    27     <i class="vm inline-block">&nbsp;</i>
    28 </p>
    29 <p class="multi-line">
    30     <span style="font-size:20px;">这里是高度为150像素的标签内的多行文字,文字大小为20像素。<br>这里是第二行,用来测试多行的显示效果。</span>
    31     <i class="vm inline-block">&nbsp;</i>
    32 </p>

    4. line-height百分比:

    line-height百分比在面试中可能经常问到。例如你知道line-height:120%和line-height:1.2的区别吗?

    下面就说一下行高带单位和不带单位的区别,例如下面的例子:

    line-height:26px; 表示行高为26个像素
    line-heigth:120%;表示行高为当前字体大小的120%
    line-height:2.6em; 表示行高为当前字体大小的2.6倍
    带单位的行高都有继承性,其子元素继承的是计算值,如父元素的字体大小为14px,定义行高line-height:2em;则计算值为 28px,不会因其子元素改变字体尺寸而改变行高。(例如:父元素14px,子元素12px,那么行高就是28px,子元素虽然字体是12,行高还是父元素的行高)

    line-height:2.6;表示行高为当前字体大小的2.6倍
    不带单位的行高是直接继承,而不是计算值,如父元素字体尺寸为14px,行高line-height:2;他的行高为28px;子元素尺寸为12px,不需要再定义行高,他默认的行高为24px。(例如:子元素12px,他的行高是24,不会继承父元素的28)

  • 相关阅读:
    构建乘积数组
    数组中重复的数字
    把字符串转换成整数
    不用加减乘除做加法
    求1+2+3+...+n
    孩子们的游戏(圆圈中最后剩下的数)
    翻转单词顺序列
    扑克牌顺子
    左旋转字符串
    ES6必知必会 —— Module
  • 原文地址:https://www.cnblogs.com/yeqrblog/p/6525666.html
Copyright © 2011-2022 走看看