Css 第一个孩子太慢了。选择?

Css 第一个孩子太慢了。选择?,css,Css,我有一个div,它有几个孩子,上下都有边界。我希望那个部门的第一个孩子和最后一个孩子不要有这些边界。执行.myDiv>:first child太慢了,因为:first child首先匹配页面上的所有第一个子项。我可以向第一个元素添加一个.first类,但是子元素并不总是在那里。要确定哪一个是最重要的元素,需要复杂的逻辑 实现这一点的最佳实践是什么?不是对您的问题的回答(它太大,无法发表评论),但您是否真的有一个包含数千个元素的巨大页面,在使用慢速选择器时确实会出现性能问题?因为如果不是这样,我会

我有一个div,它有几个孩子,上下都有边界。我希望那个部门的第一个孩子和最后一个孩子不要有这些边界。执行
.myDiv>:first child
太慢了,因为:first child首先匹配页面上的所有第一个子项。我可以向第一个元素添加一个
.first
类,但是子元素并不总是在那里。要确定哪一个是最重要的元素,需要复杂的逻辑


实现这一点的最佳实践是什么?

不是对您的问题的回答(它太大,无法发表评论),但您是否真的有一个包含数千个元素的巨大页面,在使用慢速选择器时确实会出现性能问题?因为如果不是这样,我会说使用
:first child
伪类是非常好的


想想每天使用JavaScript端DOM操作所造成的、性能差得多的问题。从优化的角度来看,许多jQuery选择器是一场灾难。然而,如今的平均计算机功率只是缓解了大多数性能问题。

如果你问这个问题,我想你在页面上面临的渲染时间很慢。但是我坚信,页面呈现速度慢的原因可能不是在CSS上使用这个伪选择器造成的。可能还有更重要的因素在上下文中起作用并降低页面的整体性能


您使用的是透明图像还是透明元素?或者在JavaScript中大量使用伪选择器?

很遗憾,是的,这将是一个包含数千个元素的应用程序,而不是一个页面。我很乐意在简单的页面中忽略这个问题。@Jason啊,好的。那么,恐怕我认为没有比在第一个元素上打一个类更好的方法了,或者为了获得最佳性能,创建
id
s。这看起来像狗屎:)但如果这是一个真正的性能问题,它可能是值得的,所有CSS伪类和伪元素都不利于性能,并且在复杂的网站上使用时会导致速度急剧下降,等等。较新的浏览器倾向于更好地处理它,但较旧的浏览器,如IE8或较慢设备上的移动浏览器则不会:(这真的是一个太慢的情况(例如,有一个示例url?)还是一个假设的太慢的情况?这在小型网站或博客上可能根本不重要,但写得不好/未优化的CSS在更复杂的网站上可能是一个大问题。尤其是伪选择器和伪元素在性能方面是最差的。