Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSS - 从入门到放弃 #2

Open
Rain120 opened this issue Apr 29, 2019 · 0 comments
Open

CSS - 从入门到放弃 #2

Rain120 opened this issue Apr 29, 2019 · 0 comments

Comments

@Rain120
Copy link
Owner

Rain120 commented Apr 29, 2019

CSS笔记,欢迎大佬提意见!!!


快速导航

Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 |

Q1. CSS盒模型问题?

当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box)。它封装周围的HTML元素,它包括:边距(margin),边框(border),填充(padding),和实际内容(content)

其实盒子模型有两种,分别是IE盒子模型和标准W3C盒子模型。它们之间的区分主要是由属性box-sizing来决定的,content-box代表标准盒子模型,border-box代表IE盒子模型。下面让我们来看看它们之间的区别吧。

标准盒子模型
image

IE盒子模型
image

从上面结果看,我们知道标准盒子模型和IE盒子模型的区别就是两者的计算方式不一样

MDN - CSS基础框盒模型介绍

Q2. 常见的定位方式

1、static(静态定位):默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

2、relative(相对定位):生成相对定位的元素,通过top, bottom, left, right的设置相对于其正常(原先本身)位置进行定位。可通过z-index进行层次分级。  

3、absolute(绝对定位):生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过top, bottom, left, right属性进行规定。可通过z-index进行层次分级。

4、fixed(固定定位):生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 top, bottom, left, right属性进行规定。可通过z-index进行层次分级。

Position属性四个值:static、fixed、absolute和relative的区别和用法

MDN - 定位

回到顶部

Q3. positionfloat的异同

相同点:相应模块都会脱离文档流
不同点:position相应的块级元素会覆盖下面的内容(文字,)
float只会覆盖块级元素,里面的文字会脱离出来

前端笔试之HTML+CSS+JS NO.1

回到顶部

Q4. BFC相关问题?

素质三连:什么是BFC? 它是作用是什么?如何触发它?

1. 什么是BFC?

块格式化上下文(Block Formatting Context,BFC)Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。简单的说就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。它与其他的块框类似,但是不同之处是:

  1. 可以阻止元素被浮动元素覆盖;
  2. 可以包含浮动元素;
  3. 可以阻止margin重叠。(原因: 所有同级或者嵌套的盒元素,并且它们之间没有非空内容、Padding 或 Border 分隔的两个或多个盒元素的 margin 将会合并为一个 margin 共享。)
2. 它是作用是什么?
  1. 防止元素坍塌;
  2. 清除内部包含浮动元素。
3. 如何触发它?

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

  1. 根元素,即HTML元素;
  2. float 不为none`;
  3. overflow不为 visible -> hidden,auto,scroll;
  4. displayinline-blocktable-celltable-caption;
  5. positionabsolutefixed.
  6. 表格标题(display:table-caption, html表格标题默认属性)
  7. 弹性盒flex boxes -> display:flex / inline-flex

MDN - 块格式化上下文

回到顶部

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant