前端基础问题:CSS vertical-align 属性

CSS vertical-align 属性与基线的那些事~

优惠券网站 https://m.cps3.cn/

定义和用法:

vertical-align 属性设置元素的垂直对齐方式。

vertical-align只对内联元素(inline、inline-block、inline-table)、表格单元格元素(table-cell)生效。

说明:

该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。

允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

默认值:baseline
继承性:no
版本:CSS1
JavaScript 语法:object.style.verticalAlign="bottom"

可能的值:

描述
baseline默认。元素放置在父元素的基线上。
sub垂直对齐文本的下标。
super垂直对齐文本的上标
top把元素的顶端与行中最高元素的顶端对齐
text-top把元素的顶端与父元素字体的顶端对齐
middle把此元素放置在父元素的中部。
bottom把元素的顶端与行中最低的元素的顶端对齐。
text-bottom把元素的底端与父元素字体的底端对齐。
length 
%使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。
inherit规定应该从父元素继承 vertical-align 属性的值。

使用:

在使用vertical-align 属性时要了解清楚基线这个念。

基线:

    基线的位置并不是固定的。

  •  在文本之类内联元素中,基线是‘ 默认值:baseline ’的下边缘位置

<div>
    <span>默认值:baseline</span>
</div>

    细心的朋友应该会发现,文本内容与盒子上下边之间存在着空隙。这是因为内联元素存在默认行高,而空隙正是被这默认行高撑开的。

  •  img元素基线也是下边缘。

 <div>
        默认值:baseline
       <img src="images/0.gif" alt="">
       <img src="images/0.gif" alt="">
 </div>

    img元素下边的空隙是要和父元素的基线看齐造成的,而与第二张img之间的空隙是:它们之间存在回车、换行或者空格(解决办法1、解决办法2)

  • inline-block元素中,如果该元素内没有内联元素或者overflow不是visible,其基线就是margin的边缘。

<div>
    123<span style="line-height: 50px;">默认值:baseline</span>  
    <img src="images/0.gif" alt="">
    <span style="display: inline-block; overflow: hidden;height: 80px;">xxx</span> 
</div>

小结:每个行内元素的基线都要向父元素字体基线看齐。当父元素或子元素的行高和字体大小样式改变的时候,会使得父元素基线位置改变,从而使得行内元素的位置整体上下移动。

父元素默认line-height和font-size的存在,也有可能会悄悄地影响布局。

 

前端小白,有哪些不足的地方,还请大家多多指教!

 
 

————————————————
资料参考:

CSDN作者:「651423」
原文链接:https://blog.csdn.net/u013007731/article/details/79242619

CSDN作者:「℡鞋子~特大号」
原文链接:https://blog.csdn.net/weixin_43599212/article/details/107584461

简书作者:「Iam_Bling」
原文链接:https://www.jianshu.com/p/ce7e4a997a2c

博客园作者:「lylszo」

原文链接:https://www.cnblogs.com/lylszo/p/12622391.html

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值