尝试在div旁边水平对齐并居中图像

时间:2013-08-29 18:45:15

标签: html css vertical-alignment alignment

我希望有一种方法可以将我的标题图像居中并水平对齐,并将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;
}

1 个答案:

答案 0 :(得分:0)

对于其他元素中的垂直居中元素,它始终是相同的技巧。 看看here

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

就这么简单。

修改 此方法不会指定任何静态宽度(px,甚至%)。 所以你的布局保持非常灵活。

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

修改2

我为你创建了你的布局。 正如你所看到的......它是一个非常简单的(我正在使用垂直对齐技巧)。 http://jsfiddle.net/avrahamcool/N5Q2W/2/ 现在采用这种基本布局,并将其用于它。