css怎么选择父元素下的某个元素?

更新日期: 2019-12-21阅读: 3.9k标签: 选择器

css可以通过一些选择器来实现选择父元素下某个元素的效果。


选择器有:

  • :first-child p:first-child(first第一个 child子元素)(找第一个子元素为p)

  • :last-child p:last-child(last倒数 child子元素)(找倒数第一个子元素为p)

  • :first-of-type p:first-of-type(first第一个 type类型)(找第一个p)

  • :last-of-type p:last-of-type(last倒数 type类型)(找倒数第一个p)

  • :nth-child(n) p:nth-child(2)(2第二个 child子元素)(找第二个子元素为p)

  • :nth-last-child(n) p:nth-last-child(2)(last倒数 2第二个 child子元素)(找倒数第二个子元素为p)

  • :nth-of-type(n) p:nth-of-type(2)(2第二个 type类型)(找第二个p)

  • :nth-last-of-type(n) p:nth-last-of-type(2)(last倒数 2第二个 type类型)(找倒数第二个p)

  • :only-of-type span:only-of-type(only只有一个 type类型)(只有一个类型为span的)

  • :only-child   p:only-child(only只有一个 child子元素)(只有一个子元素,这里只有一个那么那一个也只能是p了)


效果

测试html:

<div>
    <span>span</span>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
</div>
<div>
    <p>p1</p>
    <span>span</span>
    <p>p2</p>
    <p>p3</p>
</div>
<div>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
    <span>span</span>
</div>

p:first-child

/*属于其父元素的首个子元素的每个 <p> 元素*/
/*先找p元素 再找p的父元素下的第一个子元素为p的(first第一个 child子元素)(找第一个子元素为p)*/
p:first-child {
    background-color: yellow;
}


p:last-child

/*属于其父元素的最后一个子元素的 p 元素*/
/*先找p元素 再找p的父元素下的倒数第一个子元素为p的元素
(last倒数  child子元素)(找倒数第一个子元素为p)*/
p:last-child {
    background-color: yellow;
}


p:first-of-type

/*指定父元素的首个 p 元素*/
/*先找p元素 再找p的父元素下的第一个p元素(first第一个 type类型)(找第一个p)*/
p:first-of-type {
    background: #ff0000;
}


p:last-of-type

/*指定父元素的最后一个 p 元素*/
/*先找p元素 再找p的父元素下的倒数第一个p元素(last倒数 type类型)(找倒数第一个p)*/
p:last-of-type {
    background: #ff0000;
}


p:nth-child(2)

/*规定属于其父元素的第二个子元素的每个 p 的背景色:*/
/*先找p元素 再找p的父元素下的第二个子元素为p(2第二个 child子元素)(找第二个子元素为p)*/
p:nth-child(2) {
    background: #ff0000;
}


p:nth-last-child(2)

/*规定属于其父元素的第二个子元素的每个 p 元素,从最后一个子元素开始计数:*/
/*先找p元素 再找p的父元素下的倒数第二个子元素为p
(last倒数 2第二个 child子元素)(找倒数第二个子元素为p)*/
p:nth-last-child(2) {
    background: #ff0000;
}


p:nth-of-type(2)

/*规定属于其父元素的第二个 p 元素的每个 p:*/
/*先找p元素 再找p的父元素下的第二个p元素(2第二个 type类型)(找第二个p)*/
p:nth-of-type(2) {
    background: #ff0000;
}


p:nth-last-of-type(2)

/*规定属于其父元素的第二个 p 元素的每个 p,从最后一个子元素开始计数:*/
/*先找p元素 再找p的父元素下的倒数第二个p元素(last倒数 2第二个 type类型)(找倒数第二个p)*/
p:nth-last-of-type(2) {
    background: #ff0000;
}


span:only-of-type

/*指定属于父元素的特定类型的唯一子元素的每个 p 元素*/
/*先找span 再找span的父元素下只有一个类型为span的元素
(only只有一个 type类型)(只有一个类型为span的)*/
span:only-of-type {
    background: #ff0000;
}


p:only-child

/*规定属于其父元素的唯一子元素的每个 p 元素:*/
/*先找p 再找p的父元素下只有一个子元素
(only只有一个 child子元素)(只有一个子元素,这是只有一个那么那一个也只能是p了)*/
p:only-child {
    background: #ff0000;
}

链接: https://www.fly63.com/article/detial/7532

CSS3 target 选择器_:target伪类的使用

arget作为目标伪类选择器,是css3中的新特性之一。URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。:target 选择器可用于选取当前活动的目标元素。

css兄弟选择器(+ 和 ~)的使用和区别

这篇文章主要讲解css中兄弟选择器的使用,以及+和~的区别有哪些?+ 选择器:如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。 ~ 选择器:作用是查找某一个指定元素的后面的所有兄弟结点。

jquery的选择器有哪些?如何对元素取值和设置值

jQuery 选择器 jQuery 选择器允许您对 HTML 元素组或单个元素进行操作, Jquery 选择器包括:基本选择器、层叠选择器 、基本过滤选择器 、内容过滤选择器、可视化过滤选择器.....

CSS中的focus-within伪类选择器

在CSS中 :focus-within 是一个伪类,CSS中伪类:focus-within能非常方便处理获取焦点状态, 当元素本身或其后代获得焦点时,:focus-within伪类的元素就会有效。

vue 选择器_实现scoped深度作用选择器

vue项目中,当<style>标签有scoped属性时,它的 CSS 样式只作用于当前组件中的元素,父组件的样式将不会渗透到子组件中。如果你希望 scoped 样式中的一个选择器能够作用得更深,例如影响子组件

css 选择器符号

空格:后代选择器,表示div元素里面所有的p元素。> 子选择器:表示div元素里面所有的子代(不含孙代及以后)p元素,~兄弟元素选择器:表示.cls元素往后的同级的p元素

css选择器总结_30个CSS3选择器

总结30个CSS3选择器:*选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除浏览器默认样式的方法。

css节点选择器

基础选择器是选择器的所有选择器的基本组成元素,也最简单,包含如下5个类别:ID选择器,标签选择器,类选择器,属性选择器,通配选择器

CSS3 中关于 *-of-type 和 *-child的差异性及适用场景

CSS3 中有很多表示元素序号的选择器,有以下几种:first-child、:first-of-type、:last-of-type、:only-of-type、:only-child、:nth-child(n)、:nth-last-child(n)、:nth-of-type(n)、:nth-last-of-type(n)、:last-child

微信小程序文档没写支持, 但是实际支持的选择器有哪些?

目前支持的选择器有,在实践中我发现, 除了文档上说的几种选择器, 经过测试发现其实还有几种支持的选择器没有列举!还支持哪些选择器?

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!