CSS悬停只会影响孩子而不是父母

时间:2019-05-08 08:23:53

标签: html css angularjs

我想在悬停时更改div的背景颜色:

<div ng-show="collectionIsFocus">
    <div ng-if="collections" ng-repeat="c in collections">
        <div class="row collection-item">
            <div class="col-8 collection-item-col">
                <p>{{c.Name}}</p>
            </div>
            <div class="col-4 collection-item-col" ng-if="c.Image">
                <img src="{{c.Image.Url}}" />
            </div>
        </div>
    </div>
</div>

我想更改<div class="row collection-item">的背景颜色,但是当我将其悬停时。子级<div class="col-8 collection-item-col"><div class="col-4 collection-item-col" ng-if="c.Image">的背景色已更改,父级未更改。

这是CSS:

    .collection-item {
        cursor:pointer;
        height:50px;
        max-height:50px;
        overflow:hidden;
    }

    .collection-item :hover {
        background-color: lightblue;
    }

        .collection-item img {
            max-width: 100%;
            pointer-events: none !important;
        }

        .collection-item p {
            pointer-events: none !important;
            margin: 0;
            position: absolute;
            top: 50%;
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
        }

        .collection-item .collection-item-col {
            height: 50px;
            max-height: 50px;
        }

我的头很痛,这太奇怪了。请帮忙。

2 个答案:

答案 0 :(得分:1)

.collection-item :hover {
    background-color: lightblue;
}

将此更改为(删除.collection-item和:hover之间的空间)

.collection-item:hover {
    background-color: lightblue;
}

答案 1 :(得分:0)

也许,您应该从以下位置添加更改代码:

.collection-item :hover {
    background-color: lightblue;
}

.collectionIsFocus .row :hover {
    background-color: lightblue !important;
}