CSS не отображается должным образом после переноса в IIS 7 в IE 9
При запуске на dev-сервере через VS 2010 все CSS отображаются правильно. Я публикую, чтобы выиграть сервер 2008 r2 с IIS 7, и когда я открою в IE 9, встроенный блок не работает, градиенты не работают, а box-shadow не работает. Он удаляет большую часть форматирования CSS, я загружаю ту же страницу в firefox и выглядит так же, как в IE 9 под Dev-сервером. Код ниже:
Файл CSS:
body {
}
#opsChartContainer
{
background: #FFFFFF;
margin: auto;
width: 600px;
padding-top: 15px;
font-family: helvetica, arial, sans-serif;
display: inline-table;
}
#oldestActiveCon
{
background: #FFFFFF;
margin: auto;
width: 300px;
padding-top: 15px;
font-family: helvetica, arial, sans-serif;
display: inline-table;
}
#incVolumeCon
{
background: #FFFFFF;
margin: auto;
width: 700px;
padding-top: 15px;
font-family: helvetica, arial, sans-serif;
display: inline-table;
}
#reqSLACon
{
background: #FFFFFF;
margin: auto;
width: 400px;
padding-top: 15px;
font-family: helvetica, arial, sans-serif;
display: inline-table;
}
h1
{
background: #e3e3e3;
background: -moz-linear-gradient(top, #fcfdfe, #8bb7e3);
background: -webkit-gradient(linear, left top, left bottom, from(#fcfdfe), to(#8bb7e3));
padding: 10px 20px;
margin-left: -20px;
margin-top: 0;
position: relative;
width: 70%;
-moz-box-shadow: 1px 1px 3px #292929;
-webkit-box-shadow: 1px 1px 3px #292929;
box-shadow: 3px 3px 3px #292929;
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#fcfdfe, endColorstr=#8bb7e3)";
color: #454545;
text-shadow: 0 1px 0 white;
font-size: small;
font-weight: bold;
}
h2
{
background: #dde3d5;
padding: 10px 20px;
margin-left: 5px;
margin-top: 10px;
position: relative;
-moz-box-shadow: 1px 1px 3px #292929;
-webkit-box-shadow: 1px 1px 3px #292929;
box-shadow: 3px 3px 3px #b5baae;
color: #454545;
text-shadow: 0 1px 0 white;
font-size: small;
font-style: normal;
}
.mGrid {
width: 100%;
margin: 5px 0 10px 0;
border: solid 1px #525252;
border-collapse:collapse;
}
.mGrid td {
padding: 2px;
}
.header
{
padding: 4px 2px;
color: #ffffff;
background: #4289c6 url('../grd_head.png') repeat-x top;
}
.alt
{
background: #FFFFFF url('../grd_alt.png') repeat-x top;
font-size: smaller;
font-family: Arial;
font-style: normal;
}
.rst
{
background: #FFFFFF url('../grd_firstt.png') repeat-x top;
font-size: smaller;
font-family: Arial;
font-style: normal;
}
ul#testy li
{
list-style-type: none;
display: inline-block;
vertical-align: top;
padding-left: 50px;
}
Внешний интерфейс ASPX:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="test.test" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div id="opsChartContainer"><h1>TEXT</h1><h2>FLASHFILE</h2></div>
<div id="oldestActiveCon"><h1>TEXT</h1>
<h2>
<asp:GridView ID="GridView1" runat="server" CellPadding="4"
ForeColor="#333333"
GridLines="None" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" Width="200px">
<AlternatingRowStyle CssClass="alt" />
<Columns>
<asp:BoundField DataField="Status" HeaderText="Status"
SortExpression="Status" />
<asp:BoundField DataField="Team" HeaderText="Team" SortExpression="Team" />
<asp:BoundField DataField="Time" HeaderText="Time" ReadOnly="True"
SortExpression="Time" />
<asp:TemplateField HeaderText="Request ID">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<% # "link"+ Eval("Request") + "&"%>'><%#Eval("Request")%></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="header" />
<RowStyle CssClass="rst"></RowStyle>
</asp:GridView>
</h2>
</div>
<div id="incVolumeCon">
<h1>text</h1>
<h2>
flashfile
</h2>
</div>
<div id="reqSLACon">
<h1> text</h1>
<h2>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
DataSourceID="blahblah" CellPadding="4" ForeColor="#333333"
GridLines="None" CssClass="mGrid" AlternatingRowStyle-CssClass="alt" RowStyle-CssClass="rst" Width = "400">
<Columns>
<asp:BoundField DataField="text" HeaderText="text" ReadOnly="True"
SortExpression="text" />
<asp:BoundField DataField="Dueby Time" HeaderText="text" ReadOnly="True"
SortExpression="text" />
<asp:BoundField DataField="text" HeaderText="text"
ReadOnly="True" SortExpression="text" />
<asp:BoundField DataField="text" HeaderText="text"
ReadOnly="True" SortExpression="text" />
<asp:BoundField DataField="Expr1" HeaderText="text" ReadOnly="True"
SortExpression="Expr1" />
<asp:TemplateField HeaderText="Request ID" >
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%# "link"+ Eval("Request ID") + "&"%>'><%#Eval("Request ID")%></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
test
</h2>
</div>
ЛЮБЫЕ идеи? Что вызывает несоответствие между тем, когда я просматриваю его в IE 9 через dev-сервер с vs 2010 и когда я просматриваю его в IE 9 на рабочем сервере?
Ответы
Ответ 1
Ваша страница работает в режиме документа, отличном от "Стандартов IE 9".
Нажмите F12, чтобы открыть Инструменты разработчика, чтобы увидеть, на самом деле это.
См. здесь инструкции, чтобы выяснить, почему это происходит: http://hsivonen.iki.fi/doctype/#ie8modes
В противном случае вы можете исправить это, добавив это в начало <head>
:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
Это заставит IE использовать самый современный механизм рендеринга.
Это можно сделать на сервере IIS также с помощью параметров в заголовке HTTP-ответа.
В поле Name поставьте "X-UA-Compatible" и в поле Value поставьте "IE = Edge"
в EDIT Custom HTTP Response Header, как показано ниже.
![enter image description here]()
Ответ 2
У меня была такая же проблема на нескольких веб-сайтах. Он корректно отображается во всех браузерах (что я тестировал), кроме IE9. Я решил это, вставив <meta content="IE=8" http-equiv="X-UA-Compatible" />
в HEADER.
Но со мной ситуация не работала ни локально, ни удаленно, поэтому, если ваш рендеринг локально может быть чем-то другим, но стоит попробовать.
Надеюсь, что это поможет...
Ответ 3
Вы вручную перешли на URL-адрес файла CSS на сервере и посмотрели, что он отображает? Я ожидаю, что это будет 500 Внутренняя ошибка сервера или подобный ответ вместо фактического кода CSS.
Ответ 4
У нас была проблема выравнивания и границы, они менялись после развертывания,
После размещения этого тега на главной странице сразу после DOCTYPE все вещи выглядят так же, как и на локальном.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />