У меня есть ситуация, когда я изменяю элемент с помощью псевдокласса hover как при наведении курсора на родительский элемент, так и при наведении курсора. К сожалению, у них есть конфликтующее свойство (оба пытаются определить свойство transform
), поэтому - я полагаю - масштабирование не работает, когда кнопка находится над курсором, а курсор изменяется. Есть ли способ обойти использование только CSS?
body {
overflow: hidden;
}
#action-panel {
align-items: center;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
padding: 20px 20px 20px 20px;
position: absolute;
right: 0;
transform: translateY(-50%);
top: 50%;
}
#action-panel:hover .action-button {
opacity: 1;
transform: translateX(0);
}
.action-button {
background-color: lightblue;
border-radius: 25px;
height: 50px;
margin-bottom: 20px;
opacity: 0;
transition: opacity 200ms ease-in-out, transform 200ms ease-in-out;
transform: translateX(calc(100% + 20px));
width: 50px;
}
.action-button:hover {
cursor: pointer;
transform: translateX(0) scale(1.2);
}
.action-button span {
font-size: 30px;
left: 50%;
position: relative;
transform: translate(-50%, -50%);
top: 50%;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<div id="action-panel">
<div class="action-button"><span class="material-icons">3d_rotation</span></div>
<div class="action-button"><span class="material-icons">compare_arrows</span></div>
<div class="action-button"></div>
</div>
Примечание:
Если вы не можете узнать из кода, вам нужно переместить курсор в середину правого края, чтобы увидеть эффекты, которые я описываю.