慕课张鑫旭,笔记之veritical-align整理

1、vertical-align   垂直对齐

    线类:baseline top  middle bottom

   文本类 :  text-top  text-bottom

   上标下标类 : sub super

    数值百分比类 : 20px 2em 20% ...    都支持负值  (只有margin,letter-spacing,word-spacing  , vertical-align)

                              行为表现一致     百分比值相对于行高计算  (ie7 不支持小数line-height)

2、vertical-align起作用的前提

    应用于inline水平以及‘table-cell’元素。

   inline: img , span , strong , em ,未知元素

   inline-block : input , button  

   table-cell   元素    table-cell  <td>

   默认状态下:  图片, 按钮, 文字,单元格

3、display : 更改元素的显示水平

      css声明,也会更改元素的显示水平

  1、 实例

没有任何的反应,默认p为block元素,应该设置img为垂直居中,或者改变p

  2、实例

垂直居中了,设置图片为block,则没有效果了

3、css申明间接改变display水平

    默认图片垂直居中,

    此时设置图片左浮动,文字失效

加在p上面,图片近似垂直居中

 

实现了图片,文字,居中显示

3、vertical-align 与line-height   垂直对齐与行高

      1、百分比值是相对于行高计算的

      2、对于内联元素,veitical-align与line-height虽然看不见,但实际上到处都是

     图片后面有个空白节点:vertical-align : baseline ; line-height:1.5;font-size:24px;

   此时font-size为24px; 高度就是24*1.5 就是36  然后还有baseline到bottom的距离

解决办法:

   1、display: block ; margin : auto;

   2、改变vertical-align的对齐方式 :  vertical-align : bottom  就行

   3、改变行高为(line-height) 0;

   4、改变font-size 为0;

基本现象衍生:(近似)垂直居中

    vertical-align : middle ; line-height : 36px;  基本都支持

      不这样的话,是不会起作用的

复杂现象

      text-align : justify 任意数目列表两端对齐效果

      基线原理:

主要的原因是,没有文字默认为空的,有文字基线上面的文字,然后围绕文字下方

如果设置盒子的行高为0 ,又会往下掉一点,字符位于中间

4、vertical-align线类属性值深入理解

      vertical-align : bottom   inline/inline-block元素,元素底部和整行的底部对齐

                                            table-cell元素:单元格底padding边缘和表格行的底部对齐

      vertical-align : middle    inline/inline-block元素:元素的垂直中心点和父元素基线上1/2 x-height对齐

                                           table-cell元素 : 单元格填充盒子相对于外面的表格行居中对齐

  5、为啥是近似垂直居中

        容器由行高决定,字符有下沉特性(主要原因)

        解决办法:font-size 设置为0;都在一条线

6、深入理解vertical-align文本类属性值

     1、vertical-align:text-top   盒子的顶部和父级content area 的顶部对齐(父级字体大小有关系

     2、vertical-align : text-bottom 盒子的底部和父级content area 的底部对齐(父级字体大小有关系

    与行高没有任何关系,与后面的文字也没有关系

使用背景  :  表情元素  , 

 7、vertical-align 上标下标类

      <sup>  <sub> 

           vertical-align: super   :  提高盒子的基线到父级合适上标基线位置

           vertical-align:sub : 降低盒子的基线到父级合适下标基线位置 

     实际用途:  没有

8、vertical-align前后不一的行为表现

    相邻元素不同的vertical-align的行为表现是

    

近似垂直居中: 

表示

这样实现完全垂直居中   

结论:关注当前元素和父级,前后并没有直接影响

9、vertical-align糟糕的兼容性

     ie6/7

     更高    ie下图文一体了

                middle的解释有问题

10、vertical-align的实际应用

        1、小图标和文字的对齐

    1、默认基线对齐,负值的解析

 

    2、不定尺寸图片或多行文字的垂直居中

         1、主体元素inline-block 化

         2、0 宽度100%高度辅助元素

         3、vertical-align: middle ;

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值