CSS伪元素选择器和属性选择器
伪元素
能使用伪元素来选择元素中的一些特殊位置
一、给段落定义样式
- :first-letter 首字母(只能用于块元素)
- :first-line 第一行
1、为p元素中的第一个字符设置颜色为黄色,字体为30px
p:first-letter{color:yellow;font-size:30px;}
<p>这是一个段落</p>

2、为p中的第一行设置背景颜色为绿色(多写点)
p:first-line{background-color:green;}

二、元素前后部分
- :before 表示元素最前面的部分(紧随着开始标签的后面)
- :after 表示元素最后面的部分(紧挨着结束标签的前面)
一般before和after都要结合content这个样式一起使用,通过content向before或after的位置添加一些内容。
所添加的内容因为是通过css添加的所以无法选中这部分内容。
1、在p元素后面添加文字内容
p:after{content:"会出现在元素的最后面";color:blue;}

2、在p元素前面添加文字(使用伪类元素插入的内容“会出现在元素的最前面”这部分内容不可选中)
p:before{content:"会出现元素的最前面";color:orange;}

属性选择器
按属性选择元素,可以对具有给定属性或属性值的元素进行格式化,按属性选择要设置的 元素
语法结构:
No1、首先是选择器(要考察其属性的元素的选择器)
No2、接着输入属性的名称(元素要考察的属性的名称)
方括号[ ],包围目标属性和目标值。
No3、选择相应的属性选择器,属性选择器有:
- [属性名] 匹配具体的属性,不问具体属性值是什么
- [属性名="value"] 属性值符合条件的元素将被选中
- [属性名~="value"] 属性值包含这里的value的元素将被选中(属性值还可以包含其他内容,不同的属性值之间空隔分开)必须匹配完整的单词,而不是单词的一部分。
- [属性名|="value"] (前面是管道符号|,不是1或字母L),表示属性值等于这里的value或是以value-开头的元素将会被选中。不用输入连字符
- [属性名^="value"] 表示属性值以这里的value开头(作为完整的单词,或单词的一部分)的元素将被选中
- [属性名$="value"] 表示属性值这里以value结尾(作为完整的单词,或单词的一部分)的元素将被选中
- [属性名*="value"] 表示属性值至少包含这里的value一次的元素将被选中,value不必是属性值中的完整单词
实例:
1.选择所有具有class属性的段落p,设置其前景色为红色
p[class]{color:red}
<p class="b1">第一个段落</p>
<p class="b2">第二个段落</p>
<p>第三个段落</p>

2.选择任何lang属性值等于en(必须完全匹配)的p元素,设置前景色为红色
p[lang="en"] {color:red}
<p lang="en">第一个段落</p>
<p>第二个段落</p>
<p>第三个段落</p>

3、~=可以测试单词的部分匹配,即匹配以空格相邻的多个单词中的一个(完整单词)。选择class属性中属性值中有boxone的article元素,并设置其背景颜色为黄色。
article[class~="boxone"] {background-color:yellow}
<article class="boxone content">article</article>
<article class="boxoone">center</article>

(1) *=选择器可以匹配部分字符串(不需要完整的单词)
article[class*="box"] {background-color:yellow} √

(2) 当写成如下形式的时候,这个选择器将无法匹配,因为box不是空格分隔的单词列表中某个完整的单词。
article[class~="box"] {background-color:yellow} ×

4、|=选择任何带有lang属性且属性值是以es开头的h2,设置前景颜色为蓝色。
h2[lang|="es"] {color:blue}
<h2 lang="es">第一个二级标题</h2>
<h2 lang="zh">第二个二级标题</h2>

5、可以通过联合使用多种选择器,选择既有href属性,又有任意属性值包含单词box的class属性的a元素,设置背景颜色为橙色。
a[href][class~="box"] {background-color:orange}
<a href="http://www.baidu.com">百度</a>
<a href="#" class="box link">未链接</a>
<a href="http://www.baidu.com" id="box">其他进入方式</a>

6、*=选择器选择所有既有href属性,又有任意属性包含are(作为完整单词或单词的一部分,如hare、dare。无论are出现在属性值的什么位置)的title属性的a元素。
a[href][title*="are"] {font-size:30px}
<a href="#" title="百度are">百度</a>
<a href="#" title="sinlangsre">新浪</a>
<a href="#" title="wangyi">网易</a>

7、^=选择器匹配任何href属性以http://开头(作为完整的单词,或单词的一部分)的a元素。
a[href^="http://"] {background-color:red}
<a href="http://www.baidu.com">百度</a>
<a href="#">新浪</a>

8、匹配任何src属性完全等于logo.png的img元素。
img[src="wj1.png"] {border:1px solid green}
<img src="wj.png">

