HTML&CSS(一)

114 阅读4分钟

1. 简述Chrome盒模型与IE盒模型的区别(掌握)

每个元素在页面中占位大小 = content + padding + margin + border

Chrome盒模型的内容大小 = content

IE盒模型的内容大小 = content + padding + border

image.png

2. 行内元素和块级元素都有哪一些?(掌握)

  1. 行内元素:
<span>、<a>、<b>、<strong>、<textare>、<select>、<em>、<del>、<img>、<input>
  1. 块级元素:
<div>、<p>、<h1>~<h6>、<table>、<form>、<ul>、<ol>、<dl>、<address>、<pre>、<center>

3. BFC(掌握)

块级格式化上下文

流体特性:块状水平元素,如div元素(下同),在默认情况下(非浮动,绝对定位等),水平方向会自动填满外部的容器。

BFC元素特性表现原则就是,内部子元素不会影响外部的元素

4. 什么是弹性布局?(掌握)

解决某元素中子元素的布局方式,为布局提供最大的灵活性。

设为flex布局以后,子元素的floatclearvertical-align属性将失效。

display: flex; 属性align-self定义子元素的位置。

5. html5 有哪些新特性?(掌握)

  1. Canvas绘图

  2. SVG绘图

  3. 地理定位

  4. Web Worker —— 是运行在后台的JS,独立于其他脚本,不会影响到页面的性能

  5. Web Storage

    1)Cookie技术 (兼容性好,数据不能超4kb,操作复杂)

    2)sessionStorage (兼容性差,数据不能超8MB,操作简单)

    3)localStorage

  6. Web Socket —— WebSocket协议是基于TCP的一种新的网络协议,它实现了浏览器和服务器全双工通信,允许服务器主动发送消息给客户端。

6. position 有哪些属性?(掌握)

  1. position: relative; 相对定位
  2. position: absolute; 绝对定位
  3. position: fixed; 固定到位
  4. position: state; 默认值
  5. position: sticky; 粘性定位
  6. position: inherit; 规定应该从父元素继承 position 属性的值
  7. position: initial; 设置该属性为默认值

7. 请说出1px,1rem, 1vh, 1em各自代表的含义?(掌握)

  1. rem:相对于 htmlfont-size
  2. px:相对长度单位。 像素 px是相对于显示器屏幕分辨率而言的。
  3. em:相对于父元素font-size
  4. vw/vh:视窗的宽度和高度,相当于屏幕宽度和高度的1%,不过,处理 宽度 的时候 % 更合适,处理 高度 的时候 vh 更好

8. 什么是SPA?(掌握)

单页面Web应用,SPA是一种特殊的Web应用,是加载单个HTML页面并在用户与应用程序交互时更新该页面。

它将所有的活动局限于一个web页面中,仅在该web页面中初始化并加载相应的HTML、CSS、JavaScript。

一旦页面加载完成,SPA不会因为用户的操作而重新加载页面或者跳转,而是利用JavaScript动态的变换HTML(采用的是div切换显示和隐藏),从而实现UI与用户的交互。

SPA应用中,应用加载之后就不会有整页刷新。相反,展示逻辑预先加载,并有赖于内容区域中的视图切换来显示内容。

优点:用户体验好,良好的前后端分离。

缺点:不利于SEO;初次加载耗时相对增加;导航不可用,如果一定要导航需要自行涉嫌前进、后退。

9. 简述优雅降级与渐进增强(掌握)

  1. 渐进增强:针对 低版本浏览器 进行构建页面,完成最基本的功能,然后再针对 高级浏览器 进行 效果、交互 等改进与追加功能,从而达到更好的用户体验。

  2. 优雅降级:一开始就构建完整的功能,然后再针对低版本浏览器 进行兼容。

  3. 区别:

    1)渐进增加观点认为应该 关注内容本身

    2)优雅降级观点认为应该针对那些最高级、最完善的浏览器来设计网站

10. 重绘与重排(掌握)

  1. 重绘: 一个元素外观的改变所触发的浏览器行为(例如改变 background 等属性),浏览器会根据 元素的新属性 重新绘制,使 元素 呈现新的外观。

  2. 重排:更明显的一种改变,可以理解为 渲染树 需要重新计算。

  3. 常见的触发重排的操作

    1)DOM元素 的几何属性变化

    2)DOM树 的结构变化(例如:节点的增减、移动)

    3)获取某些属性(例如:offsetTop等)

    4)改变元素的一些样式(例如:调整浏览器窗口大小)

  4. 两者的区别:重绘不会带来重新布局,并不一定伴随着 重排