我在CSS中为某些div创建了一些悬停条件。一,我测试过父母关系过渡(#play-field:hover#cont2),另一个我测试过自我过渡(#piccont2:hover),两者似乎都无法正常工作。我可以开始工作的唯一悬停是a:悬停。
是否会出现一般风格的东西阻止这些悬停过渡?或者我是否误解了如何制作一个可以挽救的div?
a:hover {
color:green;
}
html, body {
font-size: 18px;
color: white;
font-family:'Oswald', sans-serif;
margin: 0;
padding: 0;
overflow:hidden;
height:100%;
width:100%;
}
#header {
height: 10vh;
/*100 */
background: #ed3144;
/* ruby */
text-align: right;
position: relative;
box-shadow: 0px 5px 3px black;
}
#footer {
height: 13.5vh;
/*100 */
background: #181616;
/* almost black */
text-align: right;
position: relative;
top: -6vh;
z-index: -1;
}
#above-footer {
height: 3vh;
background: #FFD700;
position: relative;
top: -13vh;
z-index: 0;
}
#header-content {
position:absolute;
bottom:5px;
right: 10px;
}
#dropbin {
position: relative;
text-align:center;
}
#dropbinbar {
height:3.5vh;
/*35*/
background: #181616;
/* almost black */
z-index: -3;
}
#bin {
height: 6vh;
/*60*/
width: 13%;
background: #635856;
/*greyish*/
z-index: -1;
box-shadow: -5px 5px 3px #181616;
text-align: center;
float:left;
}
#bin-content {
position:absolute;
text-align: center;
/*text-transform: uppercase;*/
font-size: 30px;
font-size: 1.5vw;
font-weight: normal;
bottom: .5vw;
width: 100%;
}
#playing-field {
height:73vh;
/*865*/
clear:both;
overflow: hidden;
position:relative;
top: -6vh;
z-index: -10;
}
#playing-field:hover #cont2 {
height: 80%;
background: #ed3144;
}
#piccont1 {
width: 200px;
height: 200px;
background-color: #ed3144;
/* ruby */
margin:0 auto;
position: absolute;
top: -webkit-calc(50% - 100px);
top: -moz-calc(50% - 100px);
top: -calc(50% - 100px);
left: -webkit-calc(25% - 100px);
left: -moz-calc(25% - 100px);
left: -calc(25% - 100px);
z-index: 0;
}
#piccont2 {
width: 200px;
height: 200px;
background-color: black;
margin: 0 auto;
position: absolute;
top: -webkit-calc(50% - 100px);
top: -moz-calc(50% - 100px);
top: -calc(50% - 100px);
left: -webkit-calc(75% - 100px);
left: -moz-calc(75% - 100px);
left: -calc(75% - 100px);
z-index: 0;
}
#cont1 {
width: 50%;
height: 100%;
float: left;
background: black;
z-index: -4;
}
#cont2 {
width: 50%;
height: 100%;
float: right;
background: #ed3144;
z-index: -3;
}
#piccont2:hover :
-webkit-transform: translate(3em, 0);
-moz-transform: translate(3em, 0);
-o-transform: translate(3em, 0);
-ms-transform: translate(3em, 0);
left: -webkit-calc(50% - 100px);
left: -moz-calc(50% - 100px);
left: -calc(50% - 100px);
background-color: #ed3144;
}
答案 0 :(得分:3)
您正在使用负Z-indexing,几乎所有内容都放在Z-stack中body
之后,这意味着各个元素上的hover
行为永远不会被触发。您可以看到,如果您在#contX
元素上点击“检查元素”,Chrome会选择<body>
,因为这是它在该位置找到的第一个元素,自上而下。
不要使用低于0的Z值,除非你有充分的理由这样做,并且确切地知道后果,它是CSS的一个复杂部分。