【问题标题】:Workaround rendering bug in IE quirks mode解决方法在 IE 怪癖模式下呈现错误
【发布时间】:2011-04-15 18:44:46
【问题描述】:

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


    <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>

【问题讨论】:

  • 没关系。我终于发现它是浮动宽度错误。邪恶的 commie 已被修复。

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


【解决方案1】:

尝试添加

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

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

【讨论】:

  • 这对我有用 - 让 Outlook 2003 和 Express 电子邮件停止在怪癖模式下呈现我的 XHTML-Strict 电子邮件。谢谢!
猜你喜欢
  • 2011-02-23
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
相关资源
最近更新 更多