一:元素选择器 1 2 3 4 5 6 7 8 9 10 就是对要选择的标签进行修饰,如: p{ color:red; } span{ font-size:20px; }
二:id选择器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 根据id进行选择,如html如下: <p>123</p> <p>456</p> <p id="p3">789</p> 如果要选择第三个p标签,则可以写: #p3{ color:red; } id选择器的写法是井号+id的值,如:#p3。 id不可重复,要保持唯一性。
三:类选择器 1 2 3 4 5 6 7 8 9 10 11 12 根据class的值进行选择,语法是:. + class的值,多个class属性使用空格隔开, 如网页如下: <p>123</p> <p>456</p> <p class="red">123</p> <p class="red">456</p> .red{ color:red; }
四:通配选择器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 在CSS中,一个星号(*)就是一个通配选择器.它可以匹配任意类型的HTML元素. 在配合其他简单选择器的时候,省略掉通配选择器会有同样的效果.比如, *.warning 和.warning 的效果完全相同. css: *[lang^=en]{color:green;} *.warning {color:red;} *#maincontent {border: 1px solid blue;} html: <p class="warning"> <span lang="en-us">A green span</span> in a red paragraph. </p> <p id="maincontent" lang="en-gb"> <span class="warning">A red span</span> in a green paragraph. </p>
五:交集选择器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 交集选择器是多个选择器的交集,交集选择器中如果有元素选择器(标签选择器)则 必须使用元素选择器作为开头,如: 正确写法: p.red{ font-size:10px; } 错误写法: .redp{ font-size:10px; } 道理很简单,因为元素选择器没有标识符,如果放在后面,如:.redp则会被解析成 class属性为redp的font-size设置成10px; 语法是:多个选择器直接相连写在一起,中间没有任何分隔。
六:并集选择器 1 2 3 4 5 6 7 8 9 10 并集选择器是多个选择器同时选中,语法是:选择器1,选择器2中间用逗号分隔, 如: h1,span{ color:red; } .red,#p3{ color:red; }
七:关系选择器(父子/兄弟选择器) 7.1 分类 1 2 3 4 5 6 7 8 9 10 11 12 父元素: - 直接包含子元素的元素 子元素: - 直接被父元素包含的元素 祖先元素: - 直接或者间接包含后代元素的元素 - 一个元素的父元素也是其祖先元素 后代元素: - 直接或者间接被祖先元素包含的元素 - 子元素也是后代元素 兄弟元素: - 拥有相同父元素的元素
7.2 子元素选择器 1 2 3 4 选中指定父元素的子元素,语法是:父元素 > 子元素,如:要选中div中的span, div > span { color:red; }
7.2 后代元素选择器 1 2 3 4 5 选中指定元素的后代元素,语法是:祖先元素 后代元素,注意中间有个空格,如: div span{ color:red; } 就是选择了div中的所有的span元素。
7.3 兄弟选择器 7.3.1 选择下面一个兄弟元素 1 2 3 4 5 语法是:前一个+后一个,如: div+span{ color:red; } 选择div的下一个兄弟元素span,也就是紧挨着div的兄弟元素。
7.3.2 选择下面所有的兄弟元素 1 2 3 4 5 语法是:前~后,如: div~span{ color:red; } 选择div的所有的兄弟元素span。
八:属性选择器 1 2 3 4 5 6 是针对标签的属性进行选择的,语法是: [属性名]:表示选择含有指定属性的元素,如:[title] [属性名=属性值]:选择含有指定属性和属性值的元素,如:[title=abc] [属性名^=属性值]:选择属性值以指定值开头的元素,如:[title^abc] [属性名$=属性值]:选择属性值以指定值结尾的元素,如:[title$=abc] [属性名*=属性值]:选择属性值中含有某值的元素,如:[title*=abc]
九:伪类选择器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 伪类其实就是不存在的类,特殊的类,用来描述一个元素的特殊状态, 比如:第一个子元素,被点击的元素,鼠标移入的元素... 伪类一般使用:开头,如: :first-child - 第一个子元素 :last-child - 最后一个子元素 :nth-child(n) - 选中第n个子元素,如果直接写n,n的范围是0到正无穷 - 2n或者even 表示选中偶数位的元素 - 2n+1或者odd 表示选中奇数位的元素 以上这些伪类都是根据所有的子元素进行排序的。 :first-of-type :last-of-type :nth-of-type 以上几个伪类和first-child,last-child,nth-child功能类似,唯一的 区别就是他们是在同类型元素进行排序的,要么全是li,要么全是span等。 案例: ul > li:first-child{ color:red; } ul > li:nth-child(0){ color:red; } ul > li:nth-child(2n){ color:red; } :not() - 否定伪类,将符合条件的元素从选择器中移除。 如: ul > li:not(nth-child(3)){ color:red; } 除了ul中的第三个元素其他全部是红色。 超链接的伪类: 1.超链接的状态 - 未被点击的状态 - 已被点击的状态 - 鼠标移入的状态 - 被点击时的状态 2.对应的伪类 :link - 表示未被点击的链接 :visited - 表示已经被点击的链接,由于隐私原因,只能修改链接的颜色 :hover - 表示鼠标移入的状态,这个不是超链接的专有伪类,针对所有的元素都可 :active - 表示被点击时的状态,这个不是超链接的专有伪类,针对所有的元素都可
十:伪元素 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 伪元素表示页面中一些特殊的并不是真实存在的元素(特殊的位置), ::first-letter - 表示第一个字母,如:p::first-letter ::first-line - 表示第一行元素,如:p::first-line ::selection - 表示选中的内容,如:p::selection ::before - 表示元素的开始位置 ::after - 表示元素的最后 before和after必须结合content属性来使用。如: div::before{ content:'123'; color:red; } div::after{ content:'456'; color:green; }
餐厅在线选择器练习
*************感谢您的阅读*************
css之单位
css之语法