CSS第n个孩子元素写法

html-css016

CSS第n个孩子元素写法,第1张

在开发中,需要这样一个需求,需要找到第n个孩子元素。一时想不起来应该怎么写,经过查阅后得知。

因此记录一下,以免日后再忘记。

:nth-child 是CSS伪类,它首先找到所有当前元素的兄弟元素,然后按照位置 先后顺序从1开始排序 ,选择的结果为CSS伪类:nth-chilid括号中表达式(an+b)匹配到的元素集合。(n=0,1,2,3)。

tr:nth-child(2n+1)

表示表格中的奇数行

tr:nth-child(odd)

表示表格汇总的奇数行

tr:nth-child(2n)

表示表格中的偶数行

tr:nth-child(even)

表示表格中的偶数行

span:nth-child(0n+1)

表示子元素中第一个且为span的元素,与:first-child选择器的作用相同

span:nth-child(-n+3)

匹配前三个子元素中的span元素

https://developer.mozilla.org/zh-CN/docs/Web/CSS/:nth-child

因为<b>会继承父元素<span>的颜色,所以变红,color属性是可继承的。并不是子选择器的原因。你可以把{color:red}换成{border:1px solid red}看看第三层有没有边框?

希望子元素撑开父级元素可以使用以下两种方法:

1、父级版元素宽度不固定,父级元素设置为inline-block或者添加float;

2、对父级元素使用min-width,这样只限制了最小的宽度,如果子元素变宽,父级同样会变宽。

3、首先父类元素必须不是相对定位,如果是相对定位宽度就会默认为百分百。所以必须是绝对定位或者fixed。其实设置了这一步,父类的div已经达到要求了。

4、用第三种方法有个不足之处就是,如果子类运用了浮动的话,因为浮动会会脱离文档流,所以不能撑开父类,这时候可以给父类元素加一句overflow:hidden这样就可以让浮动元素也撑开父类。

扩展资料:

当子元素全部浮动时如何解决父元素无法撑开的解决办法:

1、父元素添加高度。

此方法可以将父元素显示出来。

缺点:但当调整子元素高度的时候,若要实现父元素包含子元素的效果,就也要调整父元素高度。实在很麻烦!所以此方法不要用!

2、父元素也添加浮动。

以暴制暴的方法!别人浮起来自己也要跟着一起浮。

缺点:虽然可以解决问题,但是后面要添加有不需要浮动的子元素,则影响其显示。

3、给父元素添加overflow:hidden;

缺点:一旦包含非浮动的子元素,则会影响其显示。

4、给父元素添加一个无关的元素,让添加的无关元素去清除浮动 clean:both;

缺点:添加了一个无关元素,代码阅读受影响。

5、通过伪类来实现,在需要清除浮动的父元素里,添加一个清除浮动的伪类。

推荐此方法,比较高级,而且没有以上缺点。