今天在写 css 时,发现 first-child 选择器无效,因为本人是半路出家的前端,检查代码发现没问题,那就肯定是有什么特殊规定或者兼容问题我不知道,赶紧上网搜索了一下,果然是因为代码规范性的问题,记录如下:
p:first-child
选择的是第一个节点然后看这个节点是不是 p 元素,是的话生效。因此要生效,一定要保证要选择的元素前面没有兄弟节点,否则就用 div 包住。p:first-of-type
选择的是第一个 p 元素节点,这才是我默认理解的意思,因此使用这种方法也能达到选择first-child的效果,并且前面可以有节点。p:nth-of-type(1)
也能达到first-child的效果并且前面可以有节点,其实first-of-type
就是这种方法的一个语法糖。