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

  1. 样式有3种引入方式:

    • 外部样式(外联式Linking):是将网页链接到外部样式表
      <link rel="stylesheet" type="text/css" href="index.css">
    • 内部样式(嵌入式Embedding):在网页上创建嵌入的样式表
      <style rel="stylesheet" type="text/css">
      p{
      color:red;
      }
      </style>
    • 内联样式(内联式Inline):应用内联样式到网页元素
      <p style="color:red; font-siez:14px;">Hello World!</p>
  2. link和@import有什么区别?
    • 本质上,这俩种方式都属于外联式Linking,都是为了引入CSS文件,但还是存在细微差别。

      • 差别1:link标签除了可以加载css外,还可以定义RSS,定义rel连接属性等,而@import就只能加载CSS。
      • 差别2:加载优先级。当一个页面被加载时,link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部下载完之后再被加载。所以有时在浏览@import加载的样式页面时开始会没有样式(也就是会出现闪烁,这种情况会出现在网速比较慢的时候)。
      • 差别3:兼容性的差异。由于@import是CSS2.1提出的,所以老版本的浏览器不支持,@import只有在IE5以上的版本才能识别,而link无此顾虑。
      • 差别4:使用DOM控制样式时差别。当使用JavaScript控制样式时只能使用link标签,因为@import不是DOM可以控制的。
      • 差别5:@import可以在CSS中再次引入样式表,虽然这样做有利于修改和扩展,不过这样做有一个缺点,会对网站服务器产生过多的HTTP请求,以前是一个文件,现在确实俩个或更多文件了,服务器的压力增大,浏览量大的网站还是谨慎使用。(确实,在浏览量大的网站中首页或栏目首页等项目都会直接把CSS或JS直接写在HTML中,而不是用link或者@import外置引用。

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

  • ../main.css是上一级文件夹中名为main.css的文件
  • ./main.css是当前目录中名为main.css的文件
  • main.css相当于 ./main.css的简写,也是指当前目录中的文件

三、console.log是做什么用的?

  • 调试代码
  • 让程序员更好的知晓在页面渲染时候代码的进程
  • 彪悍的输出记录功能,可以从自己的页面上调用,也最快的方式转存尽可能多的信息到控制台上,从而更加醒目的让人意识到JS下一步需要做什么。
  • 相比alert的优点是:
    • console.log能看到结构性的东西,如果是alert,弹出一个对象就是『object object』,但是console能看到对象的内容。
    • console不会打断你页面的操作,如果用alert弹出内容,那么页面就死了,但是console输入内容之后页面还是可以操作的。
    • console的内容非常丰富,可以在控制台输入console进行查看。

四、text-align:justify是什么意思?

  • 这个属性值是文本俩端对齐的意思。
  • 对齐的内容可以是纯文本,纯英文,以及中英文混排,都可以实现完美的俩端对齐。

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

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

    • px特点:

      • IE无法调整那些使用px作为单位的字体大小;
      • Firefox能够调整px和em、rem,但是96%以上的中国网民使用IE或者IE内核的浏览器。
    • px使用:
      • 任意浏览器的默认字体都是16px,chrome的最小字体大小是12px。
  • em是相对长度单位。相对于当前对象内文本的尺寸,如果当前文本为设置尺寸,则向上查询并继承尺寸,如果都没有设置尺寸,则相对于浏览器的默认字体尺寸(16px)。
    • em特点:

      • em的值并不是固定的;
      • em会继承父级元素的字体大小。
    • em使用:
      • 任意浏览器的默认字体大小都是16px,所以未调整的浏览器都符合1em=16px;
      • 那么12px=0.75em,10px=0.625em;
      • 为了简化font-size的换算,需要在CSS中的body选择器中声明font-size=62.5%,这就使em的值变为16px*0.625=10px,这样12px=1.2em,10px=1em,也就是说只需要将原来的px值除以10,然后换上em作为单位就行了。
  • rem(root em)是相对于HTML根节点的单位。
    • rem特点:

      • rem是CSS3新增的一个相对单位;
      • 这个单位和em的区别是rem仍然是相对单位,但只是相对于HTML根节点的;
      • 这个单位可谓是集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根节点大小就可以成比例的调整所以的字体,有可以避免字体大小逐层复合的连锁反应。
      • 目前,除了IE8及更早的版本外,所有的浏览器均已支持rem,应对方法也很简单,就是多写一个绝对单位的声明,这些浏览器会忽略rem设定的字体大小。
  • 选择使用什么单位主要是看项目的客户群,如果客户都似乎使用新版浏览器,那么就放心大胆的使用rem,如果要考虑兼容性,那就是要px,或者俩者同时使用。

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

elements

network简单介绍

resources介绍

Audits优化建议

Timeline内存优化

随机推荐

  1. ffmpeg中的x264编码选项,对应关系

    )’ Disabled. ‘variance (1)’ Variance AQ (complexity mask). ‘autovariance (2)’ Auto-variance AQ (expe ...

  2. 解决Bootstrap 试用手机端 布满全屏

    @media (max-width: 767px) { body{ margin: 0; padding: 0; } } @media (max-width: 970px) { body{ margi ...

  3. Java NIO(1):迟迟登场的NIO

    Java NIO的出现 Java语言发展至今,优点大家有目共睹:面向对象的语言.简洁有效.高移植性等等.但是同样也存在很多缺点,C语言程序员口中Java太慢了,.net程序员口中Java太开放了,ph ...

  4. 抒发一下这些天用django做web项目的一些体会

    最近接触了一段时间的python,觉得python写脚本还是挺方便的,做一个简单的桌面应用也很nice,但是随着深入,对python做功能复杂的web项目我彻底死心了​,每个环节都是一堆的坑,部署阶段 ...

  5. poj 3686(拆点+最小权匹配)

    题目链接:http://poj.org/problem?id=3686 思路:显然工件为X集,机器为Y集合.由于每个机器一次只能加工一个部件,因此我们可以将一台机器拆成N个点,至于部件与机器之间连多大 ...

  6. 编译Hadoop1.1.2eclipse插件并测试

    (一).building hadoop 1.编辑{HADOOP_HOME}/build.xml (1).对31行的hadoop版本做修改 <property name="version ...

  7. SpringAOP和AspectJ

    SpringAOP和AspectJ的关系 问题:之前对 SpringAOP和AspectJ的关系感到疑惑,因为曾经在书上看过SpringAOP集成了AspectJ,那么SpringAOP是直接使用了A ...

  8. 解决java.lang.NoClassDefFoundError错误

    昨天在开发过程中,导入同事的一个服务到本地,首先从git上把项目拉下来,然后使用maven导入eclipse,然后build. build的过程中在项目的一个测试类里面报错 java.lang.NoC ...

  9. C++ 基础知识回顾(string基础、智能指针、迭代器、容器类)

    [1] string基础 [1.1] string 的构造 #include <iostream> #include <string> int main() { using n ...

  10. GDI+的应用

    在VS中创建窗体 (1)CDI+清除绘画面 在窗体中写入代码: protected override void OnPaint(PaintEventArgs e){ Graphics g=e.Grap ...