背景图无法缩小问题求助:容器尺寸改变但背景图大小不变
问题:修改按钮尺寸后背景图不随容器缩放
初始效果:
HTML代码
<div class="lb-controlContainer"> <div class="lb-closeContainer"> <a class="lb-close"></a> </div> <div class="lb-downloadContainer" hidden=""> <a class="lb-download"></a></div><div class="lb-turnContainer" hidden=""> <a class="lb-turnLeft"></a><a class="lb-turnRight"></a> </div> <div class="lb-zoomContainer"> <a class="lb-zoomOut"></a> <a class="lb-zoomIn"></a> </div></div>
CSS代码
.lb-data .lb-zoomOut { display: block; float: left; width: 30px; height: 30px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAB7UlEQVRIieXWvWsUURTG4XPjJpgmlSFKRAtTWGjAj0ajiSKKFopg/AtELbQTAiI2IaazEhsLK0XEVisbISD4gY2FlQQixiAYxESiBn0sdoKTQHZ3dte18FR3uO97fufcmbmciH8UqVYhUkT0RER3RMxGxMeU0uJfqQoJJ/EAc5bHDzzGWXQ0E9qPZ/iMGziCXnRgPfZgDFN4i2PNgJ7IOryFdVW0a3EZ3zHSCHQfvuFCQd8hzONcPdAuzGC0sLnsP5UVvb2o8RpeY0094CzHXTwqYmjHLIbrhWZ5tuAX+mo1LL2jzkbAWa4XuFRJ05Zb74iIlymlhUbBETERETsrCUq59YaImM5vYlNEXKkBdCelNJF7fh/lRlaNtkqbDUbF6zjf8YeI2LXMmdJURJyvA9obETOVBPmOX0XE7mZ8XBExGBHPa1KihE843QgRffiJrUVMo3iDUnX1qjnu4WFRUxemMVYndBgLha/MzLw3M18s6DucXUDXC0NzSY7jC26ju4q2E1exmA0I8xhqBL4NT7MCbuIoNuYGgQGM4x0mMZJBmwJP2VBwPysgHwt4gjNLvyCGVsAH64avKKRHeSTabJU5awV8rmnwGgscyJ3QVxz8b+EHWgnf789MPon2VsIHlGfv/pZBc/DWdVopfgMdyEl3/DM14wAAAABJRU5ErkJggg==) top right no-repeat; text-align: right; outline: none; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; transition: opacity 0.2s; } .lb-data .lb-close { display: block; float: right; width: 20px; height: 20px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==) top right no-repeat; text-align: right; outline: none; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; transition: opacity 0.2s; }
修改按钮尺寸为width:10px;height:15px后:
实际显示效果:
容器尺寸已改变,但背景图大小仍保持不变,该如何解决?
解决方案
问题核心是默认情况下背景图会保持原始尺寸,不会自动适配容器。只需在CSS中添加background-size属性,让背景图跟随容器缩放即可。
调整后的CSS示例
针对目标类修改背景配置:
.lb-data .lb-zoomOut { display: block; float: left; width: 10px; height: 15px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAB7UlEQVRIieXWvWsUURTG4XPjJpgmlSFKRAtTWGjAj0ajiSKKFopg/AtELbQTAiI2IaazEhsLK0XEVisbISD4gY2FlQQixiAYxESiBn0sdoKTQHZ3dte18FR3uO97fufcmbmciH8UqVYhUkT0RER3RMxGxMeU0uJfqQoJJ/EAc5bHDzzGWXQ0E9qPZ/iMGziCXnRgPfZgDFN4i2PNgJ7IOryFdVW0a3EZ3zHSCHQfvuFCQd8hzONcPdAuzGC0sLnsP5UVvb2o8RpeY0094CzHXTwqYmjHLIbrhWZ5tuAX+mo1LL2jzkbAWa4XuFRJ05Zb74iIlymlhUbBETERETsrCUq59YaImM5vYlNEXKkBdCelNJF7fh/lRlaNtkqbDUbF6zjf8YeI2LXMmdJURJyvA9obETOVBPmOX0XE7mZ8XBExGBHPa1KihE843QgRffiJrUVMo3iDUnX1qjnu4WFRUxemMVYndBgLha/MzLw3M18s6DucXUDXC0NzSY7jC26ju4q2E1exmA0I8xhqBL4NT7MCbuIoNuYGgQGM4x0mMZJBmwJP2VBwPysgHwt4gjNLvyCGVsAH64avKKRHeSTabJU5awV8rmnwGgscyJ3QVxz8b+EHWgnf789MPon2VsIHlGfv/pZBc/DWdVopfgMdyEl3/DM14wAAAABJRU5ErkJggg==) top right no-repeat; /* 添加background-size属性适配容器 */ background-size: 100% 100%; text-align: right; outline: none; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; transition: opacity 0.2s; } .lb-data .lb-close { display: block; float: right; width: 10px; height: 15px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==) top right no-repeat; background-size: 100% 100%; text-align: right; outline: none; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; transition: opacity 0.2s; }
可选的background-size取值
100% 100%:背景图拉伸填满容器,可能会变形cover:背景图等比缩放覆盖容器,超出部分被裁剪contain:背景图等比缩放完整显示,容器可能留空白- 具体数值(如
8px 12px):直接指定背景图宽高
根据视觉需求选择合适取值即可。
内容的提问来源于stack exchange,提问作者user3653474
相关产品推荐
相关产品推荐

