您的位置:首页 > Web前端 > CSS

如何利用CSS代码使图片和文字在同一行显示且对齐

2015-08-12 11:23 701 查看
对于初学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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: