gpt4 book ai didi

css - 什么会导致不同的 CSS 行为从一台 PC 到另一台?

转载 作者:行者123 更新时间:2023-11-28 12:38:23 27 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 4 应用程序,它在本地的 Google Chrome 和 Internet Explorer 中都按预期显示。

但是,一旦通过 TFS 部署到远程服务器, View 只能使用 Google Chrome 正确显示?

使用 Chrome 部署:

Deployed with Google Chrome

使用 IE 部署:

Desployed with Internet Explorer

如果我使用不同的工作站访问该页面,我会怀疑 IE 兼容性按钮。但是,我总是并且只使用我自己的归属工作站。

那么,是什么改变如此之大,以至于只需在 Visual Studio 中按 [F5] 键并简单地运行 Web 应用程序,即可在本地使用 IE 方便地显示页面,并使其在部署后搞砸 CSS?

我使用:

  • Internet Explorer 9
  • Visual Studio 2010
  • Windows 7
  • IIS 7.5
  • 谷歌浏览器 39.0.2171.71 m
  • TFS 2010

下面是我的 CSS 和 CSHTML 文件(至少是我认为重要的包含,并删除了我认为不重要的)。

站点.css

html {
background-color: #e2e2e2;
margin: 0;
padding: 0;
}

body {
background-color: #fff;
border-top: solid 10px #000;
color: #000;
font-size: .85em;
font-family: "Segoe UI", Verdana, Helvetica, Sans-Serif;
margin: 0;
padding: 0;
}

header, footer, hgroup,
nav, section {
display: block;
}

.float-left { float: left; }
.float-right { float: right; }
.clear-fix:after {
content: ".";
clear: both;
display: block;
height: 0;
visibility: hidden;
}

/* main layout
----------------------------------------------------------*/
.content-wrapper {
margin: 0 auto;
max-width: 100%;
}

#body {
background-color: #fff;
clear: both;
padding-bottom: 35px;
}

#body a { color: #000; }

#body a:hover {
background-color: #a2998a;
color: #005596;
}

#body a:link { color: #000; }
#body a:active { color: #000; }
#body a:visited { color: #000; }

.main-content {
background: url("../Images/accent.png") no-repeat;
padding-left: 10px;
padding-top: 30px;
}

.email-counter {
display: block;
font-size: 13em;
font-family: Consolas, Arial, monospace;
font-weight: bold;
text-align: center !important;
vertical-align: middle;
}

.mailbox-title {
background-color: #fff;
border: 1px solid #000 !important;
color: #000;
font-size: 2.5em;
padding-bottom: 10px;
text-align: center;
vertical-align: middle;
}

.mailbox-title a {
color: #000;
text-decoration: none;
}

.mailbox {
border: 3px solid #000;
display: inline-block;
height: auto;
margin-top: 5px;
width: 32.66%;
}

.mailboxes-indicators { height: 400px; }
header .content-wrapper { padding-top: 20px; }
footer {
clear: both;
background-color: #e2e2e2;
font-size: .8em;
height: 100px;
}


/* site title
----------------------------------------------------------*/
.site-title {
font-family: Rockwell, Consolas, "Courier New", Courier, monospace;
line-height: 600%;
margin: 0;
text-align: center;
}

.site-title a, .site-title a:hover, .site-title a:active {
background: none;
color: #c8c8c8;
outline: none;
text-decoration: none;
}

.site-title .column { display: inline-block; }
.site-title #logo {
border: none;
position: absolute;
width: 25%;
}

.site-title #page-title-container {
position: relative;
width: 133%;
}

.site-title #page-title-container #page-title {
color: #000;
font-size: 4em;
font-weight: bold;
top: -15px;
}

.site-title #page-title-container #latest-refresh-date-time {
font-size: xx-large;
text-align: center;
top: -15px;
}

#sum-of-emails-from-all-mailboxes {
border: 3px solid #000;
left: -60px;
position: relative;
width: 110%;
}

#sum-display-name {
background-color: #cadaa9;
border: 1px solid #000;
color: #000;
font-size: 2.5em;
position: relative;
}

#sum-of-emails { font-size: 8em; }

DisplayIndi​​cators.cshtml

@model IndicateursCourriels.ViewModels.CustomerServiceIndicatorsViewModel

@{
ViewBag.Title = "DisplayIndicators";
Layout = "~/Views/Shared/_Layout.cshtml";
}

@section header {
<div class="content-wrapper">
<div class="site-title">
<div class="column">
<div id="page-title-container">
<div id="page-title">
@Html.DisplayFor(m => m.ViewTitle)
</div>
<div id="latest-refresh-date-time">
@Html.DisplayFor(m => m.LatestRefreshDateTime)
</div>
</div>
</div>
<div class="column float-right">
<div id="sum-of-emails-from-all-mailboxes">
<div class="mailbox-title">
@Html.DisplayFor(m => m.SumOfEmailsFromAllMailboxesDisplayName)
</div>
<div id="sum-of-emails" class="email-counter">
@Html.DisplayFor(m => m.SumOfEmailsFromAllMailboxes)
</div>
</div>
</div>
</div>
</div>
}

<div class="mailboxes-indicators">
<div class="mailbox">
<div class="mailbox-title">
@Html.DisplayFor(m => m.FirstMailboxName)
</div>
<div class="display-label" style="text-align: center;">
<span class="email-counter"
style="background-color: @Html.DisplayFor(m => m.FirstAlertLevelColour)">
@Html.DisplayFor(m => m.FirstEmailCount)
</span>
</div>
</div>
<div class="mailbox">
<div class="mailbox-title">
@Html.DisplayFor(m => m.SecondMailboxName)
</div>
<div class="display-label">
<span class="email-counter"
style="background-color: @Html.DisplayFor(m => m.SecondAlertLevelColour)">
@Html.DisplayFor(m => m.SecondEmailCount)
</span>
</div>
</div>
<div class="mailbox">
<div class="mailbox-title">
<a href='@Url.Action("EmailIndicatorManualInput", "CustomerServiceIndicators")'>
@Html.DisplayFor(m => m.ThirdMailboxName)
</a>
</div>
<div class="display-label" style="text-align: center;">
<span class="email-counter"
style="background-color: @Html.DisplayFor(m => m.ThirdAlertLevelColour)">
@Html.DisplayFor(m => m.ThirdEmailCount)
</span>
</div>
</div>
</div>

EDIT

根据 Jonathan Sampson 的评论,本地文档模式和远程文档模式其实是不一样的。

  • 本地文档模式:IE9
  • 远程文档模式:IE7

所以我确实将本地 WebApp 实例的文档模式更改为 IE7,并且获得了与远程实例相同的显示。

现在的问题是:

  1. 我可以做什么来强制使用 IE9 文档模式?否则,
  2. 如何确保它在两种模式下都能正确显示?

最佳答案

正如我们在上面的评论中确定的那样,原因是本地和远程的不同文档模式。造成这种情况的原因可能有很多:

  1. 开发者工具取代了文档模式。
  2. x-ua-compatible header 在本地发送,或通过 HTTP 响应远程发送。
  3. 远程查看时的附加标记会使原本有效的文档无效。
  4. 正在使用显式 x-ua-compatible 加载本地或远程实例元标记。

这些是您会注意到文档模式不同的主要原因。首先检查您的开发人员工具,以确保您不仅仅是覆盖默认文档模式。

检查您的标记(可能是 <header> 部分)以获得 x-ua-compatible元标记。如果在那里找不到,请在那里检查 HTTP 响应 header 。

关于css - 什么会导致不同的 CSS 行为从一台 PC 到另一台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27179099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com