css语法

作者: 不可不信缘_b32e | 来源:发表于2018-06-30 14:31 被阅读0次

    一、CSS语法

    1.选择器

    1. 一条或多条声明(属性:值)

    二、什么是css样式?(5分)

    CSS(Cascading Style Sheets ) 层叠样式表
    样式主要内容包括选择器属性两部分。
    属性和属性值用英文的冒号隔开,以分号结尾。属性值不要使用引号括起来

    三、css的四种引入方式?

    CSS主要有四种引入方式:链接外部样式文件,导入外部样式文件,使用内部样式定义以及内联样式

    (1)链接样式

    外部引入CSS样式文件是通过标签实现的,它只能位于HTML文档的head标签内,且必须有href属性,用于指定需要引入的CSS文件的绝对路径

    <link type="text/css" rel="stylesheet" href="CSS样式文件的绝对地址">
    

    link元素中type用于规定链接文档的MIME类型,rel属性用于规定被链接文档与当前文档之间的关系,如alternate用于定义交替出现的链接,appendix定义文档的附加信息等,此外还有一些可选属性,用于做一些除加载CSS文件的其他事情

    (2)导入样式(不建议使用)

    导入外部样式单主要通过@import方式导入CSS文件,有两种导入方式
    a、在style元素中导入CSS文件

    <style type="text/css">    
         @import "CSS样式文件的绝对地址";
         @import url("样式文件的绝对地址");
     </style>        
    

    url可省略,所以只需指定样式单地址即可,在标准CSS的语法中,@import还有sMedia属性,用于指定CSS的可作用的设备,目前还没得到广泛的支持,所以sMedia可以不写。
    b、在CSS文件中再导入CSS文件

    /*某个CSS文件*/
    @import "另一个CSS文件的地址";
    .test{
         width: 100px;
         height: 100px;
         line-height: 20px;
         background-color: red;
    }
    

    在CSS文件中再导入CSS文件,会给服务器造成太大的文件请求压力,最好不要这样做。
    @import是由CSS提供的一种导入样式的方式,当页面被加载时,@import会等到页面全部被加载完成时再加载CSS样式,所以在页面还未加载完成期间,页面还没有CSS样式效果,会导致“屏闪”,通过@import导入的CSS样式是无法用DOM去控制的

    (3)行内样式

    内联样式即只在某个元素内使用style属性,它只针对这个元素,而不会影响整个文件,所以可以控制某个HTML元素的外观表现,适合用于代码调试

    <div style="color: #ccc; width: 200px; height: 100px;"></div>
    
    (4)内嵌样式
    <style type="css/text">
    .text{
         font-size: 20px;
         padding-left: o;
         margin: 0 auto;
    } 
    </style> 
    <body>
        <div class="text"></div> 
    </body>
    

    style元素位于head标签内部,type属性指定CSS代码的文档类型。使用内部CSS样式必须为有选择器,常见的选择器有ID选择器,类(伪类CSS3新增)选择器,元素选择器,子选择器,属性选择器等,优先级ID > 类(伪类)> 元素,其他的选择器越详细,优先级越高,如属性选择器比元素选择器更能精确定位,故属性选择器优先级高。

    style元素和内联样式一样,会造成代码混乱,不易查错,也会给文档加载带来巨大负担。

    总结:使用CSS样式时,尽量将CSS代码与HTML代码分离,即最好使用引入外部CSS文件的方式。

    四、引入方式的优先级?

    1.就近原则
    2.理论上:行内>内嵌>链接>导入
    3.实际上:内嵌、链接、导入在同一个文件头部,谁离相应的代码近,谁的优先级高

    五、CSS特性:继承性,层叠,优先级(5分)

    1.继承
    子代可以直接使用父代的某些样式(特征),当然有些可以继承,有些不能继承
    2.1 层叠性
    在权重(优先级)相同的情况下,同一个标签的样式发生冲突,最后定义的样式会将前面定义的样式覆盖。
    注意:与定义样式的顺序有关,与调用的顺序无
    3.优先级
    内联>选择器>类选择器>元素选择器
    内部样式>外部样式

    六、子选择器和后代选择器的区别?(5分)

    子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素
    后代选择器即加入空格,用于选择指定标签元素下的后辈元素
    子选择器(child selector)仅是指它的直接后代,可以理解为作用于子元素的第一代后代
    后代选择器是作用于所有子后代元素

    总结:>作用于元素的第一代后代,空格作用于元素的所有后代

    六、长度单位px和em的区别?

    px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的

    em是相对长度单位。相对于当前对象内文本的字体尺寸。

    七、选择器的优先级?(5分)

    !important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性

    八、九种选择器的用法?(5分)

    1.标签选择器(如:body,div,p,ul,li)

    2.类选择器(如:class="head",class="head_logo")

    3.ID选择器(如:id="name",id="name_txt")

    4.全局选择器(如:*号)

    5.组合选择器(如:.head .head_logo,注意两选择器用空格键分开)

    6.后代选择器 (如:#head .nav ul li 从父集到子孙集的选择器)

    7.群组选择器 div,span,img {color:Red} 即具有相同样式的标签分组显示

    8.继承选择器(如:div p,注意两选择器用空格键分开)

    9.伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)

    10.字符串匹配的属性选择符(^ $ *三种,分别对应开始、结尾、包含)

    11.子选择器 (如:div>p ,带大于号>)

    12.CSS 相邻兄弟选择器器 (如:h1+p,带加号+)

    相关文章

      网友评论

          本文标题:css语法

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