:CSS选择器的问题_html/css_WEB-ITnose

在为一个网站写一个通用的CSS,对不同的网页做不同的布局修改。但是网站的HTML不可修改。遇到一个选择器的问题,请教一下各位。

网页中有个类叫做 class1, 这是唯一能识别网页的东西,只出现一次。他的子元素的子元素…(四级)之后有多个并列的元素(有网页内唯一的ID, p0c1,p0c2,…)需要分别做不同的修改。

information

 name *

  

 Test code *

  

我试了两种方法都有问题:
1、直接使用ID。但这将和网站的其他网页冲突(结构类似,有重复的ID)
2、使用class1 :nth-child(1) :nth-child(3) :nth-child(1) :nth-child(1) 。但是选择器用一个nth-child的时候不仅选了第n个子元素,还选了第n个子元素的子元素,造成冲突。

请问,是否有如下方法:
1、在class1的子孙元素中按ID号选择?
2、如何正确的使用nth-child只选择第n个元素而不牵扯其他后代?

各位如果有其他方法,也敬请告知,多谢!

回复讨论(解决方案)

$(‘.class1 div div div #p0c1’)

第二个问题:
我从你代码copy下来的结构结果用这个也行,可能你给的结构有问题所以和你的(:nth-child(1) :nth-child(3) :nth-child(1) :nth-child(1))有点出入,不是大问题

$(‘.class1 div:nth-child(1) div:nth-child(1) div:nth-child(2) #p0c1’)

试验了下这个方法
nth-child(1)

结果可以总结为:
这个nth-child(n) 是针对所有 有父元素的子元素起作用,当然 如果前面用了.class1 div:nth-child(1) div:nth-child(1) div:nth-child(2) 想后面再加一次过滤:nth-child(1) 就是在那一串的结果里的所有层次的子元素(其实就包含了所有子孙)只要符合就都会成为返回结果

举个例子:
 div:nth-child(2)
如果直接用这个来做选择器,那整个HTML里 满足一下几点的所有元素都会成为结果
1. 这个有父元素 
2. 这个子元素排行第二,有一个哥哥
3. 这个元素是 div

是的,第二个nth-child的解释我明白了,确实比较头疼。好在第一个好像能用。我晚上有空该好程序后就能确定是不是好用,先谢谢了。

楼主,你先把结构整理好。 区分不同的东西,可以使用id,id是唯一的。

楼主,你先把结构整理好。 区分不同的东西,可以使用id,id是唯一的。

其他网页也有这个ID,只用ID会冲突的。

$(‘.class1 div div div #p0c1’)

基本上解决了问题,周一到公司还要测试一下,但是应该能用。多谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3091885.html

(0)
上一篇 2025年3月28日 13:19:28
下一篇 2025年2月23日 08:34:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论