使用css通用选择器(*)清除流

使用css通用选择器(*)清除流,css,css-float,Css,Css Float,这是可行的,但事实上我以前从未遇到过。它有一些弱点吗 div.floated { float: left; } div.floated+* { clear: both; } 虽然我没有注意到任何副作用。您可以随意使用它,但根据MDN,您应该考虑到,就网页性能而言,universal selector是最昂贵的CSS选择器 以下是我看到的一些问题: floated不是语义类名。 这将清除带有浮动类的div之后的相邻元素,但不会清除任何通过其他方式浮动的元素。 在我使用的大多数设计中,我不想清除相

这是可行的,但事实上我以前从未遇到过。它有一些弱点吗

div.floated { float: left; }
div.floated+* { clear: both; }

虽然我没有注意到任何副作用。

您可以随意使用它,但根据MDN,您应该考虑到,就网页性能而言,universal selector是最昂贵的CSS选择器


以下是我看到的一些问题:

floated不是语义类名。 这将清除带有浮动类的div之后的相邻元素,但不会清除任何通过其他方式浮动的元素。 在我使用的大多数设计中,我不想清除相邻的元素。现在我必须写更多的CSS来撤销这个。
我想我不明白这个值。

有时您可能不想清除浮动。换句话说,您可能需要两个或多个div.floated元素,因此这将成为一个问题。在父元素关闭之前,您不希望清除该float元素。如果在父级结尾之前放置一个,则清除浮动在该div的存在上。浮动>br{clear:both;},它将根据您的需要工作。+在这里实现了什么,它等效于一个空格吗?+是相邻的同级选择器。这意味着浮动div旁边的任何元素都将具有clear:tware;。所以-对,在单浮动的情况下-没有必要将该规则应用于这样的兄弟,不管它是什么,尤其是当内容是动态生成的时候。从我记忆中,它也有支持问题,但同样,没有。诅咒你!考虑到上面的链接,以及避免清除两者的想法:旧浏览器中的after pseudo元素-由于它们在*方面的灾难性性能-我认为这种情况毫无价值。非常感谢。