美文网首页
面试遇到的知识点

面试遇到的知识点

作者: 橘生淮南_5f9d | 来源:发表于2020-04-02 12:24 被阅读0次

一、sessionStorage、localStorage、cookie的区别

  • cookie是网站为了标识用户身份而存储在用户本地终端上的数据(通常经过加密),cookie数据始终在同源的HTTP请求中携带(即使不需要),会在浏览器和服务端之间来回传递。
  • sessionStorage和localStorage不会自动将数据发送给服务器。仅在本地保存。
  • 存储大小:cookie数据大小不能超过4k,sessionStorage和localStorage虽然也有大小限制,但比cookie大得多,可以达到5M或更大。
  • 有效时间:localStorage存储持久数据,浏览器关闭后数据不丢失,除非主动删除;sessionStorage数据在当前浏览器窗口关闭后自动删除;cookie设置的cookie过期时效前一直有效,即使窗口和浏览器关闭。

二、如下代码在浏览器中如何显示?

CSS: 
div {
  width:200px;
  height:200px;
  background-color:red;
}
HTML:
<div></div>
<div></div>
<div></div>

答:显示的是宽200px,高600px的矩形

将div换成span呢?

答:不显示,因为内联元素无法设置宽高

怎样让这三个div在同一行显示并消除空隙?

解决方法:

  1. 设置display:inline-block,并将父元素的font-size设置为0,自身的font-size设置成不为0的值。如果有字就看不见了。
    2.display:inline-block,float:left。

三、HTML中有哪些行内元素,哪些块级元素,哪些空元素,以及这三类元素的区别

  • 行内元素:a,b,span,img,input,select,strong
  • 块级元素:div,ul,ol,li,dl,dt,dd,h系列,p
  • 空元素:br,hr,img,input,link,meta
  • 行内元素不可设置宽高,不独占一行
  • 块级元素可以设置宽高,独占一行

四、CSS的display属性

属性值有:none|inline|inline-block|block|list-item|run-in|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row
|table-column-group|table-column|table-cell|table-caption|inhert

  • none:元素不会显示,而且该元素的显示空间不会保留
  • inline:display的默认属性。将元素显示为内联元素,元素前后没有换行符。一旦元素的属性设置成inline,属性的宽高将会失效
  • block:将元素设置成块级元素,元素前后有换行符。设置成block后,元素可以设置宽高,元素独占一行
  • inline-block:行内块级元素,融合了inline和block的特性。即使是内联元素也可以设置宽高。
  • 其他不常用的属性:
    list-item:将元素作为列表显示
    run-in:根据上下文作为块级或内联元素显示
    table:元素作为块级表格来显示(类似<table>),表格前后带有换行符
    inline-table:元素作为内联表格来显示,前后无换行符
    table-row-group:元素作为一个或多个行的分组来显示,类似于(<tbody>)。
    table-header-group:元素作为一个或多个行的分组来显示(类似<thead>)。
    table-footer-group:元素作为一个或多个行的分组来显示(类似<tfoot>)
    table-row:作为一个表格行显示(类似<tr>)
    table-column-group:作为一个或多个列的分组来显示(类似<colgroup>)
    table-column:作为一个单元格来显示(类似<col>)
    table-cell:作为一个表格单元格来显示(类似<td><th>)
    table-caption:作为一个表格标题来显示(类似<caption>)
    inhert:从父元素继承display属性的值

五、position属性

属性值有:static|relative|absolute|fixed|sticky

  • static:默认值,即没有定位,不受top,bottom,left,right的影响
<div class="d1"></div>
<div class="d2"></div>
<div class="d3"></div>
<style>
    div {
        width: 200px;
        height: 200px;
        background-color: red;
    }
    .d2 {
        background-color: yellow;
        position: static;
        left:10px;
    }
</style>
static.png
  • relative:元素相对于自身的原位置便宜某个距离,但是原来的空间依旧保留,表现为空白(left和right同时设置的时候,遵循left的值)
.d2 {
        background-color: yellow;
        position: relative;
        left: -10px;
        right: -10px;
    }
