Я пытаюсь сделать простой пирог, круг, разделенный на четыре части:Выбор класса внутри элемента: первый-ребенок
<ul class='pie'>
<li class='slice'>
<div class='slice-contents'></div>
</li>
<li class='slice'>
<div class='slice-contents'></div>
</li>
<li class='slice'>
<div class='slice-contents'></div>
</li>
<li class='slice'>
<div class='slice-contents'></div>
</li>
</ul>
У меня есть этот CSS:
.pie {
position: relative;
margin: 1em auto;
border: dashed 1px;
padding: 0;
width: 32em;
height: 32em;
border-radius: 50%;
list-style: none;
}
.slice {
overflow: hidden;
position: absolute;
top: 0; right: 0;
width: 50%; height: 50%;
transform-origin: 0% 100%;
}
.slice-contents {
position: absolute;
left: -100%;
width: 200%; height: 200%;
border-radius: 50%;
}
.slice:first-child {
transform: rotate(15deg) skewY(-90deg);
}
.slice:first-child .slice-contents { background-color: lightblue; }
.slice:hover .slice-contents { background-color: violet; }
.slice:first-child .slice-contents
Безразлично» t выбрать ничего, кроме .slice:hover .slice-contents
.
Почему это?
Селектор работает отлично ... это весь элемент, не видно из-за преобразования, которое вы применили к нему. Удалите преобразование, и вы сразу увидите, как оно появляется, в lightblue. После этого перейдите к какому преобразованию _correct_, чтобы показать элемент везде, где вы хотите его ... – CBroe
OMG, вы правы! Благодаря :) – olefrank