CSS 过渡变换
CSS transition transform
请问有没有办法只在鼠标滑过整个文字时才旋转图标?
代码如下所示:
.text .icon {
vertical-align: middle;
font-size: 40px;
transition: transform 0.5s;
}
.icon:hover {
transform: rotate(360deg);
}
.text {
margin: 0 auto;
clear: both;
font-size: 23px;
}
<p class="text">
<span class="icon">i</span><a href="#" target="_blank">Text</a>
</p>
图标会旋转,但只有在鼠标悬停在其自身上时才会旋转。
谢谢
您可以使用 .text:hover .icon
作为选择器,当悬停在 p 元素上时它会旋转。
首先,请注意带有 display: inline
的元素不应该是 transformable element,因此 transform
属性 不适用于它。要使其工作,您可以添加
.text > .icon {
display: inline-block;
}
然后,要在悬停 .text
时将某些样式设置为 .icon
,您应该使用此选择器:
.text:hover > .icon
.text {
margin: 0 auto;
font-size: 23px;
}
.text > .icon {
vertical-align: middle;
font-size: 40px;
transition: transform 0.5s;
display: inline-block;
}
.text:hover > .icon {
transform: rotate(360deg);
}
<p class="text">
<span class="icon">i</span><a href="#" target="_blank">Text</a>
</p>
请问有没有办法只在鼠标滑过整个文字时才旋转图标?
代码如下所示:
.text .icon {
vertical-align: middle;
font-size: 40px;
transition: transform 0.5s;
}
.icon:hover {
transform: rotate(360deg);
}
.text {
margin: 0 auto;
clear: both;
font-size: 23px;
}
<p class="text">
<span class="icon">i</span><a href="#" target="_blank">Text</a>
</p>
图标会旋转,但只有在鼠标悬停在其自身上时才会旋转。
谢谢
您可以使用 .text:hover .icon
作为选择器,当悬停在 p 元素上时它会旋转。
首先,请注意带有 display: inline
的元素不应该是 transformable element,因此 transform
属性 不适用于它。要使其工作,您可以添加
.text > .icon {
display: inline-block;
}
然后,要在悬停 .text
时将某些样式设置为 .icon
,您应该使用此选择器:
.text:hover > .icon
.text {
margin: 0 auto;
font-size: 23px;
}
.text > .icon {
vertical-align: middle;
font-size: 40px;
transition: transform 0.5s;
display: inline-block;
}
.text:hover > .icon {
transform: rotate(360deg);
}
<p class="text">
<span class="icon">i</span><a href="#" target="_blank">Text</a>
</p>