HTML和CSS知识总结(一)

139 阅读4分钟

HTML和CSS作为前端工程师必备的技能,熟练掌握和使用对于工作和面试都有一定的意义。

1、HTML语义化的意义

  1. 能够便于开发者阅读和写出更优雅的代码;
  2. 同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容;
  3. 更好地搜索引擎优化。

2、盒子模型

W3C的标盒模型 content-box和IE的怪异盒模型 border-box;

  1. content-box:padding和border不被包含在定义的width和height之内。 盒子的实际宽度=设置的width+padding+border;
  2. border-box:padding和border被包含在定义的width和height之内。 盒子的实际宽度=设置的width(padding和border不会影响实际宽度)

3、display的常见属性值及作用

display:none 隐藏该元素;
display:block 显示为块级元素;
display:inline 显示为行内元素;
display:inline-block 显示为行内块级元素;
display:flex   flex容器。

4、src 和 href的区别

  1. src:是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在 位置;在请求 src资源时会将其指向的资源下载并应用到文档内,例如 js 脚本,img 图片 等元素。是资源的引入;
  2. href:是 Hypertext Reference 的缩写,指向网络资源所在位置,建立和当前元素(锚点) 或当前文档(链接)之间的链接,是文本的关联。

5、px、em、rem、vw、vh、vmin、vmax

px: 像素,相对长度单位,网页设计常用的基本单位。像素 px是相对于显示器屏幕分辨率而言的;
em: 相对长度单位。相对于当前对象内文本的字体尺寸;
rem: CSS3新增的一个相对单位,相对于HTML根元素的字体大小来计算的长度单位;
vw: vw是相对视口(viewport)的宽度而定的,长度等于视口宽度的1/100;
vh: vh是相对视口(viewport)的高度而定的,长度等于视口高度的1/100;
vmin,vmax: vmin 为 vw 与 vh 中的较小值,vmax 为 vw 与 vh 中的较大值。

6、什么是BFC

bfc是一个封闭的容器,里面元素的布局不会对外面的元素产生影响;
触发bfc的方法:

  1. body 根元素;
  2. 浮动元素:floatnone 以外的值;
  3. 绝对固定定位元素:position (absolute、fixed);
  4. display 为 inline-blocktable-cellsflex;
  5. overflow 除了 visible 以外的值 (hidden、auto、scroll);

7、实现两行排列,多余的字符以省略号出现

.text {
  width: 200px;
  border: 1px solid red;
  /* 将内容限制为指定的行数 */
  -webkit-line-clamp: 3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

8、CSS选择器 & 选择器权重

  1. !important 最大
  2. 内敛样式权重是 1 0 0 0
  3. ID选择器权重是 0 1 0 0
  4. 类、伪类、属性选择器 0 0 1 0
  5. 标签选择器和伪元素 0 0 0 1
  6. 通配符* 子选择器> 相邻选择器+ 空格 权重为 0 0 0 0

9、隐藏元素的方法

  1. visibility: hidden: 隐藏元素,但会占用空间, 子级元素可设置单独设置显示
  2. display: none:隐藏元素,不占用空间
  3. opacity: 0: 使元素透明,会占用空间,子级无法单独设置
  4. transfrom:scale(0):隐藏元素,会占用空间,子级无法单独设置

10、css 中 link 与 @import 的区别

  1. 兼容性差别,link属于XHTML标签(支持所有浏览器),而@import完全是CSS2.1提供的一种方式(低版本浏览器不支持)。
  2. 加载顺序的差别,link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。
  3. 使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
  4. @import可以在css中再次引入其他样式表,比如可以创建一个主样式表,在主样式表中再引入其他的样式表。