选择 :hover 用于多个元素
Selecting :hover for multiple elements
我在一个页面上有多个图像 (.entry
),我想为每个图像添加一个按钮,该按钮在用户将鼠标悬停在图像上时隐藏和显示。我做了一些研究,发现了将鼠标悬停在一个元素上时如何影响多个元素。但我想做相反的事情:我想 shorthand 我的 CSS button {"display: block;"}
用于任何图像的悬停状态。
我试过了:
1)
.entry01, .entry02, .entry03, .entry04, .entry05, .entry06, .entry07, .entry08, .entry09:hover button{
display: block;
}
结果:按钮仅在我将鼠标悬停在第 9 张图片上时显示
2)
.entry01:hover, .entry02:hover, .entry03:hover, .entry04:hover, .entry05:hover, .entry06:hover, .entry07:hover, .entry08:hover, .entry09:hover button{
display: block;
}
结果:按钮仅在我将鼠标悬停在第 9 张图片上时显示
我想我可以为每个人单独写出来,但希望能以更短的方式学习。我感谢任何想法!谢谢!!!
您需要在每个选择器中重复 button
:
.entry01:hover button, .entry02:hover button, .entry03:hover button, ... {
display: block;
}
每个逗号分隔的项目都被视为一个完整的选择器。如果您使用像 LESS 或 SASS 这样的预处理器,您也许可以简化它。
一个更好的解决方案可能是给所有这些相同的 class,例如
<div class="entry entry01">...</div>
那么你可以使用:
.entry:hover button {
display: block;
}
您可以向 html 代码中的所有 .entry(1-9) 标签添加新的 class:
<div class="hover entry1></div>
<div class="hover entry2></div>
等等
现在在您的 css 文件中:
.hover:hover button{
display: block;
}
试试这个...
<div class="entry">Image 1
<button class="btn">Button 1</button>
</div>
<div class="entry">Image 2
<button class="btn">Button 2</button>
</div>
.btn{display:none;}
.entry:hover button{display:block;}
这是一个有效的 JSFiddle http://jsfiddle.net/DivakarDass/k0pggay1/
我在一个页面上有多个图像 (.entry
),我想为每个图像添加一个按钮,该按钮在用户将鼠标悬停在图像上时隐藏和显示。我做了一些研究,发现了将鼠标悬停在一个元素上时如何影响多个元素。但我想做相反的事情:我想 shorthand 我的 CSS button {"display: block;"}
用于任何图像的悬停状态。
我试过了:
1)
.entry01, .entry02, .entry03, .entry04, .entry05, .entry06, .entry07, .entry08, .entry09:hover button{
display: block;
}
结果:按钮仅在我将鼠标悬停在第 9 张图片上时显示
2)
.entry01:hover, .entry02:hover, .entry03:hover, .entry04:hover, .entry05:hover, .entry06:hover, .entry07:hover, .entry08:hover, .entry09:hover button{
display: block;
}
结果:按钮仅在我将鼠标悬停在第 9 张图片上时显示
我想我可以为每个人单独写出来,但希望能以更短的方式学习。我感谢任何想法!谢谢!!!
您需要在每个选择器中重复 button
:
.entry01:hover button, .entry02:hover button, .entry03:hover button, ... {
display: block;
}
每个逗号分隔的项目都被视为一个完整的选择器。如果您使用像 LESS 或 SASS 这样的预处理器,您也许可以简化它。
一个更好的解决方案可能是给所有这些相同的 class,例如
<div class="entry entry01">...</div>
那么你可以使用:
.entry:hover button {
display: block;
}
您可以向 html 代码中的所有 .entry(1-9) 标签添加新的 class:
<div class="hover entry1></div>
<div class="hover entry2></div>
等等
现在在您的 css 文件中:
.hover:hover button{
display: block;
}
试试这个...
<div class="entry">Image 1
<button class="btn">Button 1</button>
</div>
<div class="entry">Image 2
<button class="btn">Button 2</button>
</div>
.btn{display:none;}
.entry:hover button{display:block;}
这是一个有效的 JSFiddle http://jsfiddle.net/DivakarDass/k0pggay1/