You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何figure容器内img的:hover transform无响应,容器本身正常?

问题:为何transition:transform对figure容器内的img无效?

用户的代码如下:

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);
}

问题原因

CSS选择器不匹配:HTML中img的id是image,但CSS里写的是#img,这个选择器找不到对应的元素,所以transition和hover缩放的样式完全没作用在img上。

修正方案

把CSS中的#img替换成#image,同时建议给img添加max-width: 100%,避免缩放后超出figure容器的范围:

#img-div{
    background-color: var(--color-pink);
    border-radius: 5px;
    padding:2rem;
    padding-bottom:0;
    margin:1rem auto;
    overflow: hidden; /* 可选,防止图片缩放后超出容器显示 */
}

#image{
    display: block;
    max-width: 100%; /* 确保图片在容器内适配 */
    transition: transform 1s;
}

#image:hover{
    transform: scale(1.05,1.05);
}

修正后,img就能正常响应hover事件,实现平滑的缩放效果了。


内容的提问来源于stack exchange,提问作者Rodion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:06:25