一.复杂选择器

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. 什么是.pyc文件

    1. Python是一门解释型语言? Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在. 如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled ...

  2. Node.js快速创建一个访问html文件的服务器

    var http = require('http'), // 引入需要的模块 fs = require('fs'), //引入文件读取模块 cp = require('child_process'), ...

  3. 谁需要GUI?快看Linux 终端生存之道

    完全在 Linux 终端中生存并不容易,但这绝对是可行的. 处理常见功能的最佳 Linux shell 应用 你是否曾想像过完完全全在 Linux 终端里生存?没有图形桌面,没有现代的 GUI 软件, ...

  4. Java实现zip文件解压[到指定目录]

    2019独角兽企业重金招聘Python工程师标准>>> package com.ljheee.ziptool.core; import java.io.File; import ja ...

  5. 【K8S】基于单Master节点安装K8S集群

    写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8 ...

  6. 刷新DNS解析缓存+追踪+域名解析命令

    刷新DNS解析缓存 命令:ipconfig /flushdns 用于改完host之后. 追踪IP: 命令:tracert www.baidu.com 域名解析: 命令:nslookup www.bai ...

  7. LeetCode 56,区间合并问题

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第33篇文章,我们一起来看LeetCode的第56题,它的难度是Medium. 题意 这道题的题意也很简单,只有 ...

  8. jmeter4.0,启动jmeter.bat闪退问题

    问题描述: 电脑重装win10系统,配置好了java环境后,解压jmeter的zip包,然后按照网上的教程配置环境变量,然后兴冲冲启动jmeter.bat,结果,闪退,甚至连个报错信息都没有... 然 ...

  9. 学习笔记之MySQL的使用

    什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文 ...

  10. Web 跨域请求问题的解决方案- CORS 方案

    1.什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 跨域现象 实例 域名不相同 www.baidu.com与www.taobao 一级域名相同,但是端口不相同 www.baidu.com:80 ...