发表于: 2020-06-15 20:11:22

1 2135



今天完成的事情:

1.回顾任务


明天计划的事情:

1.回顾任务


遇到的问题和收获:


BFC的概念  Formatting Context:指页面中的一个渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素的相互关系和作用。  BFC:块级格式化上下文,它是指一个独立的块级渲染区域,只有Block-level BOX参与,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。


BFC的原理BFC区域的元素不会影响外面的元素,反之亦然。BFC区域不会与float元素发生重叠计算BFC高度时,浮动元素能够撑开BFC的高度,达到清除浮动的效果。


最常用触发BFC的条件

解决问题:

1.解决浮动元素令父元素高度坍塌的问题


2. 解决自适应布局的问题


3. 解决外边距垂直方向重合问题



flex布局

flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。块级元素只需要display属性为flex即可。行内元素也可以使用 Flex 布局。.box{ display: inline-flex; }。Webkit 内核的浏览器,必须加上-webkit前缀。


flex-direction属性决定主轴的方向(即项目的排列方向)。

flex-wrap属性定义,如果一条轴线排不下,如何换行。默认情况下,项目都排在一条线(又称"轴线")上。

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

justify-content属性定义了项目在主轴上的对齐方式。

align-items属性定义项目在交叉轴上如何对齐。

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。



margin负值

当元素不存在 width 属性或者(width: auto) 的时候,负 margin 会增加元素的宽度

margin-top 为负值不会增加高度,相应的会减少自身的高度,进而产生向上位移

所以如果你使用负 margin 上移一个元素,所有跟随的元素都会被上移。

margin-bottom 为负值不会产生位移,会减少自身的供 css 读取的高度。

元素如果用了 margin-left: -20px;毋庸置疑的自身会左偏移 20px 和定位(position: relative) 有点不一样的是,在其后面的元素会补位,也就是后面的行内元素会紧贴在此元素的之后。总结,不脱离文档流不使用 float 的话,负 margin 元素是不会破坏页面的文档流。



其中BFC这个概念之前没了解到。不过用到过触发BFC的属性


flex布局用的很多。margin负值的应用场景也多,用的比较多的地方有居中布局,不定宽和多列等高等






返回列表 返回列表
评论

    分享到