解决“有边框的子元素宽度设定绝对值后,缩放浏览器会错位”的两种方法

现象:

用浮动布局时, 如果为子元素的宽度指定绝对值,并且子元素具有边框,在缩放浏览器的时候会出现错位现象。
这种现象产生的原因是:
浏览器缩放时,子元素父元素的内容都等比例缩放,而子元素的边框不能等比例缩放,在缩放到达一定程度后,会造成子元素大于父元素,从而产生错位现象。

举例:

    
left
right

正常显示效果:解决“有边框的子元素宽度设定绝对值后,缩放浏览器会错位”的两种方法_第1张图片

缩小为原本67%后产生错位:解决“有边框的子元素宽度设定绝对值后,缩放浏览器会错位”的两种方法_第2张图片

解决方法一:

利用box-sizing属性的border-box.[border-box:指定宽度和高度(最小/最大属性)确定元素边框box。也就是说,对元素指定宽度和高度包括padding和border的指定。内容的宽度和高度减去各自双方该边框和填充的宽度从指定的"宽度"和"高度"属性计算]
css:

缩放50%后的效果解决“有边框的子元素宽度设定绝对值后,缩放浏览器会错位”的两种方法_第3张图片

解决方法二:

将子元素浮动,即两个元素不在一个文档流中,从而避免产生错位
CSS:

缩放30%后的效果:图片描述

你可能感兴趣的:(解决“有边框的子元素宽度设定绝对值后,缩放浏览器会错位”的两种方法)