平板端(≥1024px)如何实现绝对定位子图的自适应布局?
平板端电路背景子图的响应式定位问题
需求
我需要在一张背景图上放置子图,使它们看起来像是连接到电路上。
当前效果代码
CSS
.container { background-image: url('https://i.sstatic.net/AfygH.png'); height: 400px; background-position: center; background-size: stretch; background-repeat: no-repeat; } .coil { position: absolute; top: 70%; left: 10%; } .evaporator { position: absolute; top: 15%; left: 55%; } .compressor { position: absolute; top: 75%; left: 60%; }
HTML
<div class="container"> <div class="coil"> <img src="https://i.sstatic.net/SKUms.png" alt="coil-image" /> </div> <div class="evaporator"> <img src="https://i.sstatic.net/spv58.png" alt="evaporator-image" /> </div> <div class="compressor"> <img src="https://i.sstatic.net/fzSaH.png" alt="compressor-image" /> </div> </div>
核心问题
如何让class为coil、evaporator、compressor的绝对定位图片在平板端所有屏幕上实现响应式?目前使用开发者工具切换视图时,绝对定位元素会出现错位。本应用仅支持平板端,屏幕像素从1024px开始。
预期效果
子图能始终精准贴合背景电路的对应位置,随容器宽度自适应调整,不会出现错位。
更新后的代码(固定像素定位)
CSS
.container { background-image: url('https://i.sstatic.net/AfygH.png'); height: 400px; width: 750px; background-position: center; background-size: stretch; background-repeat: no-repeat; } .coil { position: absolute; top: 200px; left: 200px; } .evaporator { position: absolute; top: 35px; left: 415px; } .compressor { position: absolute; top: 220px; left: 440px; }
HTML
<div class="container"> <div class="coil"> <img src="https://i.sstatic.net/SKUms.png" alt="coil-image" /> </div> <div class="evaporator"> <img src="https://i.sstatic.net/spv58.png" alt="evaporator-image" /> </div> <div class="compressor"> <img src="https://i.sstatic.net/fzSaH.png" alt="compressor-image" /> </div> </div>
现存问题说明
当.container使用固定宽度(如750px)时可以正常显示:
- 1024px尺寸屏幕下,
.container宽度为750px; - 但屏幕尺寸超过1024px(如1248px)时,
.container宽度会变为800px左右。
随着.container宽度变化,绝对定位元素仍停留在原来的固定像素位置,导致错位。我需要让这个容器占屏幕尺寸的约75%,右侧还要放置另一个div,求解决方案。
内容的提问来源于stack exchange,提问作者Hello World
相关产品推荐
相关产品推荐

