未移入前
鼠标悬停到Item3时的效果
原理:
利用的鼠标移入到这个块级(父级)时,该块级有一个的:hover选择器,再用not排队其子元素中选择器:hover的元素。
<div class="sibling-fade">
<span>Item 1</span>
<span>Item 2</span>
<span>Item 3</span>
<span>Item 4</span>
<span>Item 5</span>
<span>Item 6</span>
</div>
span {
padding: 0 1rem;
transition: opacity 0.2s;
}
.sibling-fade:hover span:not(:hover) {
opacity: 0.5;
}
同样的,利用:hover选择器与CSS3的transform属性可以实现很多好看的效果出来。
特别注意:行内元素设置transform属性无效,需要把行内元素改变成行内块元素才行,如下:
* {
transition:All 0.4s ease-in-out;
-webkit-transition:All 0.4s ease-in-out;
-moz-transition:All 0.4s ease-in-out;
-o-transition:All 0.4s ease-in-out;
cursor: pointer;
}
span{display: inline-block;} //关键代码,行内元素改成行内块元素
.sibling-fade:hover span:not(:hover){
transform:rotate(360deg) scale(1.2);
-webkit-transform:rotate(360deg) scale(1.2);
-moz-transform:rotate(360deg) scale(1.2);
-o-transform:rotate(360deg) scale(1.2);
-ms-transform:rotate(360deg) scale(1.2);
}