【问题标题】:Hyperlink background image only visible in IE in Quirks mode超链接背景图片仅在 IE 中以 Quirks 模式可见
【发布时间】:2016-01-28 14:46:56
【问题描述】:

我的页面上有一个超链接:

<div id="ContainerDIV">
    <a href="#" id="hlkTest" class="imgLink" title="Test" />
</div>

a.imgLink#hlkTest {
    background-image: url(Images/DOS.png);
}

a.imgLink {
            width: 67px;
            height: 80px;
            background-position: 0px;
            background-repeat: no-repeat;
            margin-right: 0.45em;
            margin-bottom:0.5em;

 }

#ContainerDIV
{
    padding-left:2.5em;
    padding-top:0.0em;
    width:90%;
}

当页面在 Quirks 模式下使用 IE 打开时可见,但在标准模式和/或 Chrome 中不可见。我一直在试图弄清楚什么 CSS 只在 Quirks 模式下工作。任何人都可以帮忙吗?

【问题讨论】:

    标签: css internet-explorer quirks-mode


    【解决方案1】:

    尝试重新构建您的代码:

    HTML

    <div id="ContainerDIV">
        <a href="#" id="hlkTest" class="imgLink" title="Test"></a>
    </div>
    

    您的原始代码有一个自动关闭的锚标记。但是锚a 不是一个空元素。它需要一个适当的结束标签。更多详情请看这里:https://stackoverflow.com/a/31628634/3597276

    CSS

    #ContainerDIV {
        padding-left: 2.5em;
        padding-top: 0.0em;
        width: 90%;
    }
    
    #hlkTest {
        display: block;
        background-image: url("http://placehold.it/400x200");
        background-position: 0px;
        background-repeat: no-repeat;
        height: 200px;
        width: 400px;
    
     }
    

    DEMO

    【讨论】:

    • 带有适当的结束标签,它仍然无法在 Chrome 或 IE 的标准模式下工作。还 display: block 不是一个选项,因为当有多个图像超链接时,不是将它们放在一行中,而是每个单独占据一行。让我修改我的问题以反映这一点
    • 所以不要使用block,而是使用inline-block
    • Michael,我按照之前的建议尝试使用 inline-block,图像在页面重新加载期间出现了一秒钟,然后又消失了
    • 我之前评论中的演示链接是怎么回事?
    • 好的,我认为 inline-block 是诀窍。问题是页面上还有其他东西导致了问题。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2013-08-18
    • 2015-09-27
    相关资源
    最近更新 更多