css第一节第三天

作者: 千里一线缘 | 来源:发表于2017-04-20 15:13 被阅读6次

    2.5类选择器

    类选择器,是对HTML标签中class属性进行选择。CSS类选择器的选择符是 "."例如:.demo { color:red;}标签可以包含多个类选择器,在class标签中用空格隔开。例如:html:

    类标签选择器,传智前端学院

    css:  .demo { color: red; }

    2.6CSS复合选择器

    复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的

    2.6.1标签指定式选择器(即....又....)

    标签指定式选择器又称交集选择器,由两个选择器构成,其中第一个为标记选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格,如h3.special或p#one

    2.6.2后代选择器(包含选择器)

    后代选择器用来选择元素或元素组的后代,其写法就是把外层标记写在前面,内层标记写在后面,中间用空格分隔。当标记发生嵌套时,内层标记就成为外层标记的后代 如:.class h3{}

    2.6.3并集选择器

    并集选择器是各个选择器通过逗号连接而成的,任何形式的选择器(包括标记选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。.class,h3{}

    2.6.4子元素选择器

    子代选择器,是让CSS选择器智能选择儿子辈的元素。

    例如:h1 > strong {color:red;}

    解读为:选择器 h1 > strong 可以解释为“选择作为 h1 元素子元素的所有 strong 元素”。

    尖括号和选择器之间可以有空格也可以没有,没有限制。

    2.7属性选择器

    ---h1[class]{ color:red;}选择所有拥有class属性的h1标签

    h1[class][id]{color:red;}

    ---p[id="aside"]{color:red;}根据属性名相等选择

    ---p[class~="a"]{color:rd;}

    只要包含属性,就被选择。ie6不支持

    ---E[att^="val"] { sRules }

    E[att$="val"] { sRules }

    选择具有att属性且属性值为以val开头(结尾)的字符串的E元素

    ---E[att*="val"] { sRules }

    选择具有att属性且属性值为包含val的字符串的E元素。

    2.8CSS伪类 伪元素

    状态是动态变化的,当一个元素达到一个特定状态时,它可能得到一个样式,当状态改变时,又失去这个样式。

    它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类

    CSS伪类

    :link

    伪类将应用于未被访问过的链接。IE6不兼容,解决此问题,直接使用a标签。

    :hover

    伪类将应用于有鼠标指针悬停于其上的元素。在IE6只能应用于a连接,IE7+所有元素都兼容。

    :active

    伪类将应用于被激活的元素,如被点击的链接、被按下的按钮等。

    :visited

    伪类将应用于已经被访问过的链接

    :focus

    伪类将应用于拥有键盘输入焦点的元素。

    顺序问题:LoVe  HAte原则。

    2.9CSS伪元素

    伪元素 是控制内容

    :first-line 伪元素

    :first-letter 伪元素

    注释:以上两个伪元素只能用于块级元素

    :first-child 伪元素,选择属于第一个子元素的元素。

    例如:span:first-child{}  /*选择属于第一个子元素的所有span标签。*/

    :before与:after伪元素,可以设置元素之前后之后的 内容,并且配合content设置相关内容。比如:  #demo:after,#demo:before {  content:"--";display:block; }

    3.1CSS层叠性和继承性

    3.1层叠性

    所谓层叠性是指多种CSS样式的叠加。例如,当使用内嵌式CSS样式表定义

    标记字号大小为12像素,链入式定义

    标记颜色为红色,那么段落文本将显示为12像素红色,即这两种样式产生了叠加。

    3.2继承性(子承父业)

    所谓继承性是指书写CSS样式表时,子标记会继承父标记的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可

    --所有字相关的都可以继承,比如:color、text-系列、font-系列、line-系列、cursor

    --并不是所有的CSS属性都可以继承,例如,下面的属性就不具有继承性:边框、外边距、内边距、背景、定位、元素宽高属性。

    ---所有盒子相关的属性都不能继承。

    3.3CSS的优先级

    内联样式最大,内联样式的优先级最高。

    ID选择器的优先级,仅次于内联样式。

    类选择器优先级低于ID选择器

    标签选择器低于类选择器。

    256个标签选择器相加 大于 一个类选择器

    256个类选择器相加 大于 一个ID选择器

    定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。

    在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:

    继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式。

    行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提高的选择器都大的优先级。

    权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。

    所有都相同时,声明靠后的优先级大。

    CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。

    综述:

    行内样式 > 页内样式 > 外部引用样式 > 浏览器默认样式

    important > 内联 > ID > 伪类|类 | 属性选择  > 标签  > 伪对象 >  通配符 > 继承

    相关文章

      网友评论

        本文标题:css第一节第三天

        本文链接:https://www.haomeiwen.com/subject/rddlzttx.html