【校招VIP】前端CSS/CSS3之盒模型

09月30日 收藏 0 评论 2 前端开发

【校招VIP】前端CSS/CSS3之盒模型

考点介绍:

WebSocket 是一种网络通信协议,很多高级功能都需要它。初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:对于前端面试来说,css盒模型肯定是必考必问的前端知识点,因为这是CSS基石中非常重要的内容,而且它关联的知识也非常多,今天的专题重点来说一说面试中一般都是如何层层递进的提问呢?

本期分享的前端CSS/CSS3之盒模型,分为试题、文章以及视频三部分。

答案详情解析和文章内容可扫下方二维码或链接即可查看!

一、考点题目

1、如何设置怪异盒模型,与普通盒模型区别(解决盒子加上了边框,宽度溢出的问题)

解答:表示怪异盒模型(移动布局)
CSS语法:border-sizing: border-box
规则:width + margin(左右)(即width已经包含了padding和border值)
标准盒模型
CSS语法:border-sizing: content-box
规则:一个块的总宽度= width + margin(左右) + padding(左右) + border(左右)

2、标准模型和IE模型的区别?

解答:问题简答
标准模型和ie模型的区别是计算宽width高height的不同。

1.标准模型width不计算padding和border;
2.ie模型width计算padding 和border;

知识解析
标准盒模型(W3C盒子模型)
设置的宽高是对实际内容content的宽高进行设置,内容周围的border和padding另外设置;

即元素实际占位的宽高为:
width【height】= 设置的content的宽【高】 + padding + border + margin

3、根据盒模型解释边距重叠。

解答:问题简答
外边距重叠是指两个【垂直】 【相邻】的块级元素,当上下两个边距相遇时,其外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。(水平方向不会发生)
根据W3C文档的说明,当符合以下条件时,就会触发外边距重合

1.都是普通流中的元素且属于同一个 BFC
2.没有被 padding、border、clear 或非空内容隔开
3.两个或两个以上垂直方向的「相邻元素」

相邻元素包括父子元素和兄弟元素重叠后的margin计算

1.margin都是正值时取较大的margin值
2.margin都是负值时取绝对值较大的,然后负向位移。
3.margin有正有负,从负值中选绝对值最大的,从正值中选取绝对值最大的,然后相加

4、JS如何设置/获取盒模型对应的宽和高?

解答:问题简答

1) dom.style.width/height【只能取到内联元素】
2) dom.currentStyle.width/height【只有IE支持】
3) document.getComputedStyle(dom,null).width/height
4) dom.getBoundingClientRect().width/height
5) dom.offsetWidth/offsetHeight【常用】

知识解析

1、dom.style.width/height

通过dom节点的style样式获取,只能取到行内样式的宽和高,style 标签中和 link 外链的样式取不到.box{...}

let targetDom = document.querySelector('.box');
let width = targetDom.style.width;
let height = targetDom.style.height;

console.log("width",width)
console.log("height",height)

(答案点击下方链接或者扫海报二维码查看哦)

二、考点文章

1、Flex布局总结(详细)

以前在网页开发过程中,布局一直是不可或缺的,从最早的表格布局,到后来的DIV+CSS布局,现在再到CSS3的伸缩布局。最近在写小程序的项目中flex布局用得非常多,其适应性也非常强,其强大的伸缩性,发挥了极大的作用,因此就在这里整理一下flex布局的知识。

2、盒子模型和弹性布局实现自适应布局

在常规的项目开发中,很多时候不使用响应式框架的前提下,都需要开发人员手动实现自适应,这个时候盒子模型的优势就体现了出来。盒子结构的合理嵌套,以及CSS样式的使用,就能实现简单的自适应布局。

常见的实现方式有2种:

1、使用简单的盒子模型的特性, 子盒子使用{ width:百分比; }实现比例缩放。
2、使用CSS的属性{ display:flex; },注意要定义在父盒子上,子盒子使用{ flex:数字; }实现比例。

3、css的盒子模型以及布局(面试考点)

移动端响应式布局几大方案

media
移动端和pc端一套 用于百分比

rem
针对移动端单独开发用rem

flex
部分布局结构用flex ,flex在移动端没有兼容性问题大胆使用

vh/vm
视口化开发 和百分比类似,俗称百分比布局

(扫下方海报二维码查看完整版)

三、考点视频

1、盒子模型和box-sizing属性

本题是前端项目开发的基础,也是面试的必考题之一。
要区分传统box模型和CSS3加了box-sizing属性后的区别,和对应的使用场景。
主要是对元素width和块总宽度的考察,包括padding和border的值的影响。

更多资讯可搜索校招VIP小程序查看哦!

移动端链接:https://m.naoffer.com/dTopic/detail/706

PC端链接:https://xiaozhao.vip/dTopic/detail/706

C 2条回复 评论
摔伤脚踝的流星

看完解析才知道应该是这样的思路

发表于 2024-04-05 22:00:00
0 0
杨微粒

推荐一个我使用过的框架,https://github.com/wuyouzhuguli/FEBS-Vue,UI还不错

发表于 2023-07-28 23:00:00
0 0