给nav加了右浮动为什么元素会被挤出contiain?还有logo区的图片文字如何垂直居中

给nav加了右浮动为什么元素会被挤出contiain?还有logo区的图片文字如何垂直居中

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
<title>IMOOC</title>
<link rel="stylesheet" href="h5.css">
</head>
<body>
<!--  在此完成网页的HTML代码-->
<header>
<div class="contain">
<div class="logo">
<a href="#">
<img src="http://img1.sycdn.imooc.com/climg//582e5f160001b17100400040.png" alt="">
</a>
<a href="#"><span>MTMOOC</span></a>
</div>
<nav>
<a href="#" class="active">123456</a>
<a href="#">123456</a>
<a href="#">123456</a>
<a href="#">123456</a>
<a href="#">123456</a>
</nav>
</div>
</header>
</body>
</html>
*{
	margin: 0;
	padding:0;
}
header{
	height: 100px;
	background-color: black;
}
.contain{

}
.logo{
	height: 100px;
	width: 300px;
	vertical-align: middle;
}
nav{
	float:right;
	height: 100px;
	width: 300px;
	
	
	line-height: 100px;
	text-align: center;
}
header nav a{
	text-decoration: none;
	display: block;
	height:90px;
	
	float: left;
}

header nav a:nth-child(1){
	background-color: yellow;

}
header nav a:nth-child(2){
	background-color: skyblue;
}
header nav a:nth-child(3){
	background-color: orange;
}

header nav a:nth-child(4){
	background-color: blue;
}
header nav a:nth-child(5){
	background-color: red;
}
header .active,header a:hover{
	padding-bottom: 10px;

}


正在回答 回答被采纳积分+1

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

2回答
好帮手慕星星 2019-05-10 19:24:39

你好,同学问的是修改之前还是修改之后的呢?

修改之前是因为logo占据了一整行,所以导航设置了右侧浮动,因为上面占据着位置,所以不会显示在header上面。

修改之后导航就覆盖了header哦。

可以再测试下,祝学习愉快!

好帮手慕星星 2019-05-10 10:59:37

你好,代码中的问题:

1、虽然右侧导航设置了浮动,但是左侧logo是块元素,还是占据一行的,要想显示在一行,左侧logo也是需要设置浮动的。

2、图片垂直居中显示就行,文字会跟着一起下落,可以设置margin-top值。

参考修改:

http://img1.sycdn.imooc.com//climg/5cd4e9090001a6ca04910368.jpg

其他样式可以再美化一下。

祝学习愉快!

  • 提问者 慕移动0023355 #1
    老师,我还想问个问题 ?加了浮动的右导航栏,为什么不会盖住header,我记得浮动不是脱离标准流的吗
    2019-05-10 16:52:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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