什么是选择器:每个css样式定义由两部分组成,形式如下:表示{}中“style”的对象,即“style”适用于网页中的哪些元素。Basicselector标签选择器(选择标签名称):一个完整??的HTML页面是由许多不同的标签组成的,标签选择器决定了哪些标签并采用相应的CSS样式;例如:p{color:#900;font-size:12px;background:#090;}ID选择器(#编号+ID名称):ID选择器可以为标有特定ID的HTML元素指定特定的样式。根据元素ID选择元素,具有唯一性,即同一个id在同一个文档页面中只能出现一次;如:#demoDiv{color:#FF0000;}classselector(.+classname):classselector根据类名选择,前面加“.”标记;如:.demoDiv{color:blue;}通用选择器(选择所有元素):通用选择器用*表示;如:*{color:green;font-size:12px;}组选择器:当几个元素具有相同的样式属性时,可以一起调用一条语句,元素之间用逗号分隔;例如:p,h1,span{color:red;line-height:20px;}#mainp,#siderspan{color:#000;line-height:26px;}使用组选择器将大大简化CSS代码,将多个具有相同属性的元素组合起来进行选择。定义相同的CSS属性,大大提高了编码效率,同时也减小了CSS文件的大小。层级选择器子选择器(元素之间使用>来划分):子选择器(childselector)是指它的直接后代,可以理解为作用于子元素的第一个后代;例如:p>span{color:red;}后代选择器(元素之间用空格隔开):用于选择特定元素或元素组的后代,父元素的选择放在前面,而对的选择子元素放在后面,中间用空格分隔如:sectionspan{color:blue;}子选择器和后代选择器的区别:1)子选择器(childselector)只指它的直接后代,而后代选择器作用于所有子后代元素;2)子选择器通过“>”选择,而后代选择器通过空格选择;siblingselectors(元素之间用+隔开):除了上面的childselectors和descendantselectors,我们可能还想找两个兄弟中的一个,比如一个headingh1元素后面跟着两个paragraphp元素,我们要定位第一段p元素并对其应用样式。我们可以使用相邻的兄弟选择器;如:h1+p{color:blue;}伪类选择器伪类可以应用于链接标签,也可以应用于一些表单元素,但是表单元素的应用IE不支持,所以一般伪类只会应用于链接的样式。动态伪选择器动态伪选择器的书写顺序:1)link和visited必须放在最前面(无序,静态伪选择器);2)link和visited只能用于一个标签;3)linkAndvisited之后是focus4)focus之后是hover;5)hover后是active;结构伪类选择器first-child:第一个元素。last-child:最后一个元素。nth-child(n):如果要选取一个元素的个数,n的值随便取。nth-child(-n+m):选取前m个元素,n起始值为0。nth-of-type(n):选取第n个元素。nth-last-child(n):选择最后的第n个元素。否定伪类选择器元素名:not(n)除了某个元素,其他元素添加样式伪元素选择器:所有伪元素选择器必须放在伪元素出现的选择器末尾,即也就是说,伪元素选择器后面不能跟任何派生选择器;:first-letter,设置块元素首字母的样式,内联元素转为块元素,也支持内联块元素;divp:first-letter{font-size:20px}//选择div元素中所有p元素的首字母或汉字;:first-line:设置文本第一行的样式;.box.main:first-line{color:#f00} //只有部分属性允许首行:所有字体属性、颜色、所有背景属性、word-spacing、letter-spacing、text-decoration、vertical-align,text-transform,line-height:before:设置上一个样式,可以插入生成的内容,并设置其样式;正文:之前{内容:'开始:';display:block;}//在body元素'TheStart:'之前插入文本内容,并将其设置为块元素:after:设置样式后,可以插入生成的内容并设置其样式;例如:body:after{content:'TheEnd.';display:block;}//插入文本内容'TheEnd.'body元素末尾,设置为块元素input::-webkit-input-placeholder(修改输入框提示信息样式)属性选择器根据元素的属性匹配,其属性可以是标准属性或自定义属性;也可以同时匹配多个属性;格式:元素名[属性名+“属性值”]input[type="text"]格式:元素名[属性名^=属性值开头的内容]选取XXX开头的元素input[type^="te"]+span{color:red;}格式:元素名[属性名$=属性值末尾的内容]选择以XXX结尾的元素元素输入[type$="d"]+span{color:blue;}格式:元素名【属性名*=属性值所包含的内容】选XXX元素输入[type*="i"]+span{color:green;}
