繁体   English   中英

如何在使div的子元素垂直浮动的同时保持左右浮动?

[英]How can I vertically-align child elements of a div while keeping them floated to the left and right?

我正在重写现有网站的部分内容,非常想清理一些内容。 当前,在父div中的某些子元素float (左和右)的地方,我必须使用margin-top: 7px; 将左浮动的子元素向下推一点,使其与右浮动的子元素内联。

我不喜欢这样

以下是我希望看到的:

预期结果

但这不是我所看到的。 相反,我看到了:

当前结果

因此,我尝试了一些尝试以查看是否可以修复它。 原始代码是:

<div id="bottomHeader">
    <p>Some slogan here</p>
    <ul id="SocialLinks">
        <li><a href="#"><img src="~/!/Assets/Images/Twitter.png" alt="" /></a></li>
        <li><a href="#"><img src="~/!/Assets/Images/Facebook.png" alt="" /></a></li>
    </ul>
</div>

#bottomHeader { width: 80%; margin: 0 auto; }
#bottomHeader > p { text-align: left; }
#bottomHeader > p { text-align: right; }

左右对齐,但p元素高于ul元素。 我意识到这是因为两个元素的默认宽度均为100%。 因此, p元素将ul元素推到其下方。

所以然后我只是想,如果我使两个元素的最大宽度都为50%,那就没问题了。 但是,不。 当我这样做时,ul元素(应该是右对齐的)出现在中间的某个地方(几乎好像是左对齐的)。 因此,我将代码更改为:

#bottomHeader { width: 80%; margin: 0 auto; }
#bottomHeader > p { width: 50%; float: left; }
#bottomHeader > p { width: 50%; float: right; }

哪个有效。 但是 ,现在父div(请参见上图的深蓝色矩​​形)的高度小于其子元素的高度,如下所示:

差不多了

但这还不太正确。 因为现在看起来div的子元素在其父div的外部和下方。 而且它还会破坏布局。


如何在使div的子元素垂直浮动的同时保持左右浮动?

也许display: inline-block是您想要的。

它使元素既充当块级框又充当内联级框。

像这样:

#bottomHeader { 
    width: 80%; 
    margin: 0 10% 0 10%; 
    background:pink; 
    display:inline-block;
    height: auto; 
}

样品

如何在<div>同时保持它在右边?</div><div id="text_translate"><p> 我不知道该怎么做,我试过使用 position,但它只是对齐到页面的中间,而不是 div。</p><p> 我试图在中间垂直对齐它。 </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-css lang-css prettyprint-override"> .img1 { float: right; width: 20%; margin-right: 200px; display: inline-block; vertical-align: middle; }.img1 { border-radius: 50%; border: 5px solid white }.container { width: 100%; height: 500px; background-color: black; display: inline-block; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;div class="container"&gt; &lt;img class="img1" src="https://via.placeholder.com/500.jpg"&gt; &lt;/div&gt;</pre></div></div><p></p></div>

[英]how can I vertically align this image within the <div> while keeping it to the right?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在<div>同时保持它在右边?</div><div id="text_translate"><p> 我不知道该怎么做,我试过使用 position,但它只是对齐到页面的中间,而不是 div。</p><p> 我试图在中间垂直对齐它。 </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-css lang-css prettyprint-override"> .img1 { float: right; width: 20%; margin-right: 200px; display: inline-block; vertical-align: middle; }.img1 { border-radius: 50%; border: 5px solid white }.container { width: 100%; height: 500px; background-color: black; display: inline-block; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> &lt;div class="container"&gt; &lt;img class="img1" src="https://via.placeholder.com/500.jpg"&gt; &lt;/div&gt;</pre></div></div><p></p></div> 无法在div中垂直对齐 如何在将项目保留在列中的同时对齐左侧项目? 如何将两个div对齐到右侧,同时保持它们向左对齐 如何垂直对齐 div 中的元素? 如何垂直居中 li 导航菜单但将其水平对齐到右侧,同时保持徽标图标水平对齐左和 ctrd vert? 使用 margin:auto 垂直对齐 div 如果左侧的另一个div导致它们堆叠,则将div垂直对齐 左右替代组中的浮动图像和文本在div的未知高度中垂直对齐中间 我怎样才能使左流动的立柱和浮动的右立柱垂直居中?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM