div里图片和文字同时存在的布局问题,谢谢了

<html>
<head>
<style>
.nav{width:120px; height:30px; font-size:18px; line-height:30px; background:red;}
</style>
</head>

<body>
<div class="nav">
<img src="top.png" width="20" height="20"/>
<span>加油</span>
</div>
</body>
</html>

这段代码是没有问题的,文字在盒子里水平是居中的,但是在style里加了这个样式后
img{margin-top:10px;}
图片是往下挪了,为什么文字也跟着往下挪了,不解,求教,谢谢啦

因为img和span都是行内元素,外边距是影响整块内容的。
如果只想移动img,可以给img加上如下样式:
img{ position: relative; top: 10px;}
就可以了。

span在imag下面,image的top变了,也就把span往下挤了,除非他俩分别在两个互不相关的div里,你用postion:absolute区定位

你把它们都当做一个容器,直接把它们的边框设置出来,就一目了然了。 飘过。。。

span被挤下去了。。。。用定位单独移动图片。。。