保证金:自动不在IE中工作

时间:2011-10-18 16:07:55

标签: css internet-explorer internet-explorer-9 margin text-align

网址:http://cyberbat.co.uk/test容器边距:自动无法正常工作,还有其他方法可以将其置于IE中间。

编辑:再次检查,index.php是错误的文件,我用index.html替换它。

9 个答案:

答案 0 :(得分:19)

这是IE中的一个错误! 您只需为<div class="page">创建一个持有者,并将其text-align设置为center

.page-holder{
    text-align:center;
}
.page{
    margin:0 auto;
}
<div class="page-holder">
    <div class="page">
    page content
    </div>
</div>

答案 1 :(得分:9)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

您的问题是定义您的文件类型和标准。如果您将此代码添加到文件的顶部,它将起作用!

答案 2 :(得分:8)

在父容器上用于愚蠢的浏览器:

text-align: center

答案 3 :(得分:5)

尝试在父项上使用以下内容。

display: flex;
align-items: center;

答案 4 :(得分:3)

你有RAW php代码,因为你没有正确配置服务器:

<?php
include('inc/settings.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

通过将PHP应用于* .html文件来解决该问题,并且<?php include ?>不会按字面意思显示。如果我没记错的话,请将.ini文件中的这一行调整为:

AddType application/x-httpd-php .html .htm .php

因为这个文字后端代码位于DOCTYPE的前面,所以它会导致IE中的怪癖模式,并且在怪癖中水平自动边距无法正常工作。

你可以使用text-align:center在父元素上,但这对IE来说是一个黑客攻击,你应该通过让我在上面的建议中以标准模式呈现它来正确解决这个问题。

答案 5 :(得分:2)

Internet Explorer以怪癖模式显示您的网站,因为标记顶部有伪造的处理指令:

<?php
include('inc/settings.php');
?>

删除它; margin: auto适用于IE6 +。 没有需要执行text-align: center或其他不必要的更改。

答案 6 :(得分:1)

尝试将meta记录添加到head

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

答案 7 :(得分:1)

对于IE,将my-auto替换为align-self-center和BINGO。您也可以为CSS编写相同的代码:

.center-container{
   align-self: center;
}

答案 8 :(得分:0)

您可以下载normalize.css(只需在Google上进行搜索)并将其链接到您的项目,现在您可以使用以下方式:

HTML:

    <main class="container></main>

CSS:

    .container {
      margin-left: auto;
      margin-right: auto;
      width: 600px;