我想用transition:transform
缩放:hover
上图形内部的图像,但#image
没有反应。
HTML:
<h1 id="title">Leo Tolstoy</h1>
<p class="subtext" id="subheader">An extremist with a cool beard</p>
<figure id="img-div">
<img id="image" src="tolstoi-portrait.jpeg"/>
<figcaption id="img-caption"
class="subtext">Tolstoy thinking about salvation</figcaption>
</figure>
CSS:
#img-div{
background-color: var(--color-pink);
border-radius: 5px;
padding:2rem;
padding-bottom:0;
margin:1rem auto;
}
#img{
display: block;
transition: transform 1s;
}
#img:hover{
transform: scale(1.05,1.05);
}
为什么transform
适用于容器<figure>
,但不适用于嵌套的<img>
?
的外观
#img
没有转换,至少在您的示例中是这样。转换不是继承的。
在您的标记上,我没有看到带有id="img"
的元素,这就是您在css上使用#img { ... }
的目标。
如果你想以<img>
元素为目标,那么你可以在css上写img { ... }
(没有#
(
此外,使用类而不是id来设置元素的样式也是一个好主意
您可以更改html以将类添加到图像中,例如