前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS复合选择器

CSS复合选择器

作者头像
星辰_大海
发布2020-09-30 12:36:27
4330
发布2020-09-30 12:36:27
举报
文章被收录于专栏:h5学习笔记h5学习笔记

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签。

交集选择器

交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.special。

记忆技巧:

交集选择器 是 并且的意思。 即...又...的意思

代码语言:javascript
复制
比如:   p.one   选择的是: 类名为 .one  的 段落标签。  

用的相对来说比较少,不太建议使用。

并集选择器

并集选择器(CSS选择器分组)是各个选择器通过逗号连接而成的,任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。

记忆技巧:

并集选择器 和 的意思, 就是说,只要逗号隔开的,所有选择器都会执行后面样式。

代码语言:javascript
复制
比如  .one, p , #test {color: #F00;}  表示   .one 和 p  和 #test 这三个选择器都会执行颜色为红色。  通常用于集体声明。

后代选择器

后代选择器又称为包含选择器,用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

 子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签

子元素选择器

子元素选择器只能选择作为某元素子元素的元素。其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接,注意,符号左右两侧各保留一个空格。

白话: 这里的子 指的是 亲儿子 不包含孙子 重孙子之类。

代码语言:javascript
复制
 比如:  .demo > h3 {color: red;}   说明  h3 一定是demo 亲儿子。  demo 元素包含着h3。

属性选择器

选取标签带有某些特殊属性的选择器 我们称为属性选择器

<style>

        /* 选择input中带有value属性的 */

        input[value] {

            color: pink;

        }

        /* 选择input中带有type属性且值为password的 */

        input[type="password"] {

            color: red;

        }

        /* 选择input中有name属性且属性值以pas开头的 */

        input[name^=pas] {

            color: royalblue;

        }

        /* 选择input中有name属性且属性值以word结尾的 */

        input[name$=word] {

            color: violet;

        }

        /* 选择input中有type属性且属性值中含有t的 */

        input[type*="t"] {

            color: aqua;

        }

    </style>

<body>

    <input type="text" value="123" name="text">

    <input type="password" name="pas">

    <input type="text" name="password">

    <input type="text" name="word">

</body>

伪元素选择器(CSS3)

  1. E::first-letter文本的第一个单词或字(如中文、日文、韩文等)
  2. E::first-line 文本第一行;
  3. E::selection 可改变选中文本的样式;

p::first-letter { font-size: 20px; color: hotpink; }

/* 首行特殊样式 */ p::first-line { color: skyblue; }

p::selection { /* font-size: 50px; */ color: orange; }

4、E::before和E::after

在E元素内部的开始位置和结束位创建一个元素,该元素为行内元素,且必须要结合content属性使用。

代码语言:javascript
复制
div::befor {
  content:"开始";
}
div::after {
  content:"结束";
}

E:after、E:before 在旧版本里是伪元素,CSS3的规范里“:”用来表示伪类,“::”用来表示伪元素,但是在高版本浏览器下E:after、E:before会被自动识别为E::after、E::before,这样做的目的是用来做兼容处理。

E:after、E:before后面的练习中会反复用到,目前只需要有个大致了解

":" 与 "::" 区别在于区分伪类和伪元素

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 交集选择器
  • 并集选择器
  • 后代选择器
  • 子元素选择器
  • 属性选择器
  • 伪元素选择器(CSS3)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档