对于初学css的新手朋友来说,经常会遇到这样一个问题,当文字和图片出现在同一行或者同一个div里面的时候,在浏览器中运行出来的显示效果往往是在不同的行,那么,我们怎么才能利用CSS代码使图片和文字在同一行显示且对齐呢?
对于这种现象,方法有3种:
1、通过添加css的“vertical-align:middle;”;
2、如果图片是背景图片,可以在css中设置背景图片,然后设置文字的padding属性;
3、把文字和图片分别放入不同的div中。
经过多次的测试,上面三种方法都可以让图片和文字在同一行显示,下面马海祥就用实例来为大家操作一下:
1、在css中给div添加上“vertical-align:middle”属性
有些朋友会发现,如果一行内容中有图片有文字的话,文字往往会自动的底部对齐,影响美观,那如何让它们相对于垂直居中呢,很简单,就是在图片和文字所在的行中添加CSS属性:vertical-align:middle;这样,它们在同一行就会垂直居中对齐了。
在此,马海祥就用“注册、登陆、找回密码”这个在实际运用中经常遇到的情况还做实例,把“注册”和“登陆”做成图片,“找回密码”设置成文字。
html代码如下:
<div id="denglu">
<img src="reg.gif">
<img src="login.gif">
<a href="#">找回密码</a>
</div>
css代码如下:
#denglu *{
vertical-align:middle; /* 居中对齐, */
font-size:14px;
}
在浏览器中运行后的效果图如下:
使用css的“vertical-align:middle”属性让图片和文字在同一行对齐是一种非常常用的方法,也是比较利于代码优化和精简的一种方法(具体可查看马海祥博客《网站CSS代码优化的7个原则》的相关介绍),希望大家可以掌握。
2、把图片设置为背景图片
如果我们的图片本身是一个背景图片的话,可以在css中使用“background”来设置该图片,然后设置文字的padding属性就可以使他们在同一行显示了。
html代码如下:
<div id="denglu">
<div id="zhaohuimima"><a href="#">找回密码</a></div>
</div>
css代码如下:
#denglu {
background:url(login.gif) no-repeat left center;
}
#zhaohuimima{
font-size:14px;
padding-left:50px;
}
我们在css中设置了背景图片,然后又设置了文字的padding-left属性,这样,图片和文字就在同一行显示了,运行结果就不切图了,你可以自己试一下。
3、把文字和图片分别放入不同的div中
下面说下最后一种方法,分别把图片和文字放入不同的div中,然后用“margin”属性进行定位,就可以使他们显示在同一行了。
html代码如下:
<div id="denglu">
<div id="zhuce"> <img src="reg.gif"/>
<div id="zhaohuimima"><a href="#">找回密码</a></div>
</div>
css代码如下:
#zhaohuimima{
font-size:14px;
margin-top:-16px;
padding-left:50px;
}
在浏览器中运行以后,你会发现,这个方法也可以让图片和文字在同一行显示,但是看起来好像麻烦了一点,所以个人还是比较推荐第一种方法的。
转自:http://www.mahaixiang.cn/css/1149.html