content-box,border-box与width100%,BFC与自适应布局

1.content-box:with指其content   width100%的话往往会出现超出的情况

border-box;width指content+padding+borderwidth

现在一般都用border-box  width100%实现自适应布局

2.另外说说border与outline的区别  outline不占任何空间   并且不一定是矩形

width:auto对块级元素来讲就是占据整行

与height:auto 是指根据内容决定高度

3.bfc 块级格式化上下文

bfc元素的特点:BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。

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

2、垂直方向上的距离由margin决定。(完整的说法是:属于同一个BFC的两个相邻Box的margin会发生重叠,与方向无关。)

3、每个元素的左外边距与包含块的左边界相接触(从左向右),即使浮动元素也是如此。(这说明BFC中子元素不会超出他的包含块,而position为absolute的元素可以超出他的包含块边界)

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

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

6、BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面元素,反之亦然

触发BFC的条件:

1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible

BFC也会带来很多弊端

1、display: table 可能引发响应性问题
2、overflow: scroll 可能产生多余的滚动条
3、float: left 将把元素移至左侧,并被其他元素环绕
4、overflow: hidden 将裁切溢出元素

5.根元素

因而无论什么时候需要创建BFC,都要基于自身的需要来考虑

实际应用:

1.margin重叠

2.浮动高度坍塌

3.实现自适应布局(用postion absolute left=右边宽度可以解决)

原文地址:https://www.cnblogs.com/stephenleee/p/10275698.html

时间: 2024-10-09 06:59:30

content-box,border-box与width100%,BFC与自适应布局的相关文章

[C++]const Box * p || Box const * p || Box * const p的区别

const与指针结合使用时,容易让人迷惑的是: 1. const到底是限定该指针不可再指向其它内存呢? 2. 还是禁止通过该指针修改其指向的内存块的内容?(PS:这里说的是禁止通过该指针修改内存块,所以不是不能修改,而是要通过其它方式去修改.) 下面来探究一下,先上基础代码. // Box.h author:[email protected] #ifndef _BOX_H #define _BOX_H class Box { public : Box(); int volume(); void

【转】CSS深入理解流体特性和BFC特性下多栏自适应布局

这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4588 一.开篇之言 要说web上实现两栏自适应布局的方法,一双手都数不过来.不知大家有没有细想过,为什么这些方法可以实现自适应布局呢? 本文就将深入探讨下流体特性和BFC特性下的两栏自适应布局,还是

圣杯 双飞翼布局 多栏自适应布局BFC

七种实现左侧固定,右侧自适应两栏布局的方法 圣杯布局 双飞翼布局 圣杯布局和双飞翼布局 CSS深入理解流体特性和BFC特性下多栏自适应布局 块状元素的流体特性. 图片宽度一直width:100%,结果随着margin, padding, border的出现,其可用宽度自动跟着减小,形成了自适应效果.就像放在容器中的水流一样,内容区域会随着margin, padding, border的出现自动填满剩余空间(box-sizing:border box;感觉) 然而,利用块状元素流体特性实现的自适应

元素的BFC特性与自适应布局

一.BFC元素简介与基本表现. BFC全程"Block Formatting Context",中文为"块级格式化上下文".记住一句话:BFC元素特性表现原则就是,内部子元素再怎么翻江倒海,翻雨覆雨都不会影响外部的元素.所以,避免margin穿透.清楚浮动什么的也就好理解了. 什么时候出发BFC呢? 常见的情况如下: -> float 的值不为none ; -> overflow 的值为auto,scroll或hidden; -> display的

BFC自适应布局

BFC(Block Formatting Context)块级格式化上下文.它是一个独立的渲染区域. 它决定了块级元素如何对它的内容进行布局,以及与其他元素的关系和相互关系. 块级元素:父级(是一个块元素) 内容:子元素(是一个块元素) 其他元素:与内容同级别的兄弟元素 相互作用:BFC里的元素与外面的元素不会发生影响 触发条件或者说哪些元素会生成BFC: 满足下列条件之一就可触发BFC [1]根元素,即HTML元素 [2]float的值不为none [3]overflow的值不为visible

2.Border Layout 自定义一个Layout来完成布局。

目标: 1.每一个被添加到布局里的控件都是QLayoutItem,我们根据方位添加. 2.定义一个结构体 ItemWrapper.里面包含QLayoutItem和方位. 阅读官方文档: To make your own layout manager, implement the functions addItem(), sizeHint(), setGeometry(), itemAt() and takeAt(). You should also implement minimumSize()

从CSS盒子模型说起

前言 总括: 对于盒子模型,BFC,IFC和外边距合并等概念和问题的总结 原文地址:从CSS盒子模型说起 知乎专栏:前端进击者 博主博客地址:Damonare的个人博客 为学之道,莫先于穷理:穷理之要,必先于读书. 正文 ? CSS盒子模型是CSS基础中的基础,个人之前对于这块的理解有偏差?,由于涉及知识点比较多所以写一篇总结备忘.之前打算的是两周一次更新博文的,但是时间用在了刷题上,做了很多leetcode上算法数据结构的题记录在github,但其实也有在更新啦~只不过是对之前的一些博文进行纠

Padding Borders Outlines Margins

简介: 在20世纪90年代,许多网页布局是使用table,使用table最主要的原因是因为可以放text到一个盒子里,但是这是一个比较复杂的过程,现在可以使用比较简单的方法,那就是css. 元素盒子: 从里到外 content area < content box < padding box < border box < margin box 宽度和高度: 通常会明确定义一个元素的宽度,很少明确定义元素的高度.width和height并不能应用到inline nonreplaced

[转] CSSOM视图模式(CSSOM View Module)相关整理

以下就是一些API属性的相关内容,包括兼容性,使用,测试等. 一.Window视图属性 这些属性可以hold住整个浏览器窗体大小.微软则将这些API称为“Screenview 接口”.包括:innerWidth 属性和 innerHeight 属性pageXOffset 属性和 pageYOffset 属性screenX 属性和 screenY 属性outerWidth 属性和 outerHeight 属性 相关属性组对应的兼容性以及使用见下面. 1. innerWidth 属性和innerHe