CSS盒子模型

包含元素内容(content)、内边距(padding)、边框(border)、外边距(margin)

一般元素总宽度 = element的width+padding的左右边距+margin左右边距值+border的左右宽度

高度同理

外边距合并

上下外边距会合并一般发生在普通文档流中,行内框,浮动框或绝对定位之间外边距不会合并

一般合并的外边距会取那个较大的值

Box-sizing属性(content-box|border-box|inherit

Content-box: 总宽度 = margin+border+padding+width

Border-box:总宽度 = width+margin   其中盒子的width包含padding+border+element

inherit:规定从父元素继承box-sizing的属性值

实践中的问题

  • Margin越界(第一个子元素的margin-top和最后一个子元素的margin-bottom)

->父元素没边框,设置第一个子元素的margin-top的值会加在父元素上,解决方法如下:

  1. 给父元素加边框
  2. 给父元素设置padding
  3. 父元素添加overflow:hidden
  4. 父元素加前置内容生成(推荐)

例子:.parent{

Width:500px;

Height:500px;

Background:red

}

.parent : before{

Content:””;

Display:table

}

.child{

Width:200px;

Height:200px;

Background:green;

Margin-top:50px

}

<div class=“parent”>

<div class=“child”>

</div>

</div>

浏览器间的盒子模型

  1. ul在MOzillz中默认有padding值,而在IE中只有margin值
  2. 标准盒子模型与IE盒子模型之间差异,IE更像box-sizing:border-box,解决方法就是在HTML模板加上doctype

盒子模型画三角形

.triangle{

Width:0;

Height:0;

Border:20px solid transparent;

Border-top:20px solid red;

}//向下的箭头

BFC理解(块级格式化上下文,独立的渲染区域,规定了内部的BFC如何布局,并与这个区域的外部互不相干)

BOX、Formatting Context的缩写

Box:CSS布局的基本单位

  • box常用盒子:(根据display的你属性区分盒子)

-> block-level box:display属性为 block,list-item,tabel的元 素,并且参与BFC;

-> inline-level box:display 属性为 inline,inline-block,inline-table,参与IFC

  • BFC布局规则

-> 内部的Box会在垂直方向上,一个接一个放置

-> Box垂直方向距离由Margin决定,属于同一个BFC的两个相邻的Box的Margin会发生重叠

-> 每个子集元素的Margin Box的左边与包含他的父级元素的 border  box的左边相接触(对于从左往右的格式,反之相反);即使存在浮   动也是如此

-> BFC的区域不会与Float Box重叠

-> BFC在页面上就是一个隔离的独立的容器,容器里面的子元素不会影响外面的元素,反之一样

-> 计算BFC高度的时候,浮动元素高度也参与计算

  • 哪些元素会生成BFC

-> 根元素

-> float 不为none

-> position为absolute或fixed

-> display为inline-block,table-cell,table-caption,flex,inline-flex

-> overflow不为visible

关于css盒子模型和BFC的理解的更多相关文章

  1. CSS盒子模型和IE浏览器

    CSS盒模型图解 下面是一幅关于应用了CSS的元素是如何显示它的尺寸的图示. 在本篇文章中,所有的浏览器在计算盒模型总宽度时处理margin属性的方式都是一致的,所以我们将更多的精力放在padding ...

  2. 标准W3C盒子模型和IE盒子模型

    标准W3C盒子模型和IE盒子模型   CSS盒子模型:网页设计中CSS技术所使用的一种思维模型. CSS盒子模型组成:外边距(margin).边框(border).内边距(padding).内容(co ...

  3. 十分钟复习CSS盒模型与BFC

    css盒模型与BFC 本文为收集整理总结网上资源 旨在系统复习css盒模型与bfc 节省复习时间 阅读10分钟 什么是盒模型 每一个文档中,每个元素都被表示为一个矩形的盒子,它都会具有内容区.padd ...

  4. css盒模型与bfc与布局与垂直水平居中与css设计模式等

    一.css盒子与布局相关 盒子内部的布局 盒子之间的布局visual formatting 脱离正常流normal flow的盒子的布局 absolute布局上下文下的布局 float布局上下文下的布 ...

  5. 前端面试必备技巧(二)css盒模型及BFC

    CSS盒模型 基本概念:标准模型+IE模型及区别 CSS如何设置这两种模型? JS如何设置获取盒模型对应的宽和高? 实例题(根据盒模型解释边距重叠) BFC边距重叠解决方案 (1)BFC的基本概念:b ...

  6. 标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)

    盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上 ...

  7. CSS中盒子模型和position(一)

    今天遇到几个css中的重要的知识点,记得这些都是以前看过的:margin.padding.border和position.可是用起来还是有很多的问题,以前自己看过去总是懒得记录,等到用起来了都不知道自 ...

  8. 标准盒子模型和IE盒子模型

    标准盒子模型 = margin + border + padding + content (content =  width | height) IE盒子模型 = margin + content ( ...

  9. css盒模型-BFC

    BFC(边距重叠解决方案) 1.BFC的基本概念:块级格式化上下文 2.BFC的原理(说白了就是BFC的渲染规则): 这个规则是什么呢?我觉得大家能说出4点就够了 第一个就是BFC可以解决这个元素的垂 ...

随机推荐

  1. .Net Core的Excel导入

    1.前台代码,layui模板 2.后台代码,后台实现 (1)导入 (2)数据验证 (3)将导入数据存储在数据库中 (4)定义保存导入数据接口 (5)接口的实现调用业务层 (6)业务层接口 (7)业务层 ...

  2. 论文阅读笔记(七)YOLO

    You Only Look Once: Unified, Real-Time Object Detection Joseph Redmon, CVPR, 2016 1. 之前的目标检测工作将分类器用作 ...

  3. 论文阅读笔记(一)FCN

    本文先对FCN的会议论文进行了粗略的翻译,使读者能够对论文的结构有个大概的了解(包括解决的问题是什么,提出了哪些方案,得到了什么结果).然后,给出了几篇博文的连接,对文中未铺开解释的或不易理解的内容作 ...

  4. IMDB-二分类问题

    from keras.datasets import imdb from keras.utils.np_utils import to_categorical import numpy as np f ...

  5. Java 多线程 - 锁优化

    http://www.cnblogs.com/pureEve/p/6421273.html https://www.cnblogs.com/mingyao123/p/7424911.html

  6. 【easy】532. K-diff Pairs in an Array

    这道题给了我们一个含有重复数字的无序数组,还有一个整数k,让我们找出有多少对不重复的数对(i, j)使得i和j的差刚好为k.由于k有可能为0,而只有含有至少两个相同的数字才能形成数对,那么就是说我们需 ...

  7. 微信小程序开发学习(一)

    一.各种JSON配置 1.小程序配置app.json 为小程序全局配置,包括所有页面路径.界面表现.网络超时时间.底部tab等,类比APP开发中manifest配置. 2.工具配置project.co ...

  8. windows环境安装phantomjs和pyspider遇到的问题

    1. 安装phantomjs 下载地址:http://phantomjs.org/download.html 解压后将phantomjs.exe文件放到python根目录 2.安装pyspider p ...

  9. c#解决浏览器跨域问题

    1.浏览器为什么不能跨域? 浏览器有一个基本的安全策略--同源策略.为保证用户的信息安全,它对不同源的文档或脚本对当前文档的读写操作做了限制.域名,子域名,端口号或协议不同都属于不同源,当脚本被认为是 ...

  10. 记录一下这几天遇到的坑(.netcore 代理问题)

    1.通过图片的网络url将图片转化为base64格式 方法如下: public static async Task<string> GetImageAsBase64Url(string u ...