Version one

问答

一、样式有几种引入方式? link 和 @import有什么区别?

  1. 嵌入式: 在Html页面内部定义的CSS样式表,叫做嵌入式CSS 样式表,也就是在HTML文档的head部分中,使用 style 标签并在该标签中定义一系列 CSS 规则。如<style type ="text/css"></style>
  2. 链接式:外部CSS样式表是一个以 .css为后缀的外部文件,定义一个外部样式表可以应用于多个页面。在html页面中使用link标签,可以将外部的css样式表连接进来,其语法如下:
    <link rel="stylesheet" href="*.css” type="text/css">
  3. 行内样式:行内样式指的是在HTML特定的标签中定义的CSS样式表。常用的HTML 标签主要是BODY中的一些元素,例如:<p>,<h2>,<ul>,<div>等。如:<p style="color:#ff0000; font-style: italic; ">IT部落窝</p>
  4. 导入式:导入外部样式表指的是,在html文件中已经建立了嵌入式样式表,但是还要使用外部样式表的某些设置,这时就可以在<style>里导入一个外部样式表,导入时用@import。如@import url("mystyle.css");

<link rel="stylesheet" type="text/css" href="index.css">

  • link是XHTML标签,HTML 中<link>元素指定了外部资源与当前文档的关系. 这个元素的使用方法包括为导航定义关系框架.这个元素经常用来链接css文件。
  • rel: relationship
  • StyleSheet:样式表
  • text/css:文本/css,即css文本。
  • type="text/css具体说明调用样式的文件类型为css样式。
  • rel属性表示样式表将以何种方式与HTML文档结合。rel取值:Stylesheet,表示指定一个外部的样式表。*.css是单独保存的样式表文件。总的意思就是调用一个外部的css样式文件,它是通过<link />这个标签来调用的。href="index.css"表示外部样式的路径。

@import url(index.css)

  • @import是CSS@规则,用于加载外部外部层叠样式表。@import规则必须放在其他除了@charset规则以外的CSS规则的前面;@import规则不可嵌套于条件规则组中。
    @import可在URI后面附带媒体查询;每条媒体查询间用逗号分隔。若没有媒体查询,则该导入是无条件的,相当于指定媒体为all。

link 和 @import

  • @import url()机制是不同于link的,link是在加载页面前把css加载完毕,而@import url()则是读取完文件后再加载,所以在请求文件较大或者网速较慢时@import url()会出现一开始没有css样式,闪烁一下出现样式后的页面(网速慢的情况下)。
  • @import 是css2里面的,所以古老的ie5不支持。
  • 当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
  • link除了能加载css外还能定义RSS,定义rel连接属性,@import只能加载css。
  • @import url(xxx.css);有最大次数的限制,经测试IE6的最大次数是31次,第32个import及以后的都不能生效。
  • 总结:使用link标签比较好,另:新浪等网站的首页或栏目首页代码,他们总会把css或js直接写在html里,而不用外部文件。
    @import" target="_blank">MDN
    css语法格式0
    四种css样式表的引入方式
    关于css @import url()总结写得比较好

二、文件路径../main.css 、./main.css、main.css、/main.css有什么区别?

  • main.css:相对于html文件来说,main.css文件在和其同一目录。
  • ./main.css:当前目录的main.css
  • ../main.css:相对遇html文件来说,main.css文件在上级目录里。
  • /main.css 是相对虚拟目录,"/"代表的是虚拟目录的根目录

参考

三、console.log是做什么用的

向web控制台输出一条消息,常用来插入代码段里进行测试。

四、text-align有几个值,分别有什么用?

描述
left 把文本排列到左边。默认值:由浏览器决定。
right 把文本排列到右边。
justify 把文本排列到中间。
inherit 实现两端对齐文本效果。
inherit 规定应该从父元素继承 text-align 属性的值。

text-align:justify对于强制换行的一行及最后一行(包括仅有一行的情况)不作处理。有时为了实现两端对齐,文字之间的间距会变大,不好看,这时可用letter-space调整间距。


1_1478059634680_2.png
0_1478059634679_1.png

五、px、em、rem分别是什么?有什么区别?如何使用?

  • px: 像素,给定文字大小
  • em:相对于父元素来改变,如2em 表示字体大小为父元素的字体大小的2倍。如果一个元素的父元素没有指定大小,则会不断地向上寻找规定了大小的父元素,甚至可以找到根元素去。
  • rem: r是root的缩写,所以这个表示依据根元素,即<html>的大小来调整字体大小。
    rem可以用在写响应式的页面中,因为调整了根元素的字体大小,整个页面的字体大小也可以同步改变。
  • 以下这两个表达的意思相同,结果都是根元素html默认值的3倍。p标签的直接父元素没有直接控制字体大小,于是会在往上找,知道找到一个控制大小的元素为止。如果没有,则以根元素html的字体大小为基准。


    0_1478059715524_3.png

    0_1478059732065_4.png

    0_1478059746348_5.png

六对chrome 审查元素的功能做个简单的截图介绍

  • 0_1478059796703_6.png

    直接修改,来测试边界条件,如输入很多个字。

  • 右边可以调试颜色,写页面时在这里调试好,然后复制到css- console:调试js这里可以看到全局变量,js都在全局中央域里面。可以添加alert和console.log(变量) 这个只能在控制台上看到。也可以点sources,里面囊括了所有的html.css.js。可以加多个断点后刷新网页进行调试js。 - network:调试ajax接口有用


    0_1478059807447_7.png

    Priview:预览
    Response:响应
    timing:时序

  • 原版的resouces在现在的application里面


    0_1478059815365_8.png

代码

js BIN

收藏