为什么布局中要想vertical-align起效果必须设置line-height

为什么布局中要想vertical-align起效果必须设置line-height

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/ui.css">
<title>无标题文档</title>
</head>

<body>
<!--top区域-->
<div class="top">
	<div class="wrap clearfixed">
		<div class="top-left"> 
			<img src="img/icon-call.png" alt="telephone">
			<span>010-114/116114电话预约</span>
		</div>
		<div class="top-right">
			<span>欢迎来到城市预约挂号统一平台&nbsp;请</span>
			<span>登录</span>
			<span>注册</span>
			<span>帮助中心</span>
		</div>
	</div>
</div>
<!--head区域-->
<div class="head">
	<div class="wrap clearfixed">
		<div class="head-left">
			<img src="img/logo.png" alt="logo">
		</div>
		<div class="head-right">
			<img src="img/ui-search.jpg" alt="search">
		</div>
	</div>
</div>
</body>
</html>
@charset "utf-8";
/* CSS Document */
*{margin: 0;padding: 0;}
.wrap{width: 1000px;margin: 0 auto;position: relative;}
.clearfixed {zoom: 1;}
.clearfixed::after {display: block;clear: both;content: "";}
/*top区域*/
.top{background-color: #f5f5f5;width: 100%;height: 30px;line-height: 30px;font-size: 12px;}
.top-left{float: left;}
.top-left img{display: inline-block;width: 20px;height: 20px;vertical-align: sub;}
.top-left span{color: #868686;}
.top-right{float: right;}
.top-right span{color: blue;}
.top-right span:nth-child(1){color: #868686;}
.top-right span:nth-child(2){margin-left: 32px;cursor: pointer;}
.top-right span:nth-child(3){margin-left: 20px;cursor: pointer;}
.top-right span:nth-child(4){margin-left: 78px;cursor: pointer;}
/*head区域*/
.head{width: 100%;height: 90px;line-height: 90px;}
.head-left{float: left;}
.head-left img{height: 90px;}
.head-right{float: right;}
.head-right img{display: inline-block;vertical-align: middle;width: 326px;height: 38px;}

.top-left img和.head-right img

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,图片的底线和文字的基线是对齐显示的,可以结合四线三格理解,第三条线是基线,第四条线是底线。设置line-height属性,大概是图片底部在垂直中间,大部分情况下需要结合vertical-align属性让图片中心在垂直中间显示,用在img上较多,记住这种使用方法就好。

祝学习愉快!

  • 迷失的小麦 提问者 #1
    老师,我知道四线三格,但是那是用vertical-align设置的,我想问的是没有line-height的时候vertical-align不起作用是什么原因
    2020-01-29 18:02:45
bbbboom 2020-01-29 20:22:39

基线的原因吧,给你分享一个https://www.jianshu.com/p/dea069fecb62

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师