为什么要深入研究CSS溢出机制?在实际的开发过程中,经常会看到内容溢出的情况。如果不深入理解这个机制,你会经常遇到这样的问题:为什么这个元素不受祖先元素的overflow:hidden的影响?这里出现的滚动条是什么元素?如何去掉这个滚动条?如何在指定元素上添加滚动功能?在本文中,我们将从CSS标准出发,讨论CSS溢出机制的细节。当一个盒子(块容器盒子)的内容(孩子、孙子等后代)超过盒子本身的大小时,就会发生溢出。这个时候CSS属性overflow决定了如何处理overflow。这个css属性大家都知道,这里就不展开讨论了。这里有一些需要注意的地方:溢出会影响元素所有内容的裁剪和滚动,但有一个例外:“它会影响除任何后代元素(及其各自的内容和后代)之外的所有元素内容的裁剪其包含块是视口或元素的祖先。”也就是说overflow所在的元素一定是content元素的直接或间接包含块,那么overflow属性就会影响到content元素。比如
