CSS3 基础(1)——选择器详解-程序员宅基地

技术标签: ui  

 CSS3选择器详解

一、 属性选择器

  在CSS3中,追加了三个属性选择器分别为:[att*=val]、[att^=val]和[att$=val],使得属性选择器有了通配符的概念。

选择器

示例

描述

[attribute^=value]

[src^="https"]

选择每一个src属性的值以"https"开头的元素

[attribute$=value]

[src$=".pdf"]

选择每一个src属性的值以".pdf"结尾的元素

[attribute*=value]

[src*="runoob"]

选择每一个src属性的值包含子字符串"runoob"的元素

             示例:

代码

说明

div[class^="test"]{background:#ffff00;}

设置class属性值以"test"开头的所有div元素的背景颜色

[class^="test"]{background:#ffff00;}

设置class属性值以"test"开头的所有元素的背景颜色

div[class$="test"]{background:#ffff00;}

设置class属性值以"test"结尾的所有div元素的背景颜色

[class$="test"]{background:#ffff00;}

设置class属性值以"test"结尾的所有元素的背景颜色

div[class*="test"]{background:#ffff00;}

设置class属性值包含"test"的所有div元素的背景颜色

[class*="test"]{background:#ffff00;}

设置class属性值包含"test"的所有元素的背景颜色

 二、结构性伪类选择器(一)

选择器

示例

描述

结构性伪元素选择器

:first-letter

p:first-letter

选择每一个<P>元素的第一个字母

:first-line

p:first-line

选择每一个<P>元素的第一行

:before

p:before

在每个<p>元素之前插入内容

:after

p:after

在每个<p>元素之后插入内容

结构性伪类选择器:共同特征是允许开发者根绝文档中的结构来指定元素的样式

:root

:root

选择文档的根元素

:not(selector)

:not(p)

选择每个并非p元素的元素

:empty

p:empty

选择每个没有任何子级的p元素(包括文本节点)

:target

#news:target

选择当前活动的#news元素(包含该锚名称的点击的URL)

     ①每个<p>元素之后插入内容: p:after{ content:"- Remember this"; } 

     ②设置HTML文档的背景色: :root{ background:#ff0000; } 

      :root选择器用匹配文档的根元素,在HTML中根元素始终是HTML元素。

     ③为每个并非<p>元素的元素设置背景颜色: :not(p) { background:#ff0000; } 

     ④指定空的p元素的背景色: p:empty { background:#ff0000; } 

      :empty选择器选择每个没有任何子级的元素(包括文本节点)。

     ⑤:target选择器可用于当前活动的target元素的样式,只能用id标识

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>菜鸟教程(runoob.com)</title>
 6     <style>
 7         :target{
 8         border: 2px solid #D4D4D4;
 9         background-color: #e5eecc;
10         }
11     </style>
12 </head>
13 <body>
14     <h1>This is a heading</h1>
15     <p><a href="#news1">Jump to New content 1</a></p>
16     <p><a href="#news2">Jump to New content 2</a></p>
17     <p>Click on the links above and the :target selector highlight the current active HTML anchor.</p>
18     <p id="news1"><b>New content 1...</b></p>
19     <p id="news2"><b>New content 2...</b></p>
20 </body>
21 </html>                

三、结构性伪类选择器(二)

选择器

示例

描述

:first-child

p:first-child

指定只有当<p>元素是其父级的第一个子级的样式。

:last-child

p:last-child

选择每个p元素是其父级的最后一个子级。

:nth-child(n)

p:nth-child(2)

选择每个p元素是其父级的第二个子元素

:nth-last-child(n)

p:nth-last-child(2)

选择每个p元素的是其父级的第二个子元素,从最后一个子项计数

:nth-of-type(n)

p:nth-of-type(2)

选择每个p元素是其父级的第二个p元素

:nth-last-of-type(n)

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

选择每个p元素的是其父级的第二个p元素,从最后一个子项计数

    ①指定父元素中最后一个p元素的背景色: p:last-child{ background:#ff0000; } 

    ②指定每个p元素匹配同类型中的倒数第2个同级兄弟元素背景色: p:nth-last-child(2){ background:#ff0000; } 

    ③:nth-child(n)选择器匹配父元素中的第n个子元素,n可以是一个数字,一个关键字(奇偶数等关键字),或者一个公式。该索引的第一个子节点是1。

    ④:nth-of-type(n)选择器匹配同类型中的第n个同级兄弟元素,n可以是一个数字,一个关键字,或者一个公式。该索引的第一个子节点是1。

     p:nth-of-type(odd){background:#ff0000;}

   p:nth-of-type(even){background:#0000ff;} 

  ⑤使用公式(an+ b).描述:a代表一个循环的大小,N是一个计数器(从0开始),以及b是偏移量。 在这里,我们对所有索引是3的倍数的p元素指定了背景颜色: p:nth-child(3n+0){ background:#ff0000; } 

  ⑥:only-child择器匹配属于父元素中唯一子元素的元素。 p:only-child{background:#ff0000; } 

四、UI元素状态伪选择器

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

选择器

示例

描述

:link

a:link

选择所有未访问链接

:active

a:active

选择活动链接

:hover

a:hover

选择鼠标在链接上面时

:focus

input:focus

选择具有焦点的输入元素(选中)

:checked

input:checked

选择每个选中的输入元素

:hover在鼠标移到链接上时添加的特殊样式。

提示: :hover 选择器器可用于所有元素,不仅是链接。

提示: :link 选择器设置了未访问过的页面链接样式, :visited 选择器设置访问过的页面链接的样式 :active选择器设置当你点击链接时的样式。

注意: 为了产生预期的效果,在 CSS 定义中,:hover 必须位于 :link 和 :visited 之后!

  ②:focus选择器用于选择具有焦点的元素。

    提示: :focus选择器接受键盘事件或其他用户输入的元素。

             一个输入字段获得焦点时选择的样式:input:focus{background-color:yellow;}

 1 <html>
 2 <head>
 3     <meta charset="utf-8"> 
 4     <title></title>
 5     <style>
 6         input:focus{
 7             background-color:yellow;
 8         }
 9     </style>
10 </head>
11 <body>
12     <p>点击文本输入框表单可以看到黄色背景:</p>
13     <form>
14         First name: <input type="text" name="firstname" /><br>
15         Last name: <input type="text" name="lastname" />
16     </form>
17     <p><b>注意:</b>  :focus 作用于 IE8,DOCTYPE 必须已声明</p>
18 </body>
19 </html>                            

    ③:checked 选择器匹配每个选中的输入元素(仅适用于单选按钮或复选框)。

    为所有选中的输入元素设置背景颜色:input:checked { height: 50px; width: 50px; }

 1 <html>
 2 <head>
 3     <meta charset="utf-8">
 4     <title></title>
 5     <style>
 6         input:checked {
 7             height: 50px;
 8             width: 50px;
 9         }
10     </style>
11 </head>
12 <body>
13     <form action="">
14         <input type="radio" checked="checked" value="male" name="gender" /> Male<br>
15         <input type="radio" value="female" name="gender" /> Female<br>
16         <input type="checkbox" checked="checked" value="Bike" /> I have a bike<br>
17         <input type="checkbox" value="Car" /> I have a car
18     </form>
19 </body>
20 </html>

选择器

示例

描述

:enabled

input:enabled

选择每一个已启用的输入元素

:disabled

input:disabled

选择每一个禁用的输入元素

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8"> 
 5     <title>菜鸟教程(runoob.com)</title> 
 6     <style> 
 7         input:enabled{
 8         background:#ffff00;
 9         }
10         input:disabled{
11         background:#dddddd;
12         }
13     </style>
14 </head>
15 <body>
16     <form action="">
17         First name: <input type="text" value="Mickey" /><br>
18         Last name: <input type="text" value="Mouse" /><br>
19         Country: <input type="text" disabled="disabled" value="Disneyland" /><br>
20         Password: <input type="password" name="password" />
21         <input type="radio" value="male" name="gender" /> Male<br>
22         <input type="radio" value="female" name="gender" /> Female<br>
23         <input type="checkbox" value="Bike" /> I have a bike<br>
24         <input type="checkbox" value="Car" /> I have a car 
25     </form>
26 </body>
27 </html>

五、通用兄弟元素选择器:

  它用来指定位于一个父元素之中的某个元素之后的所有其他某个种类的兄弟元素所使用样式。

  如:同一div下的子p 元素,以“~”连接, div ~ p{background-color:gold} 

转载于:https://www.cnblogs.com/gdwkong/p/7260084.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30786657/article/details/98710268

智能推荐

python中文显示不出来_解决Python词云库wordcloud不显示中文的问题-程序员宅基地

文章浏览阅读2.6k次。解决Python词云库wordcloud不显示中文的问题2018-11-25背景:wordcloud是基于Python开发的词云生成库,功能强大使用简单。github地址:https://github.com/amueller/word_cloudwordcloud默认是不支持显示中文的,中文会被显示成方框。安装:安装命令:pip install wordcloud解决:经过测试发现不支持显示中文..._词云python代码无法输出文字

台式计算机cpu允许温度,玩游戏cpu温度多少正常(台式电脑夏季CPU一般温度多少)...-程序员宅基地

文章浏览阅读1.1w次。随着炎热夏季的到来,当玩游戏正爽的时候,电脑突然死机了,自动关机了,是不是有想给主机一脚的冲动呢?这个很大的原因是因为CPU温度过高导致的。很多新手玩家可能都有一个疑虑,cpu温度多少以下正常?有些说是60,有些说是70,到底多高CPU温度不会死机呢?首先我们先看看如何查看CPU的温度。下载鲁大师并安装,运行鲁大师软件,即可进入软件界面,并点击温度管理,即可看到电脑各个硬件的温度。鲁大师一般情况下..._台式机玩游戏温度多少正常

小白自学Python日记 Day2-打印打印打印!_puthon打印任务收获-程序员宅基地

文章浏览阅读243次。Day2-打印打印打印!我终于更新了!(哭腔)一、 最简单的打印最最简单的打印语句: print(“打印内容”)注意:python是全英的,符号记得是半角下面是我写的例子:然后进入power shell ,注意:你需要使用cd来进入你保存的例子的文件夹,保存时名字应该取为xxx.py我终于知道为什么文件夹取名都建议取英文了,因为进入的时候是真的很麻烦!如果你没有进入正确的文件夹..._puthon打印任务收获

Docker安装:Errors during downloading metadata for repository ‘appstream‘:_"cenerrors during download metadata for repository-程序员宅基地

文章浏览阅读1k次。centos8问题参考CentOS 8 EOL如何切换源? - 云服务器 ECS - 阿里云_"cenerrors during download metadata for repository \"appstream"

尚硅谷_谷粒学苑-微服务+全栈在线教育实战项目之旅_基于微服务的在线教育平台尚硅谷-程序员宅基地

文章浏览阅读2.7k次,点赞3次,收藏11次。SpringBoot+Maven+MabatisPlusmaven在新建springboot项目引入RELEASE版本出错maven在新建springboot项目引入RELEASE版本出错maven详解maven就是通过pom.xml中的配置,就能够从仓库获取到想要的jar包。仓库分为:本地仓库、第三方仓库(私服)、中央仓库springframework.boot:spring-boot-starter-parent:2.2.1.RELEASE’ not found若出现jar包下载不了只有两_基于微服务的在线教育平台尚硅谷

随便推点

网络学习第六天(路由器、VLAN)_路由和vlan-程序员宅基地

文章浏览阅读316次。路由的概念路由器它称之为网关设备。路由器就是用于连接不同网络的设备路由器是位于OSI模型的第三层。路由器通过路由决定数据的转发。网关的背景:当时每家计算机厂商,用于交换数据的通信程序(协议)和数据描述格式各不相同。因此,就把用于相互转换这些协议和格式的计算机称为网关。路由器与三层交换器的对比路由协议对比路由器的作用:1.路由寻址2.实现不同网络之间相连的功能3.通过路由决定数据的转发,转发策略称为 路由选择。VLAN相关技术什么是VLAN?中文名称叫:虚拟局域网。虚_路由和vlan

设置div背景颜色透明度,内部元素不透明_div设置透明度,里面的内容不透明-程序员宅基地

文章浏览阅读2.8w次,点赞6次,收藏22次。设置div背景颜色透明度,内部元素不透明:.demo{  background-color:rgba(255,255,255,0.15) } 错误方式:.demo{ background-color:#5CACEE;opacity:0.75;} 这样会导致div里面的元素内容和背景颜色一起变透明只针对谷歌浏览器的测试_div设置透明度,里面的内容不透明

Discuz!代码大全-程序员宅基地

文章浏览阅读563次。1.[ u]文字:在文字的位置可以任意加入您需要的字符,显示为下划线效果。2.[ align=center]文字:在文字的位置可以任意加入您需要的字符,center位置center表示居中,left表示居左,right表示居右。5.[ color=red]文字:输入您的颜色代码,在标签的中间插入文字可以实现文字颜色改变。6.[ SIZE=数字]文字:输入您的字体大小,在标签的中间插入文..._discuzcode 大全

iOS NSTimer定时器-程序员宅基地

文章浏览阅读2.6k次。iOS中定时器有三种,分别是NSTimer、CADisplayLink、dispatch_source,下面就分别对这三种计时器进行说明。一、NSTimerNSTimer这种定时器用的比较多,但是特别需要注意释放问题,如果处理不好很容易引起循环引用问题,造成内存泄漏。1.1 NSTimer的创建NSTimer有两种创建方法。方法一:这种方法虽然创建了NSTimer,但是定时器却没有起作用。这种方式创建的NSTimer,需要加入到NSRunLoop中,有NSRunLoop的驱动才会让定时器跑起来。_ios nstimer

Linux常用命令_ls-lmore-程序员宅基地

文章浏览阅读4.8k次,点赞17次,收藏51次。Linux的命令有几百个,对程序员来说,常用的并不多,考虑各位是初学者,先学习本章节前15个命令就可以了,其它的命令以后用到的时候再学习。1、开机 物理机服务器,按下电源开关,就像windows开机一样。 在VMware中点击“开启此虚拟机”。2、登录 启动完成后,输入用户名和密码,一般情况下,不要用root用户..._ls-lmore

MySQL基础命令_mysql -u user-程序员宅基地

文章浏览阅读4.1k次。1.登录MYSQL系统命令打开DOS命令框shengfen,以管理员的身份运行命令1:mysql -u usernae -p password命令2:mysql -u username -p password -h 需要连接的mysql主机名(localhost本地主机名)或是mysql的ip地址(默认为:127.0.0.1)-P 端口号(默认:3306端口)使用其中任意一个就OK,输入命令后DOS命令框得到mysql>就说明已经进入了mysql系统2. 查看mysql当中的._mysql -u user