我正在尝试使用CSS转换属性转换div
悬停。
我有变换做我想要的,但不幸的是它将变换(逻辑上我猜)应用于div
的内容我只想应用变换div
但不是基础内容(本例中为Icon)。
我在这里看到了一些方法,包括将反向过渡应用到图标,但是当我这样做时,它只是增加了效果。
以下是my code:
.MsgBtnIcon {
position: fixed;
bottom: 0px;
right: 7px;
padding: 0px;
}
#transDemo2 div {
display: block;
position: fixed;
bottom: 0px;
right: 0px;
background-color: #03A9F4;
width: 75px;
height: 75px;
text-align: center;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
#transDemo2 div:hover,
#transDemo2 div.hover_effect {
-webkit-transform: rotate(360deg) scale(2, 2) translateX(-19px) translateY(-19px);
-moz-transform: rotate(360deg) scale(2, 2) translateX(-19px) translateY(-19px);
-ms-transform: rotate(360deg) scale(2, 2) translateX(-19px) translateY(-19px);
transform: rotate(360deg) scale(2, 2) translateX(-19px) translateY(-19px);
}
<script src="https://use.fontawesome.com/353bc64522.js"></script>
<div id="transDemo2">
<div class="hover">
<i class="fa fa-plus fa-4x MsgBtnIcon" aria-hidden="true"></i>
</div>
</div>
答案 0 :(得分:1)
您可以将MsgBtnIcon
移动为悬停div的子项并添加pointer-events: none
来完成此操作。
.MsgBtnIcon {
position: fixed;
bottom: 0px;
right: 7px;
padding: 0px;
pointer-events: none;
}
#transDemo2 div {
display: block;
position: fixed;
bottom: 0px;
right: 0px;
background-color: #03A9F4;
width: 75px;
height: 75px;
text-align:center;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
#transDemo2 div:hover, #transDemo2 div.hover_effect {
-webkit-transform:rotate(360deg) scale(2,2) translateX(-19px) translateY(-19px);
-moz-transform:rotate(360deg) scale(2,2) translateX(-19px) translateY(-19px);
-ms-transform:rotate(360deg) scale(2,2) translateX(-19px) translateY(-19px);
transform:rotate(360deg) scale(2,2) translateX(-19px) translateY(-19px);
}
<script src="https://use.fontawesome.com/353bc64522.js"></script>
<div id="transDemo2">
<div class="hover"></div>
<i class="fa fa-plus fa-4x MsgBtnIcon" aria-hidden="true"></i>
</div>
答案 1 :(得分:-1)
可能最好简单地将遭受转换的部分与保持不受影响的部分分开,而不是与变换作斗争: https://jsfiddle.net/m1hqzaqf/
<script src="https://use.fontawesome.com/353bc64522.js"></script>
<div id="transDemo2">
<div class="hover">
</div>
<i class="fa fa-plus fa-4x MsgBtnIcon" aria-hidden="true">X</i>
</div>
毕竟,&#39; hover&#39;在这种情况下,无论如何,div似乎只是作为背景构成。