IE7 nicht Rendern Teil der Seite, bis das Fenster ändert oder wechseln zwischen Registerkarten

Ich habe ein problem mit IE7.

Habe ich ein festes layout für die Beibehaltung der header und ein sidepanel, die fest auf einer Seite, so dass nur die "main content" Bereich wechseln können gerne scrollen, es ist Inhalt.

layout auf Twitpic http://twitpic.com/show/thumb/e32q7.png

Dieses layout perfekt funktioniert gut für IE6 und IE8, aber manchmal eine Seite starten kann "verstecken" der Inhalt sollte angezeigt werden in der "main content" Bereich.

Die Seite fertig geladen ist einfach in Ordnung. Für einen Sekundenbruchteil IE7 Rendern wird der wesentliche Inhalt einwandfrei und dann wird es sofort verstecken Sie aus dem Blickfeld.. irgendwo.. Es scheint auch, dass er nur die Erfahrungen dieses problem, wenn es genügend Inhalte zu zwingen, die "main content" Bereich zum scrollen.

Durch verkleinern des Fensters oder wechseln zu einem anderen geöffneten tab und wieder zurück führen wird IE7 zeigen die Seite so, wie es gedacht war.

Hinweis: das gleiche problem mit IE8 im Kompatibilitätsmodus, aber die Seite wird korrekt angezeigt, im IE8-Modus.

Wenn es sein muss kann ich anfügen, die grundlegenden CSS-styling, das ich benutze, aber ich will zuerst sehen, ob dies ist ein bekanntes Problem mit dem IE7.

Hat IE7 Probleme mit positioniertes layout und overflow-scrolling, das wird manchmal gerne vergessen finish rendering der Seite korrekt, bis einige Fenster-redraw-Ereignis Kräften fertig zu Rendern?

Bitte denkt daran, dies exakt gleiche layout verwendet auf mehreren Seiten in die Website, wie es eingerichtet ist, in einer master-Seite. Es ist nur (in diesem Fall) eine Seite, auf der dieses problem Auftritt.

Anderen Seiten mit dem exakt gleichen layout richtig machen. Auch wenn der wesentliche Inhalt ist voll genug, um zu Blättern.

UPDATE: Eine Verwandte Frage, die nicht über eine Antwort an dieser Stelle.

SPÄTEN UPDATE: Hinzufügen Beispiel masterpage und css -

Bitte beachten Sie, das gleiche layout ist das gleiche für alle Seiten der Anwendung. Mein problem mit dem IE7 tritt nur auf einer solchen Seite. Alle anderen Seiten haben gerne korrekt im IE7. Nur eine Seite mit dem exakt gleichen layout, hat Probleme, wo es manchmal verbirgt sich der Inhalt in den "work-space" div.

Der master-Seite

<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="shared_templates_MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
  <link rel="Stylesheet" type="text/css" href="~/common/yui/2.7.0/build/reset-fonts/reset-fonts.css" runat="server" />
  <link rel="Stylesheet" type="text/css" href="~/shared/css/layout.css" runat="server" />
  <asp:ContentPlaceHolder ID="head" runat="server" />
</head>
<body>
  <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
  <div id="app-header">
  </div>
  <div id="side-panel">
  </div>
  <div id="work-space">
    <asp:ContentPlaceHolder ID="WorkSpaceContentPlaceHolder" runat="server" />
  </div>
  <div id="status-bar">
    <asp:ContentPlaceHolder ID="StatusBarContentPlaceHolder" runat="server" />
  </div>
  </form>
</body>
</html>

Das layout.css

html {
    overflow: hidden;
}

body {
    overflow: hidden;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    background-color: white;
}

body, table, td, th, select, textarea, input {
  font-family: Tahoma, Arial, Sans-Serif;
  font-size: 9pt;
}

p {
  padding-left: 1em;
  margin-bottom: 1em;
}

#app-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: #dcdcdc;
  border-bottom: solid 4px #000;
}

#side-panel {
  position: absolute;
  top: 84px;
  left: 0px;
  bottom: 0px;
  overflow: auto;
  padding: 0;
  margin: 0;
  width: 227px;
  background-color: #AABCCA;
  border-right: solid 1px black;
  background-repeat: repeat-x;
  padding-top: 5px;
}

#work-space {
    position: absolute;
    top: 84px;
    left: 232px;
    right: 0px;
    padding: 0;
    margin: 0;
    bottom: 22px;
    overflow: auto;
    background-color: White;
}

#status-bar {
  position: absolute;
  height: 20px;
  left: 228px;
  right: 0px;
  padding: 0;
  margin: 0;
  bottom: 0px;
  border-top: solid 1px #c0c0c0;
  background-color: #f0f0f0;
}

Die Standardeinstellung.aspx

<%@ Page Title="Test" Language="VB" MasterPageFile="~/shared/templates/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<asp:Content ID="WorkspaceContent" ContentPlaceHolderID="WorkSpaceContentPlaceHolder" Runat="Server">
  Workspace
  <asp:ListView ID="DemoListView" runat="server"
                DataSourceID="DemoObjectDataSource"
                ItemPlaceholderID="DemoPlaceHolder">
    <LayoutTemplate>
      <table style="border: 1px solid #a0a0a0; width: 600px">
        <colgroup>
          <col width="80" />
          <col />
          <col width="80" />
          <col width="120" />
        </colgroup>
        <tbody>
          <asp:PlaceHolder ID="DemoPlaceHolder" runat="server" />
        </tbody>
      </table>
    </LayoutTemplate>
    <ItemTemplate>
      <tr>
        <th><%#Eval("ID")%></th>
        <td><%#Eval("Name")%></td>
        <td><%#Eval("Size")%></td>
        <td><%#Eval("CreatedOn", "{0:yyyy-MM-dd HH:mm:ss}")%></td>
      </tr>
    </ItemTemplate>
  </asp:ListView>

  <asp:ObjectDataSource ID="DemoObjectDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="DemoLogic">
    <SelectParameters>
      <asp:Parameter Name="path" Type="String" />
    </SelectParameters>
  </asp:ObjectDataSource>
</asp:Content>

<asp:Content ID="StatusContent" ContentPlaceHolderID="StatusBarContentPlaceHolder" Runat="Server">
  Ready OK.
</asp:Content>
  • Es arbeitet in meinem Rechner...(mit IE8 comp-Ansicht) Vielleicht ist das problem die Daten?
  • Warum sollten die Daten wichtig? Ich habe zwei Bildschirme, gebaut auf die gleiche Weise. Nur einer scheint Probleme mit IE7. Gewährt der Daten ist anders, aber ich kann immer noch nicht sehen, warum es Dinge beeinflusst. IE7 funktioniert Rendern der Seite, wenn Sie ändern die Größe des Fensters oder wechseln Sie einfach zwischen den tabs (und nicht aktualisieren Sie die Seite). Es ist wie IE7 gibt das rendering der Seite beim ersten laden, und nur einige Fenster-Ereignis bewirkt, dass es zu denken, "Hoppla, ich bin noch nicht fertig Rendern dieser Seite. Sollte ich render es jetzt richtig". Die meisten frustrierend.
  • Ich meine: vielleicht sind die Daten hat einige lange html-oder einer lustigen Charakter. Warum versuchen Sie nicht die exakt gleiche Seite, aber ohne alle Datensätze in der Tabelle? Auch ein screenshot von dem, was IE7 sieht aus wie in Ihrer Maschine werden wir wunderbar, das problem zu verstehen besser.
InformationsquelleAutor BlackMael | 2009-08-16
Schreibe einen Kommentar