asp.net – 在窗口调整大小或在标签之间切换之前,IE7不会呈现页
我有IE7的问题.
我有一个固定的布局,用于保持标题和侧面板固定在页面上,只留下“主要内容”区域开关可以愉快地滚动它的内容. layout on Twitpic http://twitpic.com/show/thumb/e32q7.png 这种布局对于IE6和IE8非常适用,但有时一页可能会“隐藏”应该在“主要内容”区域中显示的内容. 页面完成加载就好了.一瞬间IE7将渲染主要内容就好了,然后它会立即将其隐藏在视图中…某处…当有足够的内容强制“主要内容”区域时,它似乎只会遇到此问题滚动. 通过调整窗口大小或切换到另一个打开的选项卡再返回将导致IE7按预期显示页面. 请注意,兼容模式下IE8会出现同样的问题,但在IE8模式下页面会正确呈现. 如果需要,我可以附加我使用的基本CSS样式,但我首先想看看这是否是IE7的已知问题. IE7是否存在定位布局和溢出滚动的问题,有时会忘记完全正确渲染页面,直到某些窗口重绘事件强制完成渲染? 请记住,这个完全相同的布局用于站点中的多个页面,因为它是在母版页中设置的.它只是(在这种情况下)一个页面遇到了这个问题. 具有完全相同布局的其他页面可以正确呈现.即使主要内容足够滚动也是如此. 更新:A related question此时没有答案. 最新更新:添加示例母版页和CSS 请注意,相同的布局对于应用程序中的所有页面都是相同的. IE7的问题只发生在一个这样的页面上.所有其他页面都可以在IE7中正确呈现.只有一个页面使用完全相同的布局,它有时会隐藏“工作空间”div中的内容. 母版页 <%@ 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> 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; } Default.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> 解决方法
一个理论:
你的CSS是在主要内容区域之后声明的(这导致所谓的“无格式内容的闪现”),并且在你的CSS中有一个IE7错误(可能是peekaboo bug)导致内容被隐藏. 尝试添加: position: relative; min-width: 0; 对于正在消失的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC:让API控制器操作同时返回View
- asp.net-mvc-4 – 如何在asp.net mvc4中将OpenID迁移到OAut
- asp.net页面如何知道哪个按钮触发了回发?
- asp.net-mvc – @ Html.BeginForm()如何工作?
- asp.net-mvc – MVC – 更改下拉列表中的默认文本
- asp.net – ASP MVC外键提交问题
- ASP.NET SessionID类型
- asp.net – 禁用ASPNET标识2.0中的用户
- asp.net-mvc – 从Asp.Net Mvc应用程序找不到DataContractJ
- asp.net-mvc-3 – 使用IEnumerable在域模型和视图模型之间进
- 分享一个很早之前写的小工具DtSpyPlus
- .net – ServiceHost和WebServiceHost有什么区别
- asp.net – Application_Error – GetLastError(
- 如何清除代码背后的整个asp.net页面?
- asp.net – 按Enter键时提交表单
- asp.net-mvc – ASP.NET MVC不提供默认文档
- asp.net-mvc-3 – @ Html.DropDownList width
- asp.net-mvc – 从ASP.NET MVC中的部分视图中删除
- ASP.NET中的Accounting Style字符串格式
- asp.net-mvc-3 – 如何修改MVC3视图页面中的body