【问题标题】::target pseudo-class not working properly in firefox:target 伪类在 Firefox 中无法正常工作
【发布时间】:2015-01-17 19:45:10
【问题描述】:

我正在使用 :target 伪类制作具有 CSS 灯箱类型效果的页面。当您单击图像时,会弹出一个包含信息的框,当您单击任意位置时会再次消失。

它在 Chrome 和 IE 中运行良好,但在 Firefox 中存在一个奇怪的错误,即 当您将鼠标移离框时,我的灯箱 div 中的文本会消失。它的作用类似于悬停效果,只有将鼠标悬停在其上时才能看到文本。

我希望解释是有道理的,如果我不清楚,请告诉我。

我的 CSS 在这里:

.lightbox {
display: none;
position: absolute;
z-index: 8;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: #fff; 
padding-left: 30px;
}

.lightbox:target {
/* Show lightbox when it is target */
display: block !important;
outline: none;
}

如果您需要更多信息,请告诉我。

非常感谢!

【问题讨论】:

    标签: css debugging firefox target pseudo-class


    【解决方案1】:

    伪类目标适用于 id 元素,而不是 https://developer.mozilla.org/en-US/docs/Web/CSS/:target

    :target 伪类表示唯一元素(如果有),其 id 与文档 URI 的片段标识符匹配。

    尝试在 CSS 中将 .lightbox 替换为 #lightbox,您的 HTML 元素应为 <div id="lightbox">

    #lightbox {
        display: none;
        position: absolute;
        z-index: 8;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: #fff; 
        padding-left: 30px;
    }
    
    #lightbox:target {
        /* Show lightbox when it is target */
        display: block !important;
        outline: none;
    }
    

    【讨论】:

    • 我问了重复的问题 [这里][1] 并被指出了这个答案。因此,我更改了设置以使用 ID 标签 (whateverworks.style)。奇怪的是,它解决了 div 消失的问题,即使在单击视频播放器控件时(即使用播放头搜索、暂停)也是如此。但是仍然无法正常工作的是单击视频播放器的全屏按钮会隐藏视频,但随后会使其全屏显示。我想知道这是FF错误还是我这边的另一个错误? [1]:stackoverflow.com/questions/44616472/…
    猜你喜欢
    • 2012-09-07
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2013-06-21
    • 1970-01-01
    相关资源
    最近更新 更多