【问题标题】:Trying to horizontally align and center an image next to a div尝试在 div 旁边水平对齐和居中图像
【发布时间】:2013-09-02 08:22:30
【问题描述】:

希望有一种方法可以使我的标题图像居中并水平对齐,并将我的社交媒体和声明放在旁边的 div 中。对于我的生活,我无法弄清楚。

您会看到,在社交 div 中,我的链接彼此相邻,但我不知道如何简单地完成所有这些居中操作。代码如下:

<header>
<a href="index.html"><img class="imghdr" src="images/logo.png" alt="SWC Marketing logo" width="358" height="90"/></a>
<div id="social">
<p style="color:white;">My Social Handle</p>
<a href="http://www.twitter.com/scottieclifton" target="_blank"><img class="twitter" src="images/social/media/twitter_bx.png" alt="twitter" border="0" width="40" height="40"></a>
<a href="http://www.facebook.com/scottwclifton" target="_blank"><img class="facebook" src="images/social/media/facebook_bx.png" alt="facebook" border="0" width="40" height="40"></a>
<a href="http://www.linkedin.com/in/swcmarketing" target="_blank"><img class="linkedin" src="images/social/media/linkedin_bx.png" alt="linkedin" border="0" width="40" height="40"></a> 
<a href="https://plus.google.com/u/0/107873413246089179835/posts" target="_blank"><img class="google" src="images/social/media/googleplus_bx.png" border="0" alt="googleplus"  width="40" height="40"></a>              
</div>
</header>

CSS:

header {
    margin:10px auto 0px auto;
    background-color:blue;
    line-height: 0px;
    text-align:center;
    clear:both;
    position:relative;
    }

.hdrimg {
    display:block;
    font-family: arial, helvetica, sans-serif;
    font-size: 12pt;
    font-style: italic;
    font-weight: regular;
    letter-spacing: 1px; 
    background-color: red;
    float:left;
    }


#social {
    text-align:center;
    margin: 0px;
    padding: 0px;
    vertical-align:middle;
    background-color:red;
    float:right;
    }

img.twitter{
    position:absolute;
    top:0px;
    left:0px; 
}   
img.facebook{
    position:absolute;
    top:40px;
    left:40px; 
}       
img.linkedin{
    position:absolute;
    top:40px;
    left:0px; 
}       
img.google{
    position:absolute;
    top:0px;
    left:40px; 
}   

#social p{
    display:inline-block;
    vertical-align:middle;
    position:absolute;
    top: 25px;
    left: 80px;
}

【问题讨论】:

  • 您是否担心旧版浏览器?像IE7?内嵌块或表格单元格可能会起作用。
  • 我个人不想要表格单元格。我不太关心IE7。

标签: html css vertical-alignment alignment


【解决方案1】:

在其他元素中垂直居中元素总是相同的技巧。 看看here

您需要在要居中的元素之前创建一个空跨度。 这个空的 span 将被称为 Centerer。 给居中者display:inline-block; height:100%; vertical-align:middle; 对于要居中的元素,请提供display:inline-block; vertical-align:middle;

就这么简单。

编辑: 此方法不会让您指定任何静态宽度(px,甚至 %)。 所以你的布局非常灵活。

现在您可以垂直对齐所有内容中的任何内容.. 您可以创建一个简单的布局来解决您的标题问题。

编辑 2

我已经为您创建了布局。 如您所见..它是一个非常简单的方法(我正在使用垂直对齐技巧)。 http://jsfiddle.net/avrahamcool/N5Q2W/2/ 现在采用这个基本布局,并将您的 css 应用到它。

【讨论】:

  • 我的#social 卡在左下角。我希望带有 .hdrimg 的 #social 到 HORIZONTALLY 中心。 .hdrimg 工作正常。
  • 我为你制作了一个小提琴。 jsfiddle.net/avrahamcool/N5Q2W/2 这是您需要的基本布局.. 改进它以拥有完整的功能。
  • 并且:您的问题也被标记为“水平对齐”,正如我在回答中所说的那样。一旦您涵盖了水平对齐的内容,剩下的就很容易了。你的布局充满了缺陷。
猜你喜欢
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
相关资源
最近更新 更多