IE9没有正确渲染[display:table] CSS?

时间:2014-03-21 14:00:15

标签: html css asp.net-mvc-4 twitter-bootstrap cross-browser

我有一个使用Bootstrap的MVC 4应用程序。应用程序上标题的一部分是典型的用户名密码字段,其中包含登录按钮和记住我选择

在Chrome中,一切都正确呈现:

LoginRenderIssue-Chrome

但是在IE9中我看到了:

LoginRenderIssue-IE9

HTML:

<div class="col-md-6 box">
        @if (User.Identity.IsAuthenticated)
        {
            <div class="profileLinks">                    
                <a href="@organizationUrl">My Organizational Profile</a>
                |
                <a href="@userProfileUrl">My Profile</a>
            </div>
            <div class="content logout">                
                <div class="row">
                    <div>
                        Hi, @User.Identity.Name
                        @Html.ActionLink("Log Off", "LogOff", "Account", new {},new { @class = "btn btn-primary btn-sm" })
                    </div>
                </div>                
            </div>
        }
        else
        {
            <div class="content">
                <div class="row">
                    <div class="col-md-4">
                        <input type="text" id="username" placeholder="E-mail" required tabindex="1"/>
                        <a href="#" ><h6>Forgot your username?</h6></a>
                    </div>
                    <div class="col-md-4">
                        <input type="password" id="password" placeholder="Password" required tabindex="2" onkeyup="EnterKeyPressed()"/>
                        <a href="#" ><h6>Forgot your password?</h6></a>
                    </div>
                    <div class="col-md-4">
                        <input type="button" id="loginButton" value="Login" onclick="login()" class="btn btn-primary btn-sm" tabindex="3" onkeyup="EnterKeyPressed()"/>
                        <br />
                        <input type="checkbox" id="rememberMe">Remember Me
                    </div>
                </div>
            </div>
        }
    </div>

CSS:

.row {
  margin-right: -15px;
  margin-left: -15px;
}

.row:before,
.row:after {
  display: table;
  content: " ";
}

.row:after {
  clear: both;
}

.row:before,
.row:after {
  display: table;
  content: " ";
}

.row:after {
  clear: both;
}

我可以说,IE9似乎与.row中的bootstrap.css类存在某种问题。有没有人对如何修复IE9中的渲染以匹配Chrome的渲染,使用用户名密码登录按钮所有字段都在相同的“row”上?

1 个答案:

答案 0 :(得分:0)

我发现通过添加以下内容,一切都按照IE浏览器的需要呈现,以及Chrome和Firefox:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

IE=edge在最新版本的IE浏览器中运行该页面。