【面试题总结3】

简介: 【面试题总结3】

absolute的containing block计算方式跟正常流有什么不同?

无论属于哪种,都要先找到其祖先元素中最近的position值不为static的元素,然后再判断;

1、若此元素为inline元素,则containing block为能够包含这个元素生成的第一个和最后一个inline box的padding box(除margin、border外的区域)的最小矩形;

2、否则,则由这个祖先元素的padding box构成

如果都找不到,则为initial containing block。

补充:

1、static(默认的)/relative:简单说就是它的父元素的内容框(即去掉padding的部分)

2、absolute向上找最近的定位为absolute/relative的元素

3、fixed,它的containing block 一律为根元素(html/body)

CSS里的visibility属性有个collapse属性值?在不同浏览器下以后什么区别?

当一个元素的visibility属性被设置成collapse值后,对于一般的元素,它的表现跟hidden是一样的。

1、chrome中,使用collapse值和使用hidden没有区别

2、Firefox、opera和IE,使用collapse值和使用display:none没有区别

display:none与visibility:hidden的区别

display:none不显示对应的元素,在文档布局中不再分配空间(回流+重绘)

visibility:hidden隐藏对应元素,在文档布局中仍保留原来的空间(重绘)

position跟display、overflow、float这些特性相互叠加后会怎么样?

display属性规定元素应该生成的框的类型;position属性规定元素的定位类型;float属性是一种布局方式,定义元素在哪个方向浮动。

类似于优先级机制:position:absolute/fixed优先级最高,有他们在时,float不起作用,display值需要调整,float或者absolute定位的元素,只能是块元素或表格。

对BFC规范(块级格式化上下文:block formatting context)的理解?

BFC规定了内部的Block Box如何布局。

定位方案:

1、内部的box会在垂直方向上一个接一个放置。

2、box垂直方向的距离由margin决定,属于同一个BFC的两个相邻Box的margin会发生重叠。

3、每个元素的margin box的左边,与包含块border box的左边相接触。

4、BFC的区域不会与float box重叠

5、BFC是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素

5、计算BFC的高度时,浮动元素也会参与计算

满足下列条件之一就可触发BFC:

1、根元素,即html

2、float的值不为none(默认)

3、overflow的值不为visible(默认)

4、display的值为inline-block、table-cell、table-caption

5、position的值为absolute或fixed

为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式?

浮动元素碰到包含它的边框或者浮动元素的边框停留,由于浮动元素不在文档流当中,所以文档流的块框表现得就像浮动框不存在一样,浮动元素会漂浮在文档流的块框上。

浮动带来的问题:

1、父元素的高度无法被撑开,影响与父元素统计的元素

2、与浮动元素统计的非浮动元素(内联元素)会跟随其后

3、若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构。

清除浮动的方式:

1、父级div定义height

2、最后一个浮动元素后加空div标签,并添加样式clear:both.

3、包含浮动元素的父标签添加样式overflow为hidden或auto。

4、父级div定义zoom

上下margin重合的问题

在重合元素外包裹一层容器,并触发改容器生成一个BFC。

div class="aside"></div>
<div class="text">
    <div class="main"></div>
</div>
<!--下面是css代码-->
 .aside {
    margin-bottom: 100px;  
     width: 100px;
     height: 150px;
     background: #f66;
 }
 .main {
     margin-top: 100px;
     height: 200px;
     background: #fcc;
 }
  .text{
     /*盒子main的外面包一个div,通过改变此div的属性使两个盒子分属于两个不同的BFC,以此来阻止margin重叠*/
     overflow: hidden;  //此时已经触发了BFC属性。
 }

设置元素浮动后,该元素的display值是多少

自动变成display:block

移动端的布局用过媒体查询吗?

CSS优化、提高性能的方法有哪些

1、避免过度约束

2、避免后代选择符

3、避免链式选择符

4、使用紧凑的语法

5、避免不必要的命名空间

6、避免不必要的重复

7、最好使用表示语义的名字,一个好的类名应该是描述他是什么而不是像什么

8、避免!important,可以选择其他选择器

9、尽可能的精简规则,你可以合并不同类里的重复规则


相关文章
|
2月前
|
存储 弹性计算 数据管理
阿里云对象存储OSS收费标准:存储费、流量价格及不同计费模式全解析
阿里云OSS收费标准涵盖存储、流量等费用,支持按量付费与资源包两种模式。标准存储按量0.09元/GB/月,包年500GB仅需118.99元,流量费按公网出方向计费,闲时0.25元/GB,忙时0.5元/GB,可购流量包更优惠。
1324 6
|
安全 Java 应用服务中间件
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
什么是类加载器,类加载器有哪些;什么是双亲委派模型,JVM为什么采用双亲委派机制,打破双亲委派机制;类装载的执行过程
319 35
JVM常见面试题(三):类加载器,双亲委派模型,类装载的执行过程
|
Ubuntu Linux
在Linux中,如何添加路由?
在Linux中,如何添加路由?
|
XML JavaScript 前端开发
springboot配合Freemark模板生成word,前台vue接收并下载【步骤详解并奉上源码】
springboot配合Freemark模板生成word,前台vue接收并下载【步骤详解并奉上源码】
926 2
|
缓存 算法 网络性能优化
解决网络延迟和阻塞,有它,不服都不行!
解决网络延迟和阻塞,有它,不服都不行!
520 0
|
SQL 分布式计算 数据处理
【Hive】请说明hive中 Sort By,Order By,Cluster By,Distrbute By各代表什么意思?
【4月更文挑战第17天】【Hive】请说明hive中 Sort By,Order By,Cluster By,Distrbute By各代表什么意思?
|
机器学习/深度学习 自然语言处理 并行计算
一文快速读懂Transformer
Transformer模型近年来成为自然语言处理(NLP)领域的焦点,其强大的特征提取能力和并行计算优势在众多任务中取得显著效果。本文详细解读Transformer的原理,包括自注意力机制和编码器-解码器结构,并提供基于PyTorch的代码演示,展示了其在文本分类等任务中的应用。
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构
|
资源调度 前端开发 API
基于 React、TS的聊天室monorepo实战
基于 React、TS的聊天室monorepo实战
456 1
|
存储 数据采集 监控
企业信息联网核查系统
企业信息联网核查系统,简称企业信息联网系统,是一个基于网络技术的信息管理系统,旨在解决企业内部不同部门、不同系统之间信息互通的问题。企业信息联网核查系统将各部门的信息整合到一个平台上,企业四要素核验实现了信息共享和协作,提高了企业内部工作效率,提高了企业管理水平和决策效率。