一.复杂选择器

1.兄弟选择器

兄弟元素,具备相同父元素的平级元素之间称为兄弟元素

兄弟选择器,只能找弟弟,不能找哥哥,只能往后找,不能往前找

①相邻兄弟选择器

选择器 + 选择器{}

获取紧紧挨在某元素后面的兄弟元素

p+.c1{color:#f00;}

②通用兄弟选择器

选择器 ~ 选择器{}

获取元素后面所有符合条件的兄弟

#p1~.c1{color:#f00;}

3.伪类选择器

:link  :visited  :hover  :active  :focus

①目标伪类

在锚点被激活时,让锚点元素应用的样式

:target{}

②结构伪类

1.选择器:first-child{}

匹配的元素是属于其父元素的第一个子元素(找大哥)

同时,这个大哥还需要符合选择器的要求

2.选择器:last-child{}

匹配的元素是是属于其父元素的最后一个子元素(找小弟)

同时,这个小弟还需要符合选择器的要求

3.选择器:nth-child(n)    n从1开始

③:empty

匹配内部没有任何元素标签,包括文本,空格,回车,都不能有

④:only-child

匹配属于其父元素的唯一子元素

⑤否定伪类

:not(selector)

4.伪元素选择器

①匹配元素的首行首字符

:first-letter 或者  ::first-letter

②匹配元素的首行

:first-line 或者  ::first-line

当首行与首字符发生了冲突,应用首字符的样式

③匹配用户选择的文本

这里必须是双::

::selection{}

这里的样式,只能修改文本颜色和背景颜色

④伪元素选择器,内容生成

生成的是一个元素

可以设置这个元素的显示方式,使用content:设置这个元素文本内容

以及所有可以使用的样式

content中只能给字符串和url(图片)

:before 或者 ::before 代表的是内容区域中,最靠前的部分

div::before{

content:"蒙奇.D.路飞说:";

display:block;

color:#f00;

background:#0ff;

width:100px;height:100px;

}

:after 或者 ::after 匹配到某元素内容区域最后的位置

伪元素添加内容,可以解决的问题

1.外边距溢出

#d1::before{

content:"",

display:table;

}

2.解决高度坍塌

#d2::after{

content:"";

display:block;

clear:both;

}

css3复杂选择器的更多相关文章

  1. CSS系列:CSS3新增选择器

    1. CSS1定义的选择器 选择器 类型 说明 E 类型选择器 选择指定类型的元素 E#id ID选择器 选择匹配E的元素,且匹配元素的id为“id”,E选择符可以省略. E.class 类选择器 选 ...

  2. CSS3常用选择器(三)

    在CSS3的选择器中,除了结构性伪类选择器外,还有一种UI元素状态伪类选择器.这些选择器的共同特征: 指定的样式只有当元素处于某种状态时才起作用,在默认状态下不起作用. 1.hover.focus.a ...

  3. CSS3 ::selection选择器

    一.介绍 之前看到有些网站选中内容的颜色和背景色都不是平时看到的蓝色和白色.今天有兴趣查看了一下,原来是一个很简单的CSS3的选择器::selection的用法. 上例子: <style> ...

  4. CSS3属性选择器与(:not)选择器

    一:css3属性选择器: img[alt]{ border:2px dashed #000; } 这个选择器会匹配页面标签中任何一个含有alt属性的图片标签.   还可以通过设定属性值来缩小匹配范围: ...

  5. 【前端开发系列】—— CSS3属性选择器总结

    想想自己为什么要学CSS,作为一个开发过前端的人员来说,调试一个图片花了半天的时间,最后发现分隔符用错了,实在是一件很丢人的事情.因此,痛下决心来学习CSS,最近一周也会更新下相关的学习笔记. CSS ...

  6. CSS3之选择器

    总结了下CSS3新增的一些选择器. CSS3的选择器有基本选择器.属性选择器.伪类选择器几类. CSS3选择器 选择器 举例 例子描述 element1~element2 p~a 选择前面有 < ...

  7. CSS3 :nth-child() 选择器

    CSS3 :nth-child() 选择器 代码: <!DOCTYPE html> <html> <head> <style> p:nth-child( ...

  8. css3属性选择器总结

    前两节介绍了css3属性选择器与css2属性选择器中: 包含字符串和以字符串选择器开头的选择器的比较. 全部属性选择器: 包含字符串讲解对比实例讲解链接: http://www.cnblogs.com ...

  9. CSS3选择器02—CSS3部分选择器

    该部分主要为CSS3新增的选择器 接上一篇 CSS(CSS3)选择器(1) 一.通用兄弟选择器: 24:E ~ F,匹配任何E元素之后的同级F元素. div ~ p{ background-color ...

  10. 笔记:css3伪选择器改变滚动条样式

    现在我打开支持前缀-webkit-的浏览器,也就是说只要支持前缀为-webkit-的浏览器才有效果 <!doctype html> <html lang="en" ...

随机推荐

  1. MySql --FIND_IN_SET() 函数 (转)

    例子:https://www.jianshu.com/p/b2c1ba0ba34f 举个例子来说:有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11 ...

  2. Ansible Jinja2 模板使用

    Ansible Jinja2 模板使用.语法与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...

  3. 利用python将excel数据导入mySQL

    主要用到的库有xlrd和pymysql, 注意pymysql不支持python3 篇幅有限,只针对主要操作进行说明 连接数据库 首先pymysql需要连接数据库,我这里连接的是本地数据库(数据库叫ld ...

  4. 异常:由 spring-session pom 引发

    错误异常 Correct the classpath of your application so that it contains a single, compatible version of o ...

  5. 徐州H

    #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #defi ...

  6. 【EditPlus】参数设置

    1. 设置javac,java快捷键 工具-参数设置-工具-用户工具 组和工具项-组名,更改组名为“java” 添加工具 javac 菜单文字:javac 命令:安装java的javac.exe的绝对 ...

  7. Ubuntu登陆时忘记密码怎么办

    有时候由于各种原因,用户会忘记自己登陆Ubuntu的登陆密码,这个时候我们能怎么办呢? 第一步:先重启电脑,开机时长按shift键,进入grub菜单: 第二步:按“e”键编辑启动项,显示如下图,将下图 ...

  8. KafkaConsumer assign VS subscribe

    背景 在kafka中,正常情况下,同一个group.id下的不同消费者不会消费同样的partition,也即某个partition在任何时刻都只能被具有相同group.id的consumer中的一个消 ...

  9. Objective-C对象模型

    Objective-C是一门面向对象的编程语言,每一个对象都是一个类的实例.XCode中打开objc.h可以看到如下定义: /// An opaque type that represents an ...

  10. 最长公共子串(Longest common substring)

    问题描述: 给定两个序列 X=<x1, x2, ..., xm>, Y<y1, y2, ..., yn>,求X和Y长度最长的公共子串.(子串中的字符要求连续) 这道题和最长公共 ...