首页 > 开发 > CSS > 正文

深入理解css中vertical-align属性

2024-07-11 08:58:21
字体:
来源:转载
供稿:网友

一、为什么要写这篇文章

今天看到一个问题:

两个div 都设置 display:inline-block,正常显示;但是在第二个div中加一个块级元素或者内联元素,显示就变了个样,为什么?

<meta charset="utf-8"/><style>div{    width: 100px;    height: 100px;    border:1px solid red;    display: inline-block;}.align{/*    vertical-align: top;*/}</style><body>    <div>    </div>    <div class="align">为什么?</div></body>

解决方案就是给第二个div加上:vertical-align:top。

关于vertical-align和基线我知道一点,但是这个问题我没能答出,所以学习总结分享一下。

二、vertical-align干什么的?

w3c有一段相关信息如下:

 

'vertical-align'Value:      baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inheritInitial:      baselineApplies to:      inline-level and 'table-cell' elementsInherited:      noPercentages:      refer to the 'line-height' of the element itselfMedia:      visualComputed value:      for <percentage> and <length> the absolute length, otherwise as specified

可以看到vertical-align影响inline-level元素和table-cell元素垂直方向上的布局。根据MDN描述,vertical-align对::first-letter和::first-line同样适用。

适用于:

inline水平的元素  

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

inline-block:<input>(IE8+),<button><IE8+>....

'table-cell'元素

table-cell:<td>

所以默认情况下,图片,按钮,文字和单元格都可以用vertical-align属性。

取值:


复制代码
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表