relative.png
  • absolute:原来的元素空间被删除,新生成一个块级框,与页面内容相对静止,如果页面向下滑动,该块级框会跟随向上运动
<style>
    div {
        width: 200px;
        height: 200px;
        background-color: red;
    }
    .d2 {
        background-color: yellow;
        position: absolute;
        top: 20px;
        left: 20px;
    }
</style>
absolute.png

第二个div的position:absolute时,第二个div元素相对于浏览器窗口偏移,原位置被删除,所以第三个div在原来第二个div的位置。

  • fixed:原来的元素空间被删除,新生成的一个块级框固定在页面的一个位置,即使页面下滑,该块级框依旧不改变位置。
<style>
    div {
        width: 200px;
        height: 600px;
        background-color: red;
    }
    .d2 {
        height: 200px;
        background-color: yellow;
        position: fixed;
        top: 20px;
        left: 20px;
    }
</style>
fixed.png
  • sticky:跟随页面一起滚动,当超过阈值以后,固定在页面边缘,相当于fixed和absolute的混合
<style>
    .d1 {
        width: 200px;
        height: 200px;
        background-color: red;
    }
    .d2 {
        width: 200px;
        height: 200px;
        background-color: yellow;
        position: sticky;
        top: 20px;
    }
    .d3 {
        width: 200px;
        height: 800px;
        background-color: red;
    }
</style>
滚动之前: sticky.png 超过阈值以后: sticky.png
  • inherit:继承父元素的position属性

z-index:设置元素之间的叠放顺序,只能在position属性值为relative或absolute或fixed的元素上有效。
基本原理:z-index的值可以控制定位元素在垂直于显示屏幕方向(z轴)上的堆叠顺序,值大的元素发生重叠时会在值小的元素上面。

六、CSS盒子模型

就是用来装页面上的元素的矩形区域。CSS的盒子模型包括IE盒子模型和标准盒子模型
区别:这两种盒子模型的width(height)的包含范围不同,IE盒子模型的width指content宽度+左右padding+左右border;标准盒子模型的width指content的宽度。
CSS3中引入了box-sizing属性,box-sizing: border-box,表示IE盒子模型,box-sizing:content-box,表示标准盒子模型,box-sizing:padding-box,表示这个属性值的宽度包含了左右padding+content宽度。

七、flex布局

语法篇:
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
实例篇:
http://www.ruanyifeng.com/blog/2015/07/flex-examples.html

相关文章

  • 面试遇到的知识点

    一、sessionStorage、localStorage、cookie的区别 cookie是网站为了标识用户身份...

  • 前端校招面试总结

    感觉抱着通过面试来发现自己的不足和不断成长的心态,面了好多公司,来做个面试总结吧。 面试知识点总结 遇到的面试,大...

  • web面试汇总

    《前端面试常见问题按知识点分类整理》 《CSS 中布局终极方案》面试中经常遇到的面试题之一,居中布局,特来总结 《...

  • 浅谈面试中遇到的JVM与性能优化问题

    面试中遇到面试官问的最多的便是JVM与性能调优,小编便肝了一个星期为大家整理了这方面的重要知识点,掌握这些知识点,...

  • 模拟面试中遇到的知识点

    1.AngularJS中路由实现的原理? 路由功能主要是 $routeProvider服务 与 ng-view 实...

  • Android Interview Note

    记录自己面试中所遇到的所有知识点,加强基础才是王道!!! 一、 Java 1. Java集合 ListArrayL...

  • iOS 面试遇到 基础知识 总结

    最近换工作 面试 发现自己好多基础知识点不牢固,在此总结记录下(随时更新)自己遇到的面试流程 可能和别人不一样 只...

  • Java容器(List、Set、Map)知识点快速复习手册

    前言 本文快速回顾了Java中容器的知识点,用作面试复习,事半功倍。 其它知识点复习手册 Java基础知识点面试手...

  • Java并发知识点快速复习手册(下)

    前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍。 面试知识点复习手册 已发布知识点复习手册 Java基...

  • 再出发-机器学习

    机器学习: 知识点链接: 面试必备 | 机器学习、深度学习面试知识点汇总[https://mp.weixin.qq...

网友评论

      本文标题:面试遇到的知识点

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