CSS苦逼学习日记(8)
vertical-align全部可使用的属性:
vertical-aligin: baseline | sub | super | top | text-top | middle | bottom | text-bottom | length
下表为大部分的描述:
值 | 描述 |
---|---|
baseline | 默认。元素放置在父元素的基线上。 |
sub | 垂直对齐文本的下标。 |
super | 垂直对齐文本的上标 。 |
top | 把元素的顶端与行中最高元素的顶端对齐 .。 |
text-top | 把元素的顶端与父元素字体的顶端对齐。 |
middle | 把此元素放置在父元素的中部。 |
bottom | 把元素的顶端与行中最低的元素的顶端对齐。 |
text-bottom | 把元素的底端与父元素字体的底端对齐。 |
inherit | 规定应该从父元素继承 vertical-align 属性的值。 |
% | 使用 “line-height” 属性的百分比值来排列此元素。允许使用负值。 |
使用场景:解决图片底部默认空白缝隙的问题
bug:图片地测会有一个空白缝隙,原因是行内块元素会和文字的基线对其。
主要解决方法有两种:
1.给图片添加vertical-align:middle|top|bottom等属性(提倡使用的)
2.把图片转换为块级元素 display:block;
vertical-align 它只影响行内元素和行内块元素,不影响块级元素等,所以它最主要的是拿来使文字和图片对其,不让文字超过图片,影响其美观
以下为各个案例的主要代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
border: 2px solid red;
}
img {
vertical-align: 这里填middle,top等属性,自行设置体会;
}
</style>
</head>
<body>
<div>
<img src="../../images/yzfc.jpg" alt="">宇宙飞船
</div>
</body>
</html>
1.当使用了 middle属性:
文字会和图片进行居中对齐
2.当使用了bottom属性:
文字或字母的最低端会和图片的最低端的部分对齐
3.当时用了top属性:
文字或字母的最顶端会和图片的最顶端的部分对齐
其余的各种属性可以根据设置属性自行观察得出结果