css3父级和子级都浮动了,那还用清除浮动吗?

html-css053

css3父级和子级都浮动了,那还用清除浮动吗?,第1张

浮动主要会影响后面其他的非浮动元素的布局,所以父元素的浮动是必须清除的,子元素也最好清除一下,以免出现一些莫名其妙的现象。

我们可以这么来理解:浮动就像是原本在地面的一幢房子忽然漂浮在空中,这样地面上它原本占用的地皮就要被其他新建的房子占用了(这是未清除浮动的情况),如果这时候出一个硬性规定:这个房子的地皮仍然保留,其他房子不得占用,那么后面的其他房子就不需要挪位置了,所有房子的整体布局就不会发生改变(这就是清除浮动的情况)。

如果div是父元素,span是子元素,a是隐藏的子元素,如下

div:hover span{display:inline-block或block;}

div:hover a{display:none}