【问题标题】:vertically align left aligned text with right aligned image将左对齐文本与右对齐图像垂直对齐
【发布时间】:2012-02-24 22:17:59
【问题描述】:

我正在设计一个流动布局的移动网站。作为标题,我有一个居中的 div,其中包含“text-align:right;”,其中包含我的徽标。然后另一个 div 设置为“float:left;”这个包含我的网站标题。

我希望文字与徽标垂直对齐,而文字保持左对齐,徽标保持右对齐,我该如何实现?

相关位的剥离代码:

<div id="wrapper">

<div id="title">
    <h3>My title</h3>
</div><!--end title-->

<div id="logo">
    <img src="images/logo.jpg" alt="Logo" class="logo" />
</div><!--end logo-->

CSS:

html, body{
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: Arial, Helvetica, sans-serif;
}
img.logo{
    width: 96px;
    height: 41px;

}

#wrapper{
    min-height: 100%;
}

#title{
    float: left;
    padding: 0.5em 0 0.5em 10%;
}

#logo{
    width: 90%;
    margin: 0 auto;
    text-align: right;
    padding: 0.5em;
}

非常感谢!

【问题讨论】:

  • 你的代码看起来不错 i FF:jsfiddle.net/sLd3K你用的是什么浏览器?
  • 火狐 3.6。它确实有效。但是,我希望文本垂直对齐到徽标的中间。
  • 这个问题你解决了吗?

标签: image html text alignment


【解决方案1】:

你可以像这样使用text-align: justify

div {
  text-align: justify;
  line-height: 100px;
  height: 100px;
  background: gold;
}

img, span {
  display: inline-block;
  vertical-align: middle;
}

div:after {
  content: '';
  display: inline-block;
  width: 100%;
}
<div>
  <span>test</span>
  <img src=http://placehold.it/100x50>
</div>

Demo on Codepen

【讨论】:

  • 如果它解决了您的问题,您能接受这个答案吗?谢谢