我的编程空间,编程开发者的网络收藏夹
学习永远不晚

web前端面试题案例代码分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

web前端面试题案例代码分析

这篇文章主要讲解了“web前端面试题案例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端面试题案例代码分析”吧!

面试官:css 如何实现左侧固定 300px,右侧自适应的布局?

我:呃~,好的,可以采用flex布局,或者浮动+BFC,整出代码如下:

flex布局

<style>  *{margin: 0;padding: 0;}  .container{    display: flex;   }  .left{    width: 300px;    height: 100vh;    background-color: #f00;  }  .main{    flex: 1;    background-color: #ae5aca;   }</style><body>  <div class="container">    <div class="left"></div>    <div class="main"></div>  </div></body>

浮动+BFC

<style>  *{margin: 0;padding: 0;}  .container {    height: 100vh;  }  .left {    float: left;    width: 300px;    height: 100%;    background-color: #f00;  }  .main {    height: 100%;    background-color: #ae5aca;    overflow: hidden;  }</style><body>  <div class="container">    <div class="left"></div>    <div class="main"></div>  </div></body>

web前端面试题案例代码分析

面试官:flex 布局中 align-content 与 align-items 有何区别?

我:呃~,它们都是作用于纵轴的元素,具体区别如下:

align-content:作用于纵轴多行元素,一行元素不起作用。

<style>  .container {    background-color: #efefef;    border: 1px solid #888;    margin-top: 3rem;    height: 300px;    display: flex;    flex-wrap: wrap;        align-content: center;  }  .item {    width: 200px;    height: 100px;    background-color: #ccc;    border: 1px solid #aaa;  }</style><body>  <div class="container">    <div class="item">1</div>    <div class="item">2</div>    <div class="item">3</div>    <div class="item">4</div>    <div class="item">5</div>    <div class="item">6</div>    <div class="item">7</div>    <div class="item"></div>    <div class="item"></div>    <div class="item"></div>  </div></body>

web前端面试题案例代码分析

align-items:作用于纵轴单行元素

<style>  .container {    background-color: #efefef;    border: 1px solid #888;    margin-top: 3rem;    height: 300px;    display: flex;    flex-wrap: wrap;        align-items: center;  }  .item {    width: 200px;    height: 100px;    background-color: #ccc;    border: 1px solid #aaa;  }</style><body>  <div class="container">    <div class="item">1</div>    <div class="item">2</div>    <div class="item">3</div>    <div class="item">4</div>    <div class="item">5</div>    <div class="item">6</div>    <div class="item">7</div>    <div class="item"></div>    <div class="item"></div>    <div class="item"></div>  </div></body>

web前端面试题案例代码分析

面试官:Grid 布局的优势在哪里?

我:呃~,Flex 布局是轴线布局,只能指定"项目"针对轴线的位置,可以看作是一维布局。 Grid 布局则是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局。 Grid 布局远比 Flex 布局强大。

面试官:Flex 布局中的 flex-basis 与 width 有何区别?

我:呃~,flex-basis 的值为理想情况,而在实际情况中可能被压缩,当 flex-direction 为 column 时,主轴为纵轴,此时 flex-basis 与 height 对应

面试官:css 加载会阻塞 DOM 树的解析和渲染吗?

我:呃~,css 加载会直接影响网页的渲染,因为只有 css 加载完毕,构建完 CSSOM 后,渲染树(Render Tree)才会构建,然后渲染成位图,如果 html 中有加载 script 的话,还会间接影响 DOM 树的解析,因为 javascript 的下载、解析和执行和阻塞 DOM 树的解析,而 javascript 中有可能访问 CSSOM,比如 Element.getBoundingClientRect,因此 CSSOM 构建完毕以后才会开始 javascript 的执行,间接阻塞 dom 树的解析。

面试官:什么是层叠上下文 (stacking contect),谈谈对它的理解

我:呃~,好的,层叠上下文就是对这些 HTML 元素的一个三维构想。众 HTML 元素基于其元素属性按照优先级顺序占据这个空间。优先级如下:

web前端面试题案例代码分析

面试官:z-index: 999 元素一定会置于 z-index: 0 元素之上吗?

我:呃~,不会,我们在进行层叠上下文时,会优先比较父级,如果父级是层叠上下文,子级即使有z-index也不再起作用了,如果父级层叠上下文层叠顺序相等,那么采取后来居上原则,前者覆盖后者。如果父级是普通元素,子级层叠比较就不受父级的影响,谁的层叠顺序高谁就先展示。

层叠黄金准则:

谁大谁上:当具有明显的层叠水平标示的时候,如识别的z-indx值,在同一个层叠上下文领域,层叠水平值大的那一个覆盖小的那一个。通俗讲就是官大的压死官小的。

后来居上:当元素的层叠水平一致、层叠顺序相同的时候,在DOM流中处于后面的元素会覆盖前面的元素。

整出代码如下:

<style>  .first {    background-color: red;    height: 3rem;    z-index: 2;    opacity: 0.99;  }  .item1 {    z-index: 0;    height: 100%;    width: 3rem;    background-color: orange;  }  .second {    background-color: blue;    height: 3rem;    margin-top: -1.5rem;    z-index: 3;    position: relative;  }    .item2 {    z-index: 999;    height: 100%;    width: 3rem;    background-color: green;  }</style><body>  <div class="first">    <div class="item1"></div>  </div>  <div class="second">    <div class="item2"></div>  </div></body>

web前端面试题案例代码分析

面试官:什么是 Data URL?

我:呃~,Data URL 是将图片转换为 base64 直接嵌入到了网页中。

使用<img class="lazy" data-src="data:[MIME type];base64"/>这种方式引用图片,不需要再发请求获取图片。

使用 Data URL 也有一些缺点:

base64 编码后的图片会比原来的体积大三分之一左右。

Data URL 形式的图片不会缓存下来,每次访问页面都要被下载一次。可以将 Data URL 写入到 CSS 文件中随着 CSS 被缓存下来。

面试官:网站设置字体时,如何设置优先使用系统默认字体?

我:呃~,system-ui 将会自动选取系统默认字体作为字体。

web前端面试题案例代码分析

面试官:CSS如何实现圣杯布局?

我:呃~,圣杯布局是指两端宽度固定,中间自适应。在日常开发中,圣杯布局的使用频率是比较高的。举一个简单的浮动例子,当然也可以使用定位或flex布局,整出代码如下:

浮动

<!DOCTYPE html><html>    <head>        <meta charset=utf-8>        <style type="text/css">            * {                margin: 0;                padding: 0;            }            .container {                border: 1px solid black;                overflow: hidden;                padding: 0px 100px;                min-width: 100px;            }            .left {                background-color: greenyellow;                float: left;                width: 100px;                margin-left: -100%;                position: relative;                left: -100px;            }            .center {                background-color: darkorange;                float: left;                width: 100%;            }            .right {                background-color: darkgreen;                float: left;                width: 100px;                margin-left: -100px;                position: relative;                left: 100px;            }        </style>    </head>    <body>    <section class="container">            <article class="center"><br /><br /><br /></article>            <article class="left"><br /><br /><br /></article>            <article class="right"><br /><br /><br /></article>        </section>    </body></html>

web前端面试题案例代码分析

感谢各位的阅读,以上就是“web前端面试题案例代码分析”的内容了,经过本文的学习后,相信大家对web前端面试题案例代码分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

web前端面试题案例代码分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

web前端面试题案例代码分析

这篇文章主要讲解了“web前端面试题案例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端面试题案例代码分析”吧!面试官:css 如何实现左侧固定 300px,右侧自适应的布局
2023-07-05

web前端面试题实例代码分析

这篇文章主要讲解了“web前端面试题实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端面试题实例代码分析”吧!面试官:给定一个元素,如何实现水平垂直居中?我:呃~,针对这个
2023-07-05

web前端面试问答题实例代码分析

这篇文章主要介绍“web前端面试问答题实例代码分析”,在日常操作中,相信很多人在web前端面试问答题实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web前端面试问答题实例代码分析”的疑惑有所帮助!
2023-07-05

web前端高频面试题实例代码分析

本篇内容介绍了“web前端高频面试题实例代码分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!面试官:请你谈谈JS的this指向问题我:呃~
2023-07-05

web前端面试题实例分析

今天小编给大家分享一下web前端面试题实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。面试官:页面导入样式时,使用 l
2023-07-05

前端react面试题实例代码分析

这篇“前端react面试题实例代码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“前端react面试题实例代码分析”文章吧
2023-07-05

web前端面试题实例题目分析

今天小编给大家分享一下web前端面试题实例题目分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。面试官:请你谈一下自适应(适
2023-07-05

高频web前端面试题实例分析

本篇内容主要讲解“高频web前端面试题实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“高频web前端面试题实例分析”吧!面试官:请你简述 var、let、const 三者之间的区别?我:呃
2023-07-05

TS面试题实例代码分析

本篇内容主要讲解“TS面试题实例代码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TS面试题实例代码分析”吧!第一层的要求是这样的:实现一个 zip 函数,对两个数组的元素按顺序两两合并,比
2023-07-05

PHP面试题实例代码分析

本篇内容主要讲解“PHP面试题实例代码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP面试题实例代码分析”吧!Q1: == 和 === 之间有什么区别?话题: PHP困难: ⭐如果是两个
2023-06-30

vue核心面试题实例代码分析

这篇文章主要介绍了vue核心面试题实例代码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue核心面试题实例代码分析文章都会有所收获,下面我们一起来看看吧。1-为什么要在列表中绑定key,有什么作用
2023-07-04

web前端高频面试题及答案有哪些

这篇文章主要介绍了web前端高频面试题及答案有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇web前端高频面试题及答案有哪些文章都会有所收获,下面我们一起来看看吧。1.vue双向数据绑定的原理?mvvm场景
2023-07-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录