我有一个由div元素包围的iframe,我只是试图将它始终放在中心位置。 这是我的努力: jsfiddle
并且认为有人可以提供帮助,因为我确信这是非常简单的事情,但我无法看到它。
这是HTML本身:
<div id="top-element">Some div that has greater width than the inner div</div>
<div id="iframe-wrapper">
<iframe src="http://www.apple.com/" scrolling="auto"></iframe>
</div>
答案 0 :(得分:24)
一个解决方案是:
<div>
<iframe></iframe>
</div>
div {
text-align:center;
width:100%;
}
iframe{
width: 200px;
}
修改:添加了竖线对齐
div {
text-align: center;
width: 100%;
vertical-align: middle;
height: 100%;
display: table-cell;
}
.iframe{
width: 200px;
}
div,
body,
html {
height: 100%;
width: 100%;
}
body{
display: table;
}
在display: flex
<div>
div {
display: flex;
align-items: center;
justify-content: center;
}
答案 1 :(得分:5)
试试这个:
#wrapper {
text-align: center;
}
#wrapper iframe {
display: inline-block;
}
答案 2 :(得分:2)
我认为如果你添加保证金:auto;它下面的div应该可以工作。
div#iframe-wrapper iframe {
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
right: 100px;
height: 100%;
width: 100%;
}
答案 3 :(得分:0)
您可以轻松地使用display:table来垂直对齐内容,text-align:center to horizontal对齐你的iframe。 http://jsfiddle.net/EnmD6/7/
html {
display:table;
height:100%;
width:100%;
}
body {
display:table-cell;
vertical-align:middle;
}
#top-element {
position:absolute;
top:0;
left:0;
background:orange;
width:100%;
}
#iframe-wrapper {
text-align:center;
}
带有表格行http://jsfiddle.net/EnmD6/9/的版本
html {
height:100%;
width:100%;
}
body {
display:table;
height:100%;
width:100%;
margin:0;
}
#top-element {
display:table-row;
background:orange;
width:100%;
}
#iframe-wrapper {
display:table-cell;
height:100%;
vertical-align:middle;
text-align:center;
}
答案 4 :(得分:0)
position:absolute
首先删除div#iframe-wrapper iframe
,删除 position:fixed
和所有其他css 来自{ {1}}
然后应用此css,
div#iframe-wrapper
<强> FIDDLE DEMO 强>
答案 5 :(得分:0)
如果您只想在页面上显示iframe,我能够提出的最简单的解决方案不需要div或flex:
html {
width: 100%;
height: 100%;
display: table;
}
body {
text-align: center;
vertical-align: middle;
display: table-cell;
}
然后HTML只是:
<html>
<body>
<iframe ...></iframe>
</body>
</html>
如果这就是你所需要的全部,那么就不需要包装div了。这也适用于文本内容和内容。
同样this看起来更简单。
答案 6 :(得分:-1)
非常简单:
你只需要将 iframe 放在中间
<center> ... </center>
一些
<br>
。仅此而已。