对IE10的悬停效果

时间:2018-10-30 10:04:06

标签: html css internet-explorer sass internet-explorer-10

我不明白为什么对div进行简单的悬停效果在IE10中不起作用。

CSS:

.portfolio {
    margin-bottom: 130px;
    .portfolioContainer {
        display: flex;
        flex-wrap: wrap;
        margin-left: -10px;
        margin-right: -10px;
        .portfolioBox {
            display: flex;
            width: 50%;
            height: 250px;
            padding: 10px;
            .moreBoxInfo {
                display: none;
            }
            .portfolioBoxLogo {
                width: 50%;
                background-color: $lighter_gray;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 5px;
                img {
                    display: block;
                    transform: scale(0.8);
                    max-width: 90%;
                    width: 100%;
                }
            }
            .portfolioBoxImg {
                width: 50%;
                background-position: center;
                background-size: cover;
                position: relative;
                cursor: pointer;
                &:before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: $primary;
                    opacity: 0;
                    transition: opacity .5s;
                    z-index: 1;
                }
                .portfolioBoxText {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    padding: 20px;
                    opacity: 0;
                    transition: opacity .5s;
                    z-index: 2;
                    p {
                        font-size: 16px;
                        line-height: 20px;
                        text-align: left;
                    }
                }
                .more {
                    position: absolute;
                    right: 20px;
                    bottom: 20px;
                    @include fontFamilySize("HelveticaNeueThin", 36px, 42px);
                    cursor: pointer;
                    display: none;
                    z-index: 3;
                }
                &:hover {
                    &:before {
                        opacity: .95;
                    }
                    .portfolioBoxText {
                        opacity: 1;
                    }
                    .more {
                        display: block;
                    }
                }
            }
        }
    }
}

HTML:

<div class="portfolio">
    <div class="portfolioContainer">
        <div class="portfolioBox">
            <div style="background-image: url( img/participadas/forcemanager-img.jpg)" class="portfolioBoxImg">
                <div class="portfolioBoxText"> 
                    <p>Aplicació per accelerar les vendes en equips comercials basada en Intel·ligència Artificial.</p>
                </div>
                <span class="more">+</span>
            </div>
        </div>
    </div>
</div>

此SASS代码可完美编译。

预期的工作代码应该是:当我将div.portfilioBoxImg悬停时,:before.more.portfolioBoxText应该获得opacity: 1,但是不会。工作。

我在网站上还有其他悬停工具,它们工作正常,但是没有。

我尝试摆脱过渡,没有不透明性,并没有显示/阻止显示,但这些显示对自己有效,但悬停效果不起作用。

从chrome中提取的已编译CSS:

.portfolio .portfolioContainer .portfolioBox .portfolioBoxImg:before

这在IE11,Firefox,Chrome等上完美运行。

JSFiddle:http://jsfiddle.net/vy5npu3a/

编辑

我用:: before尝试在体内进行悬停,它也不起作用,但是使用锚点a可以。也许某些元素不起作用?

1 个答案:

答案 0 :(得分:1)

缺少doctype html。我可以发誓以前曾经尝试过但没有成功,但现在看来可以了。