Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 由于车身高度的原因,是否可以将一个元素(跨度、div等)垂直居中?_Html_Css - Fatal编程技术网

Html 由于车身高度的原因,是否可以将一个元素(跨度、div等)垂直居中?

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

我希望问题很清楚

我有一个DOM的主体,它应该是任意高度的,对于一个驻留在窗口中的用户来说,我想垂直居中放置一个可以包含其他子元素的元素,但这并不意味着


可能吗?也许用桌子?我想避免使用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没有内联时,阅读代码更容易您可能想查看此类似问题:您可能想查看此类似问题: