根据我对浏览器的了解' CSS处理算法,选择器*+p
的性能影响小于p+*
,不是吗?
因此,在p+*
浏览器中,扫描页面上的所有元素,并跟随p
后面的那些元素应用相应的规则。
在*+p
中,它首先只查找p
,但它会在p
之前找到一些元素后立即停止搜索,从而减少搜索迭代次数&#34 ;?或者*
仍会扫描所有内容。
此外,哪些工具可以显示CSS加载时间和其他重量级'信息。只找到那些搜索未使用或超额规则并压缩CSS以获得更小尺寸的那些。
在上下文中 - 我需要将top-margin应用于p
之后的任何元素(p+p
除外),内容是动态生成的。
读过旧的浏览器遭受了很多普遍的选择,这个问题就出现了。
答案 0 :(得分:1)
我需要将top-margin应用于p后面的任何元素(p + p除外)
p + :not(p) {
background:red;
}
就性能/效率而言,请查看Page Speed(FF)或Speed Tracer(Chrome)浏览器扩展程序,这两种扩展程序都可以帮助您分析/识别问题CSS。
答案 1 :(得分:1)
如果只为所有p元素添加下边距,那么结果是否相同呢?然后,您可以为p+p
添加一个带有负上边距的规则来抵消效果,例如:
p {
margin-bottom: 10px;
}
p + p {
margin-top: -10px;
}