当前位置: 首页 > Web前端 > CSS

解决“带border的子元素设置宽度绝对值后缩放浏览器会错位”的两种方法

时间:2023-03-31 11:43:40 CSS

现象:使用浮动布局时,如果给border的宽度指定一个绝对值子元素,并且子元素有边框,缩放浏览器时会出现Misalignment。出现这种现象的原因是:浏览器缩放时,子元素的父元素内容按比例缩放,但子元素的边框无法按比例缩放。缩放到一定程度后,子元素会比父元素大,从而出现Misalignment。示例:left

right
正常显示效果:错位后出现缩小到原来的67%:解决方法一:使用box-sizing属性的border-box。[border-box:指定宽高(minimum/maximum属性)来确定元素的边框框。也就是说,指定元素的宽度和高度包括指定填充和边框。内容的宽度和高度减去各自的边。边框和填充的宽度根据指定的“宽度”和“高度”属性计算]css:缩放50%后的效果方案二:浮动子元素,即两个元素不在同一个文档流中,避免错位CSS:缩放30%后的效果: