html - 尝试水平对齐 div 旁边的图像并将其居中

标签 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;
}

最佳答案

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

您需要在要居中的元素之前创建一个空跨度。 这个空跨度将被称为 Centerer。 给 Centerer display:inline-block;高度:100%;垂直对齐:中间; 对于你想要居中的元素,给出 display:inline-block;垂直对齐:中间;

就这么简单。

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

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

编辑2

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

关于html - 尝试水平对齐 div 旁边的图像并将其居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18518773/

相关文章:

javascript - 避免 dxChart 中的系列点重叠

javascript - 在预加载器文本中添加链接

css - 显示 - 在 <li> 上带有 div 的文本侧图像

css - 框中字体字形的 WebKit 与 Mozilla 垂直对齐

html - 棘手的垂直对齐中心与CSS

javascript - 带有表格排序器的表格标题中的多行

html - 在简单的幻灯片放映旁边使用 MultiItem Bootstrap Carousel SlideShow

html - 如何通过 CSS 将图像缩放到原始大小?

javascript - 如何将事件处理程序分配给多个元素 (colorPicker)

具有向右浮动和可变行高的 CSS 垂直对齐拼图