我如何用CSS垂直集中一个 <div> 在另一个 <div> 中?
<div id="outer">
<div id="inner">Foo foo</div>
</div>
我如何用CSS垂直集中一个 <div> 在另一个 <div> 中?
<div id="outer">
<div id="inner">Foo foo</div>
</div>
当前回答
好吧,我找到了一个可能适合所有情况的解决方案,但使用JavaScript:
这里是结构:
<div class="container">
<div class="content">Your content goes here!</div>
<div class="content">Your content goes here!</div>
<div class="content">Your content goes here!</div>
</div>
此分類上一篇: JavaScript snippet:
$(document).ready(function() {
$('.container .content').each( function() {
container = $(this).closest('.container');
content = $(this);
containerHeight = container.height();
contentHeight = content.height();
margin = (containerHeight - contentHeight) / 2;
content.css('margin-top', margin);
})
});
如果你想用它在一个响应性方法,你可以添加以下:
$(window).resize(function() {
$('.container .content').each( function() {
container = $(this).closest('.container');
content = $(this);
containerHeight = container.height();
contentHeight = content.height();
margin = (containerHeight - contentHeight) / 2;
content.css('margin-top', margin);
})
});
其他回答
福克斯
此分類上一篇: <div id="outer"> <div id="inner">Foo foo</div> </div>
文本编辑:中心
應用文本順序:中心的內線內容集中在線框內. 但是,因為內部 div 有默定的寬度: 100% 你必須設定一個特定的寬度或使用下列之一:
显示: 区块 显示: 内线 显示: 内线 区块
此分類上一篇: <div id="outer"> <div id="inner">Foo foo</div> </div>
使用边界: 0 auto 是另一个选项,它更适合较老的浏览器兼容性。
此分類上一篇: <div id="outer"> <div id="inner"> Foo foo</div> </div>
转型
<中心>(分散)
如果你不想在内部DIV上设置固定宽度,你可以做这样的事情:
#outer { 宽度: 100%; 文本顺序:中心; } #inner { 显示: inline-block; } <div id="outer"> <div id="inner"> Foo foo</div> </div>
这使得内部的DIV变成一个可以与文本平行集中的内线元素。
#outer { 显示: 网; justify- 内容: 中心; } <div id="outer"> <div id="inner">hello</div> </div> 在这里输入代码
您可以添加另一个具有相同尺寸的Div,并将其移动到左侧 -50%(半宽的Div)和50%的Div。
此分類上一篇: <div id="outer"> <div id="inner"><div>Foo foo</div></div> </div>
您可以添加此代码:
#inner { 宽度: 90%; margin: 0 auto; text-align:center; } <div id="outer"> <div id="inner"> Foo foo</div> </div>