Flex容器中SVG图标存在多余内边距或无法居中问题求助
解决停靠栏图标居中及间隙问题
从你的代码和截图来看,导致图标无法居中、出现不明间隙的原因可以从这几个方面修复:
给停靠栏容器添加正确的flex对齐属性
你的#dock容器已经设置了display: flex,但缺少水平和垂直居中的关键属性,补充后内部元素会自动在容器内居中:#dock { position: absolute; border: .5px solid #d9d9d9; background-color: rgba(240, 240, 240, 0.75); backdrop-filter: blur(5px); display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ left: 50%; bottom: 0%; transform: translate(-50%, -30%); border-radius: 2vw; padding: .6vw 0 .6vw 0; }清除父容器的默认边距
浏览器默认会给div元素添加微小边距,这可能是间隙来源之一。给SVG的父级div重置边距和内边距:#dock > div { margin: 0; padding: 0; }修正SVG标签的规范写法
你代码里的<svg -- />属于不规范写法,可能导致渲染异常,建议改为标准闭合标签:<div><svg></svg></div>
调整后,图标应该能在停靠栏内正常居中,不明间隙也会消失。
内容的提问来源于stack exchange,提问作者WingedMolotov
相关产品推荐
相关产品推荐

