Html 由于车身高度的原因,是否可以将一个元素(跨度、div等)垂直居中?
我希望问题很清楚 我有一个DOM的主体,它应该是任意高度的,对于一个驻留在窗口中的用户来说,我想垂直居中放置一个可以包含其他子元素的元素,但这并不意味着Html 由于车身高度的原因,是否可以将一个元素(跨度、div等)垂直居中?,html,css,Html,Css,我希望问题很清楚 我有一个DOM的主体,它应该是任意高度的,对于一个驻留在窗口中的用户来说,我想垂直居中放置一个可以包含其他子元素的元素,但这并不意味着 可能吗?也许用桌子?我想避免使用Js…您需要一个适当的标记。像这样的 <html> <body style="position:fixed; top:0px; left:0px;bottom:0px; right:0px; margin:0px;"> <div style='display : table
可能吗?也许用桌子?我想避免使用Js…您需要一个适当的标记。像这样的
<html>
<body style="position:fixed; top:0px; left:0px;bottom:0px; right:0px; margin:0px;">
<div style='display : table; width : 100%; height : 100%'>
<div style='display : table-row;'>
<div style="border:solid; display : table-cell; vertical-align : middle">
Hello
</div>
</div>
</div>
</body>
</html>
查看我的问题答案
还有另一种方法
<html>
<body style='width : 100%; height : 100%'>
<div style='position : absolute; width : 50px; height : 50px; margin : -25px 0px 0px 0px; top : 50%; border : 1px solid #000'>
</div>
</body>
</html>
在这里,可以避免前面方法中看到的额外div元素
你需要一个适当的标记。像这样的
<html>
<body style="position:fixed; top:0px; left:0px;bottom:0px; right:0px; margin:0px;">
<div style='display : table; width : 100%; height : 100%'>
<div style='display : table-row;'>
<div style="border:solid; display : table-cell; vertical-align : middle">
Hello
</div>
</div>
</div>
</body>
</html>
查看我的问题答案
还有另一种方法
<html>
<body style='width : 100%; height : 100%'>
<div style='position : absolute; width : 50px; height : 50px; margin : -25px 0px 0px 0px; top : 50%; border : 1px solid #000'>
</div>
</body>
</html>
在这里,可以避免前面方法中看到的额外div元素
这是我使用的一种狡猾的方法。请注意,wrapper提供高度,wrapper>div提供宽度 这不应该在IE上起作用
<html>
<head>
<style>
html, body {
height: 100%; width: 100%; margin: 0; display: table;
vertical-align: middle
}
#wrapper {
display: table-cell;
height: 100px;
vertical-align: middle;
width: 100%;
}
#wrapper > div {
width: 50%; margin: auto;
border: 1px solid red
}
</style>
</head>
<body>
<div id="wrapper">
<div class="content">
content there...
</div>
</div>
</body>
</html>
这是我使用的一种狡猾的方法。请注意,wrapper提供高度,wrapper>div提供宽度 这不应该在IE上起作用
<html>
<head>
<style>
html, body {
height: 100%; width: 100%; margin: 0; display: table;
vertical-align: middle
}
#wrapper {
display: table-cell;
height: 100px;
vertical-align: middle;
width: 100%;
}
#wrapper > div {
width: 50%; margin: auto;
border: 1px solid red
}
</style>
</head>
<body>
<div id="wrapper">
<div class="content">
content there...
</div>
</div>
</body>
</html>
+有趣的是,你必须做所有这些。我从来没有尝试过对身体本身做这样的操作,显然这样做的时候需要做更多的工作。问题是,你需要正确的标记来进行垂直对齐。所以你必须模仿一个显示:桌子,一个显示:桌子行和一个显示:桌子单元格这不一定是真的:我认为让它如此困难的部分是高度:100%;隐马尔可夫模型。。有趣的你的似乎很好用。但我也遇到了一些问题,有些情况下它无法正确居中,所以我总是遵循严格的标记。顺便说一句,当css没有内联时,阅读代码更容易+有趣的是,你必须做所有这些。我从来没有尝试过对身体本身做这样的操作,显然这样做的时候需要做更多的工作。问题是,你需要正确的标记来进行垂直对齐。所以你必须模仿一个显示:桌子,一个显示:桌子行和一个显示:桌子单元格这不一定是真的:我认为让它如此困难的部分是高度:100%;隐马尔可夫模型。。有趣的你的似乎很好用。但我也遇到了一些问题,有些情况下它无法正确居中,所以我总是遵循严格的标记。顺便说一句,当css没有内联时,阅读代码更容易您可能想查看此类似问题:您可能想查看此类似问题: