CSS选择器

一、选择器

    1、基本选择器

        (1)标签选择器
body{
		background: #14B3A2;
	}
  h1{
		color: #C648CD;
	}


        (2)id选择器:每个id唯一

                css部

#one{
		font-size: 20px;
	}
#two{
		font-colour:#fff;
	}


            HTML部分

<body id="one" >
	<h1 id="one" style="color: #FD0206">CSS的写法三</h1>
	<p id="one">哈哈
</p>

注意:一个id选择器不能同时定义两个id,所以一般是对每一个页面出现的唯一元素进行定义


        (3)class选择器-----可以多个同名
<head>
<meta charset="utf-8">
<title>无标题文档</title>
	<style type="text/css">
		.a{
			font-size: 70px;
		}
		.b{
			text-align: center;
		}
	</style>
</head>

<body>
	<p class="a b">id选择器</p>
</body>

注意:类选择器与id选择器不同的地方在于类选择器可以有多个


2、复合选择器

(1)介绍

​ 复合选择器:就是两个或者多个基本选择器,通过不同方式连接而成的选择器分为”交集“选择器、“并集”选择器

(2)分类
    a、嵌套:“交集”选择器:

由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集,其中第一必须是标记选择器,第二个 必须是类别选择器或者ID选择器,两个选择器之间不能有空格,必须连续书写,注意内外相邻的标签相同时,则无法指定位置,即嵌套无作用。

例1:
h3.class{
		color:red;font-size:23px;
		}
		
例2:
<style>
p{
	color: #0207FD;
 }
		
div p{
	color: #000000;
 }
		
p p{//无作用
	color: #03730C;
 }
 
 p span p{//无作用
			color:#F70307;
		}
</style>

<body>
	<h1>哈哈哈</h1>
	<h2>哈哈哈</h2>
	<p>哈哈哈</p>
	
	<div>
		<p>哈哈哈</p>
	</div>
	
	<p>
		<p>哈哈哈</p>
	</p>
	
	<span>
		<p>哈哈哈</p>
	</span>
	
	<p>
		<span>
			<p>
				哈哈哈
			</p>
		</span>
	</p>
</body>
</html>


    b、分组:“并集”选择器:

作用于相同的CSS操作的选择器,任何形式的选择器都可以,通过逗号连接而成,

h1,h2,h3{
		color:red;font-size:23px;
		}


3、层次选择器

(1)后代选择器(以空格分):

把外层的标记写在前面,内层的标记写在后面,之间用空格分隔,当标记发生嵌套时,内层的标记就成为外层标记的后代了,效果作用于内层的所有标签。

例1:
<html>
<head>
<title>后代选择器</title>
<style type="text/css">
p span{
  		 color:red
}
span
{
  color:blue;
}
</style>
</head>
<body>
<p>嵌套<span>用CSS</span>标记的方法</p>嵌套之外的<span>标记</span>不生效
</body>
</html>

例2:
<style>
div p{
			background-color:#1BFD01;
		}
</style>

<body class="center1">
	<div>
		<p>孩子</p>(有用)
		<span>
			<p>
				孙子(有用)
			</p>
		</span>
		<p>孩子</p>(有用)
	</div>
	<p>兄台</p>
	<p>后面的所有兄弟</p>
</body>


效果是:“用CSS”的显示红色,其他用<span>包围起来的是兰色

后代选择器产生的影响不仅限于元素的“直接后代”,而且会影响到它的“各级后代”

(2)子选择器(以大于号分):

也就是只有对直接后代有影响的选择器,而对“孙子”以及对个层的后代不产生作用。效果作用于某一个子元素。

例1:
p>span{
		color:blue;
		}
		
例2:
<style>
		div>p{
			background-color:#1BFD01;
		}
</style>

<body class="center1">
	<div>
		<p>孩子</p>(有用)
		<span>
			<p>
				孙子
			</p>
		</span>
		<p>孩子</p>(有用)
	</div>
	<p>兄台</p>
	<p>后面的所有兄弟</p>
</body>


(3)相邻兄弟选择器(以加号分隔)

即后一个标签

div+p{
			background-color: #FD02CD;
		}
		
<div>//后一个
		<p>孩子</p>
</div>
	<p>兄台</p> //显示的是这个




(4)普通兄弟选择器(以破折号分隔)

显示后面所有符合要求的元素

div~p{
		background-color: #FD02CD;
	}
	
<body class="center1">
	<div>
		<p>孩子</p>
	</div>
	<p>兄台</p>(显示这个)
	<p>后面的所有兄弟</p>(显示这个)
</body>


4、其他选择器

(1)通用选择器
*{ 
	margin:0;padding;:0; 
 }
