一.复杂选择器

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. 哈希Hash定义

    Hash,一般翻译做"散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值. ...

  2. 【Linux常见问题】CentOS 7 root用户密码忘记,找回密码方法

    1.开机按esc 2.选择CentOS Linux (3.10.0-693.......)     按 e 键: 3.光标移动到 linux 16 开头的行,找到 ro 改为 rw init=sysr ...

  3. RHEL6 搭建 keepalived + lvs/DR 集群

    搭建 keepalived + lvs/DR  集群 使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务: LVS1调度器真实IP地址为192.168.4. ...

  4. Jenkins 项目构建

    一:新建项目 (1)点击新建,输入项目名称--构建一个自由风格的软件项目,点击ok (2)构建触发器-----设置每两分钟执行一次 其中有5个参数 (*****) 第一个是代表分钟  一小时内的分钟数 ...

  5. muduo网络库源码学习————原子性操作Atomic.h

    原子性操作可以做到比互斥锁更小的开销,在多线程编程中原子性操作是非常有用的.Atomic.h文件位于muduo/base下,代码如下: // Use of this source code is go ...

  6. linux下编译boost的多线程程序

    linux下面用boost库进行多线程编程,一开始总是编译不成功,花了好多的时间. 下面是一段小示例代码: //start from the very beginning,and to create ...

  7. redis系列之3----redis高级应用(主从、事务与锁、持久化)

    文章主目录 安全性设置 主从复制 事务与锁 持久化机制 发布以及订阅消息 上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下 ...

  8. 一键运行CIS安全扫描,集群安全无忧!

    CIS安全扫描是Rancher 2.4推出的其中一个重磅功能,旨在帮助用户快速.有效地加强集群的安全性.本文将详细介绍CIS安全扫描这一功能,包含详细的操作demo. 本文来自Rancher Labs ...

  9. (2).mybatis单元测试(junit测试)

    一.Junit使用步骤:1.创建测试目录,(src.测试目录是test)2.在测试目录test中创建与src中相同的包名3.为需要测试的类创建测试类,例如:UsersMapper,测试类是UsersM ...

  10. 【Scala】利用akka实现Spark启动通信

    文章目录 思路分析 步骤 一.创建maven工程,导包 二.master进程代码开发 三.worker进程代码开发 思路分析 1.首先启动master,然后依次启动worker 2.启动worker时 ...