css属性选择器笔记

我是每天被自己菜醒的跳跳,嗯~就很菜!

1. 行间样式

<div id="boy"  style="background-color: #000000;">

2. 标签选择器

书写方法:

div{
	background: skyblue;
	display: inline-block;
	padding: 20px 30px 40px 50px ;
	}

在css样式表中写以标签的形式书写.

3. id选择器

书写方法:

#d1{
	width: 0;
	height: 0;
	background-color: transparent;
	}

id在页面中一个名字有且只能有一个,不能重复使用。

4. class选择器

<div class="d1 d2">

书写方法:

.d1{
	width: 500px;
	line-height: 100px;
	padding: 30px;
	font-size: 30px;
	background-color: greenyellow;
	}

一个元素可以有多个class,以空格间隔,id不可以。元素在页面中可以有多个。

 

5. 通配符

书写方法:

*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

控制整个页面的标签,一般放在css样式表的开头。特性会选中所有的标签

 

6. 群组选择器

<ul>
	<li class="box1"></li>
	<li class="box2"></li>
	<li class="box3"></li>
</ul>

 

书写方法:

.box1,.box2,.box3{ 
	width: 100px;
	height: 100px;
	background-color: red;
	}

会给当前所有的选中元素添加上相同的样式,注意以逗号隔开,没有空格

7. 包含选择器

第一种:

<div id="box">
	<div class="a">
		<div id="c">
					
		</div>
	</div>
</div>

书写方法:

#box .a{
	width: 100px;
	height: 100px;
	background-color: red;
	}
#box .a #c{
	width: 50px;
	height: 50px;
	background-color: #00FFFF;
	}

这里指的是父级id为box,class为a的。注意此处有空格。

嵌套不宜超过三层.

 

第二种:

<div id="box"></div>
<p class="box"></p>

书写方法:

div#box{
	height: 500px;
	width: 500px;
	background-color: black;
	}

选取div的class为box的,给其添加样式,div中class为a的就不会给他添加。这里没有空格。

这里和子元素没有任何关系,就是id为box的div标签。

 

 

总结包含选择器:

#d1 div{} 父级id为d1下的所有div的元素。

div.dd{} div的class为dd的元素。

.d1+div{} class为d1的元素后面的一个元素。

.d1~div{} class为d1的元素后面的所有的元素。

.d1>.dd{} 父级class为d1的元素下的class为dd的子元素,也就是他的直接子元素class为dd的所有元素。

ul l1:nth-child(1){} 父级ul标签下第一个li元素。

ul li:last-child{} 父级ul标签下最后一个li元素。

如果子级有id不建议使用包含选择器。因为id唯一,并且优先级又非常高。

 

 

7. !important

.d1{
	background-color: yellow;
	width: 200px !important;
	}

优先级最高,高于行间样式,所以没有其它样式可以替换带有!important的样式,慎重使用

 

8.继承(inherit)

<div class="c1">
	<p>继承</p>
</div>

 

样式:

.c1{
	height: 100px;
	width: 100px;
	border: 1px solid #FFFF00;
		}
p{
	height: inherit;
		}		

在子元素没有样式,父元素有样式的情况下,子元素会继承一些父级的样式。

子元素p标签没有继承父元素的height,在p样式里面写height:inherit;就继承了父元素的高度。

 

优先级:

1. 首先比较的是选择器的优先级,其次在优先级相同的时候,才比较的先后顺序。

2. 基本上范围越大,优先级越低。越精准优先级越高,计算方法可以看下面的注释。

3. !important > 行间样式 > id > class > 标签选择器 > *通配符 > 内部样式和外部样式

 

 

注释计算方法:

通配符优先级 0,0,0,0

标签选择器的优先级 0,0,0,1

class选择器优先级 0,0,1,0

id选择器优先级 0,1,0,0

 

例子:

	<div class="red">
		<div class="blue">
			文字
		</div>	
	</div>>

css样式:

.red{
	color: red;
	}
.red div{
	color: skyblue;
	}

 

这里最终的样式效果是skyblue。

因为 .red是class选择器 优先级 0010=> 10

.red div是class选择器 还有标签选择器,有一个优先级的叠加。

0010 + 0001 = 0011 > 11

最后的结果谁大谁的优先级高。这里的原理我也不是特别清楚。

.red .blue{
	color: yellow;
	}
.red{
	color: red;
	}
.red div{
	color: skyblue;
	}

 

这里颜色就变成了yellow

因为.red .blue = 0010 + 0010 = 0020 =>20 他最终的数字最大他的优先级最高.

注意行间样式是最高的,和上面计算没有任何关系。

 

本人是个菜逼,理解有错误的地方,欢迎指正。记录下学习笔记。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章