我遇到了一个问题,我无法在悬停时更改另一个div来更改css属性。
我的HTML结构如下:
<section class="grid panel-small">
<div class="col-6 grid-container">
<div class="col-12 item">
<a href="#" class="item-area gold">
<div class="full-row" style="
background-image: url(https://www.painterartist.com/static/ptr/product_content/painter/2018/bob-ross/gallery/03.jpg)">
</div>
<div class="item-description">
<div class="item-description-inner">
<h2>Title</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec faucibus sed sem eget efficitur.</p>
<div class="feature-btn">
View more
<i class="fas fa-angle-right"></i>
</div>
</div>
</div>
</a>
</div>
</div>
</section>
我希望能够将item-description-inner
更改为具有正余量而非负值。
这是我的CSS:
main#container .grid, main#container .grid .grid-container {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
}
main#container .grid .grid-container .item {
-webkit-flex: 1 auto;
flex: 1 auto;
position: relative;
overflow: hidden;
}
main#container .grid .grid-container .item > .item-area {
position: relative;
width: 100%;
display: block;
z-index: 1
}
main#container .grid .grid-container .item > .item-area > .full-row {
padding-bottom: 56.222%;
}
main#container .grid .grid-container .item > .item-area > .half-row {
padding-bottom: 112%;
padding-bottom: calc( 2 * 56.222%);
}
main#container .grid .grid-container .item > .item-area .item-description {
padding-right: 55px;
padding-bottom: 33px;
padding-left: 55px;
position: relative;
z-index: 2;
}
main#container .grid .grid-container .item > .item-area .item-description > .item-description-inner {
margin-top: -31px;
margin-bottom: 31px;
}
.item > .item-area:hover .item-description > .item-description-inner {
margin-top: 31px;
}
我阅读了这篇S.O文章,并阅读了~
和+
,但这些选择器都不适用于我。
答案 0 :(得分:1)
您正面临特异性问题,因为初始选择器比具有悬停
的选择器更具体这个更具体:
main#container .grid .grid-container .item > .item-area .item-description > .item-description-inner
比这个:
.item > .item-area:hover .item-description > .item-description-inner
要解决此问题,您可以为第二个添加更多特定内容,并将其设为:
main#container .grid .grid-container .item > .item-area:hover .item-description > .item-description-inner
你也可以使第一个不那么具体
答案 1 :(得分:-1)
试试这个:
.item-description-inner {
margin-top: -31px;
margin-bottom: 31px;
}
.item-description-inner:hover {
margin-top: 31px;
}