html - 解决 IE 怪癖模式下的渲染错误

标签 html css width css-float internet-explorer-6

我试图让一个简单的 HTML/CSS 页面作为 eBay 模板工作,但是它无法在 IE 中正确呈现。由于 eBay 的 HTML 选择,列表将始终以怪癖模式呈现(列表的 iframe 中没有文档类型引用)。只有当浏览器窗口比列表要求的窄 (~1000px) 时才会出现问题。我已经尝试为此使用各种 CSS hack(IE 的框模型、双边距等),但我无法弄清楚问题出在哪里,除了 IE 似乎试图将页面内容渲染到宽度窗口的宽度,覆盖定义的宽度(根据背景图像被剪短的方式判断,即使它们的 div 标签定义了最小宽度。无论如何,HTML 是(我添加了点来打破 img 和标签,以便这个可以发帖):


    <style type="text/css">
        img {border:none;}
        .head {min-width:1000px; width:auto !important; width:1000px; min-height:100px; text-align:center; padding:0; margin:0px auto; padding-top: 172px; background: #d4e1ea url(xxxx) no-repeat center top;}
        .left {margin-top:20px; padding:0; float:left;}
        .right {width:200px; margin:0px; margin-top:10px; padding:0; float:right;}
        .main {margin-left:189px; margin-top:20px; margin-right:10px; min-width:800px; width:auto !important; width:800px;}
        .frame (width:100%}
        .foot {width:564px; margin-top:20px;}
        .title {height:68px; width:563px; background-image:url(xxxx); padding:0; text-align:center; font-size:22px; text-transform:uppercase; font-weight:bold; font-family:Helvetica,Tahoma,Arial,sans-serif;}
        .mid {min-height:210px; width:563px; background:repeat-x; padding:0; margin-top:15px; margin-bottom:10px; overflow:hidden;}
        .mid-top {height:34px; background:no-repeat; margin:0; margin-bottom:10px;}
        .mid-main {margin-left:15px; overflow:hidden;}
        .mid-main, .mid-main table {font-size:14px;}
        .foot .mid-main {height:450px; margin:0; margin-left:1px; padding-left:15px; padding-top:5px; clear:both; background:url(xxxx) repeat-x;}
        .menu, .img {list-style:none; margin:0; padding:0;}
        .menu li {margin:0 0 10px 0; padding:0;}
        .menu li a {position:relative; display:block;}
        .menu li a img {position:absolute; left:0px;}
        .menu li a:hover img {left:0px;}
        .img li div {width:200px; height:200px; margin-bottom: 20px;}
        .search {min-height:56px; padding-top:41px; padding-left:12px; margin-bottom:20px; background:url(xxxx) no-repeat;}
    </style>
    <div class="head">
        <!-- FLASH OBJECT -->
    </div>
    <div class="left">
        <div class="search"><form action="xxxx" method="get" name="search">
            <input type="name" name="_nkw" id="eb-srch" length="10" value="Search..." />
            <input type="submit" value="Search" name="submit" />
        </form></div>
        <ul class="menu" id="ldca-menu">
            <li><.a href="xxx"><.img src="xxxx" /></a></li>
            <li><.a href="xxx"><.img src="xxxx" /></a></li>
            <li><.a href="xxx"><.img src="xxxx" /></a></li>
        </ul>
    </div>
    <div class="main">
        <div class="right"><ul class="img">
            <li><.a href="xxxx"><.img src="xxxx" width="200" height="178" alt="image" /></a></li>
            <li><.a href="xxxx"><.img src="xxxx" width="200" height="178" alt="image" /></a></li>
            <li><.a href="xxxx"><.img src="xxxx" width="200" height="178" alt="image" /></a></li>
        </ul></div>
        <div class="frame">
            <div class="title">Thing to Sell</div>
            <div class="desc mid">
                <div class="mid-top"><!-- CSS BG image --> </div>
                <div class="mid-main">Description....blah..</div>
            </div>
            <div class="specs mid">
                <div class="mid-top"><!-- CSS BG image --> </div>
                <div class="mid-main"><!-- more description --></div>
            </div>
        </div>
        <div class="foot">
            <ul id="ldft-menu" class="menu">
                <li><div onclick="x" class="x"><.img alt="x" src="xxxx" /></div></li><!-- JS is to change img sprite to hightlight tab -->
                <li><div onclick="x" class="x"><.img alt="x" src="xxxx" /></div></li><!-- JS is to change img sprite to hightlight tab -->
                <li><div onclick="x" class="x"><.img alt="x" src="xxxx" /></div></li><!-- JS is to change img sprite to hightlight tab -->
            </ul>
            <div class="mid-main">
                <div id="ldft-1">
                    <h3>Tab Title</h3>
                    <p>Content</p>
                </div>
                <div id="ldft-2">
                    <h3>Tab Title</h3>
                    <p>Content</p>
                </div>
                <div id="ldft-3">
                    <h3>Tab Title</h3>
                    <p>Content</p>
                </div>
            </div>
        </div>
    </div>

最佳答案

尝试添加

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

在你的标题中。这将强制执行符合 IE 标准的呈现。

关于html - 解决 IE 怪癖模式下的渲染错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3770329/

相关文章:

html - 通过剪贴板将 HTML 表格导入 Excel

html - 强制 div 在移动设备上占据整个屏幕? CSS, HTML

html - 在 Firefox 的 Flexbox 容器中内容忽略最大宽度?

html - 错误错误 : ExpressionChangedAfterItHasBeenCheckedError in Angular 5

javascript - 如何计算文本的总宽度,包括左右轴承

ios - 有没有办法调整 UITabBar 按钮项的宽度以适应屏幕上超过 5 个按钮?

html - Magento CSS 更改未显示

html - 列表标题的 aria 标签,语义正确吗?

jquery - CSS 挑战 : jQuery's slideDown-like on a specific particular layout

asp.net - Firefox + Asp.NET + Windows 身份验证 = 没有 css 背景图像?