*代表所有网页元素


(2)伪类别选择器

伪类别选择的符号是“:”,通常用于超链接,伪元素如: p:first-line ,以及CSS3中的结构化伪类。在后面有详细的介绍。

 a:link { color: #F00;
                  text-decoration: none; 
        }
 a:visited{ color: #000;
         text-decoration:none;  
         }
 a:hover { color: #F0F;
		 background-color:#999;

         }


5、全部选择器

序号选择器实例实例说明CSS备注
1.class.intro选择所有class="intro"的元素1
2#id#firstname选择所有id="firstname"的元素1
3**选择所有元素2
4elementp选择所有<p>元素1
5element,elementdiv,p选择所有<div>元素和<p>元素1
6element elementdiv p选择<div>元素内的所有<p>元素1
7element>elementdiv>p选择所有父级是 <div> 元素的 <p> 元素2
8element+elementdiv+p选择所有紧接着<div>元素之后的<p>元素2
9[attribute][target]选择所有带有target属性元素2
10[attribute=value][target=-blank]选择所有使用target="-blank"的元素2
11[attribute~=value][title~=flower]选择标题属性包含单词"flower"的所有元素2
12[attribute|=language][lang|=en]选择一个lang属性的起始值="EN"的所有元素2
13:linka:link选择所有未访问链接1
14:visiteda:visited选择所有访问过的链接1
15:activea:active选择活动链接1
16:hovera:hover选择鼠标在链接上面时1
17:focusinput:focus选择具有焦点的输入元素2
18:first-letterp:first-letter选择每一个<P>元素的第一个字母1伪元素,CSS3中使用::
19:first-linep:first-line选择每一个<P>元素的第一行1伪元素,CSS3中使用::
20:first-childp:first-child指定只有当<p>元素是其父级的第一个子级的样式。2
21:beforep:before在每个<p>元素之前插入内容2伪元素,CSS3中使用::
22:afterp:after在每个<p>元素之后插入内容2伪元素,CSS3中使用::
23:lang(language)p:lang(it)选择一个lang属性的起始值="it"的所有<p>元素2
24element1~element2p~ul选择p元素之后的每一个ul元素3
25[attribute^=value]a[src^="https"]选择每一个src属性的值以"https"开头的元素3
26[attribute$=value]a[src$=".pdf"]选择每一个src属性的值以".pdf"结尾的元素3
27[attribute*=value]a[src*="runoob"]选择每一个src属性的值包含子字符串"runoob"的元素3
28:first-of-typep:first-of-type选择每个p元素是其父级的第一个p元素3
29:last-of-typep:last-of-type选择每个p元素是其父级的最后一个p元素3
30:only-of-typep:only-of-type选择每个p元素是其父级的唯一p元素3
31:only-childp:only-child选择每个p元素是其父级的唯一子元素3
32:nth-child(n)p:nth-child(2)选择每个p元素是其父级的第二个子元素3
33:nth-last-child(n)p:nth-last-child(2)选择每个p元素的是其父级的第二个子元素,从最后一个子项计数3
34:nth-of-type(n)p:nth-of-type(2)选择每个p元素是其父级的第二个p元素3
35:nth-last-of-type(n)p:nth-last-of-type(2)选择每个p元素的是其父级的第二个p元素,从最后一个子项计数3
36:last-childp:last-child选择每个p元素是其父级的最后一个子级。3
37:root:root选择文档的根元素3
38:emptyp:empty选择每个没有任何子级的p元素(包括文本节点)3
39:target#news:target选择当前活动的#news元素(包含该锚名称的点击的URL)3
40:enabledinput:enabled选择每一个已启用的输入元素3
41:disabledinput:disabled选择每一个禁用的输入元素3
42:checkedinput:checked选择每个选中的输入元素3
43:not(selector):not(p)选择每个并非p元素的元素3
44::selection::selection匹配元素中被用户选中或处于高亮状态的部分3
45:out-of-range:out-of-range匹配值在指定区间之外的input元素3
46:in-range:in-range匹配值在指定区间之内的input元素3
47:read-write:read-write用于匹配可读及可写的元素3
48:read-only:read-only用于匹配设置 "readonly"(只读) 属性的元素3
49:optional:optional用于匹配可选的输入元素3
50:required :required用于匹配设置了 "required" 属性的元素3
51:valid :valid用于匹配输入值为合法的元素3
52:invalid :invalid用于匹配输入值为非法的元素3

二、css样式的优先级

​ 内联样式>内嵌样式>导入样式>链接样式

三、选择器镶嵌

<body class="a">
	<h1 id="one" style="color: #FD0206">CSS的写法三</h1>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值