9、选择器的精确度比前一个低,匹配任何src属性值以。png结尾的img元素。
img[src$=".png"] {border:1px solid green}
<img src="wj.png">
<img src="1.jpg">
CSS伪元素选择器和属性选择器的更多相关文章
- jQuery如何改变css伪元素样式
首先我们看一下css伪元素是什么: CSS 伪元素用于向某些选择器设置特殊效果. 伪元素有哪些: :first-line 伪元素:"first-line" 伪元素用于向文本的首行设 ...
- (六)CSS伪元素
CSS伪元素用于向某些选择器设置特殊效果. 伪元素的用法和伪类相似: selector:pseudo-element {property:value;} CSS类也可以与伪元素配合使用: select ...
- css伪元素
CSS 伪元素用于向某些选择器设置特殊效果. 1.:first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式.注意:"first-li ...
- 学习CSS之如何改变CSS伪元素的样式
一.CSS伪元素 CSS 伪元素用于向某些选择器设置特殊效果. 伪元素的用法如下: selector:pseudo-element {property:value;} CSS 类也可以和伪元素搭配使用 ...
- js分析 汽_车_之_家 js生成css伪元素 hs_kw44_configUS::before
0.参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-elements https://developer.mozilla.org/ ...
- css中的7中属性选择器
在CSS的选择符中有七个属性选择符.它们分别是: 1.E[att] 选择具有att属性的E元素. 2.E[att="val"] 选择具有att属性且属性值等于val的E元素. 3. ...
- 妙味css3课程---1-1、css中自定义属性可以用属性选择器么
妙味css3课程---1-1.css中自定义属性可以用属性选择器么 一.总结 一句话总结:可以的. 1.如何实现用属性选择器实现a标签根据href里面含有的字段选择背景图片? p a[href*=te ...
- 使用JavaScript获取CSS伪元素属性
我们可以通过DOM元素的 style 属性获取基本的CSS样式值, 但怎么获取CSS伪元素属性呢? 如下 // 获取 .element:before 的 color 值 var color = win ...
- CSS 伪元素
CSS伪元素是用来添加一些选择器的特殊效果. 语法 伪元素的语法: selector:pseudo-element {property:value;} CSS类也可以使用伪元素: selector.c ...
随机推荐
- VM CentOS建立共享文件夹实现VS Code在windows环境下go开发,在centos环境里编译
简介 笔记本没办法更换系统,但是开发又必须在linux环境下进行,直接在vm界面环境下开发,卡的都蒙13.无奈之下想到这个法子,来解决现有尴尬的局面>>> 共分3个部分安装: (1) ...
- urllib库认证,代理,cookie
认证,代理,cookie 1from urllib.request import HTTPBasicAuthHandler, HTTPPasswordMgrWithDefaultRealm, buil ...
- 洛谷 P1631 序列合并(优先队列)
传送门 解题思路 首先读入a.b数组后,sort一遍(从小到大),然后把a[1]+b[1],a[2]+b[1],a[3]+b[1]……a[n]+b[1]全部加入一个优先队列q(小根堆). 然后从一到n ...
- nginx下载安装和虚拟机的配置
一. Nginx下载安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/usr/local/software/ wget http://nginx.org/download/n ...
- css是干什么的
css这些长篇累牍的参数,其实就是这些所谓的css编程者每天要干的事情了,他们把这些参数熟记于心,就像c++程序员,把这些函数库熟记于心一样,都是编程. css定制了每一个单独的组件,这些组件要么是相 ...
- osi七层模型??
1.应用层:提供用户服务,例如处理应用程序,文件传输,数据管理 (HTTP.RTSP.FTP) 2.表示层:做数据的转换和压缩,加解密等 3.会话层:决定了进程间的连接建立,选择使用什么样的 ...
- 1、Java调用C语言(本地法)
这是一个比较麻烦的方法.. 一.首先,你要先安装一个VC,我的装在了D:\software\C++\Microsoft Visual Studio 二.我的jdk安装目录是D:\Program ...
- 剑指offer-从尾到头打印链表-链表-python
题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 把链表依次放入list里面,反向打印 # -*- coding:utf-8 -*- # class ListNode: # d ...
- Excel如何通过关键字模糊匹配查找全称
打开excel,以其素材为例,通过关键字模糊匹配查找全称. 在公司名下输入公式:=LOOKUP(1,0/FIND(D2,A2:A5),A2:A5),按回车键确定即可. FIND(D2,A2:A ...
- Windows系统如何安装Redis
转自 http://blog.csdn.net/lamp_yang_3533/article/details/52024744 一.Redis的下载地址 Redis官方并没有提供Redis的windo ...