当前位置: 首页 > news >正文

襄阳建设21网站爱有声小说网站捡个校花做老婆

襄阳建设21网站,爱有声小说网站捡个校花做老婆,专业番禺网站建设,wordpress助手爱奇艺BFC 已经是一个耳听熟闻的词语了#xff0c;网上有许多关于 BFC 的文章#xff0c;介绍了如何触发 BFC 以及 BFC 的一些用处#xff08;如清浮动#xff0c;防止 margin 重叠等#xff09;。虽然我知道如何利用 BFC 解决这些问题#xff0c;但当别人问我 BFC 是什么…  BFC 已经是一个耳听熟闻的词语了网上有许多关于 BFC 的文章介绍了如何触发 BFC 以及 BFC 的一些用处如清浮动防止 margin 重叠等。虽然我知道如何利用 BFC 解决这些问题但当别人问我 BFC 是什么我还是不能很有底气地解释清楚。于是这两天仔细阅读了CSS2.1 spec 和许多文章来全面地理解BFC。 一、BFC是什么   在解释 BFC 是什么之前需要先介绍 Box、Formatting Context的概念。   Box: CSS布局的基本单位   Box 是 CSS 布局的对象和基本单位 直观点来说就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性决定了这个 Box 的类型。 不同类型的 Box 会参与不同的 Formatting Context一个决定如何渲染文档的容器因此Box内的元素会以不同的方式渲染。让我们看看有哪些盒子 block-level box:display 属性为 block, list-item, table 的元素会生成 block-level box。并且参与 block fomatting contextinline-level box:display 属性为 inline, inline-block, inline-table 的元素会生成 inline-level box。并且参与 inline formatting contextrun-in box: css3 中才有 这儿先不讲了。  Formatting context   Formatting context 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域并且有一套渲染规则它决定了其子元素将如何定位以及和其他元素的关系和相互作用。最常见的 Formatting context 有 Block fomatting context (简称BFC)和 Inline formatting context (简称IFC)。   CSS2.1 中只有 BFC 和 IFC, CSS3 中还增加了 GFC 和 FFC。   BFC 定义   BFC(Block formatting context)直译为块级格式化上下文。它是一个独立的渲染区域只有Block-level box参与 它规定了内部的Block-level Box如何布局并且与这个区域外部毫不相干。   BFC布局规则 内部的Box会在垂直方向一个接一个地放置。Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠每个元素的margin box的左边 与包含块border box的左边相接触(对于从左往右的格式化否则相反)。即使存在浮动也是如此。BFC的区域不会与float box重叠。BFC就是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面的元素。反之也如此。计算BFC的高度时浮动元素也参与计算二、哪些元素会生成BFC? 根元素float属性不为noneposition为absolute或fixeddisplay为inline-block, table-cell, table-caption, flex, inline-flexoverflow不为visible三、BFC的作用及原理   1. 自适应两栏布局   代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 style     body {         width: 300px;         position: relative;     }     .aside {         width: 100px;         height: 150px;         float: left;         background: #f66;     }     .main {         height: 200px;         background: #fcc;     } /style body     div classaside/div     div classmain/div /body   页面     根据BFC布局规则第3条 每个元素的margin box的左边 与包含块border box的左边相接触(对于从左往右的格式化否则相反)。即使存在浮动也是如此。   因此虽然存在浮动的元素aslide但main的左边依然会与包含块的左边相接触。   根据BFC布局规则第四条 BFC的区域不会与float box重叠。   我们可以通过通过触发main生成BFC 来实现自适应两栏布局。 1 2 3 .main {     overflow: hidden; }   当触发main生成BFC后这个新的BFC不会与浮动的aside重叠。因此会根据包含块的宽度和aside的宽度自动变窄。效果如下      2. 清除内部浮动   代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 style     .par {         border: 5px solid #fcc;         width: 300px;     }     .child {         border: 5px solid #f66;         width:100px;         height: 100px;         float: left;     } /style body     div classpar         div classchild/div         div classchild/div     /div /body   页面     根据BFC布局规则第六条 计算BFC的高度时浮动元素也参与计算   为达到清除内部浮动我们可以触发par生成BFC那么par在计算高度时par内部的浮动元素child也会参与计算。   代码 1 2 3 .par {     overflow: hidden; }   效果如下   ?   3. 防止垂直 margin 重叠   代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 style     p {         color: #f55;         background: #fcc;         width: 200px;         line-height: 100px;         text-align:center;         margin: 100px;     } /style body     pHaha/p     pHehe/p /body   页面     两个p之间的距离为100px发送了margin重叠。  根据BFC布局规则第二条 Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠   我们可以在p外面包裹一层容器并触发该容器生成一个BFC。那么两个P便不属于同一个BFC就不会发生margin重叠了。  代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 style     .wrap {         overflow: hidden;     }     p {         color: #f55;         background: #fcc;         width: 200px;         line-height: 100px;         text-align:center;         margin: 100px;     } /style body     pHaha/p     div classwrap         pHehe/p     /div /body   效果如下:   总结   其实以上的几个例子都体现了BFC布局规则第五条 BFC就是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面的元素。反之也如此。   因为BFC内部的元素和外部的元素绝对不会互相影响因此 当BFC外部存在浮动时它不应该影响BFC内部Box的布局BFC会通过变窄而不与浮动有重叠。同样的当BFC内部有浮动时为了不影响外部元素的布局BFC计算高度时会包括浮动的高度。避免margin 本文出处【http://www.cnblogs.com/lhb25/】   以下来源于《HTML 5 移动Web开发实战详解》 林珑 著 BFC的元素可以当做一个密闭的大箱子箱子外部的元素不与箱子内部的元素产生作用此时在这个BFC元素内的元素有如下的特征1、外边距将不再与上下文之外的元素折叠2、其内可以包含浮动元素3、可以组织浮动元素被覆盖4、框会一个接一个地被垂直放置它们的起点是一个包含快的顶部。即BFC中的文字将不会环绕邻接的浮动盒子排布而是竖直排布因为行框将会一个接一个的垂直放置如何触发BFC1、浮动元素浮动元素本身形成一个BFC2、绝对定位元素3、行内块元素(display:inline-block)4、表格单元格和标题(display:table-cell或display:table-caption)5、overflow为非visible的元素转载于:https://www.cnblogs.com/wpbars/p/5955033.html
http://www.sadfv.cn/news/116026/

相关文章:

  • 网站颜色 字体郑州网站seo外包公司
  • 做图文网站要什么配置的服务器网站什么认证对做电商好
  • 公司网站改版需要怎么做企业网站建设感想
  • html5手机app网站模板wordpress里修改网页
  • wordpress+3d线条西安关键词seo
  • 网站内容建设评估简单的企业网站
  • 深圳 营销型网站公司知乎seo优化
  • 网站教程设计网站建站策划
  • 怎么做网站广告联盟全网网站推广
  • 美妆网站怎么做唐山门户网站建设
  • 在网站上怎么做招聘信息企业网站设计苏州
  • 苏州企业网站外链工具xg
  • 国内营销策划公司seo谷歌外贸推广
  • 游戏设计师网站有哪些网站开发语言有哪些
  • 建设校园标准信息服务网站论文推广线上渠道
  • 网站建设公司 深圳wordpress专题页面
  • 重庆企业服务建站网站开发建设网站时seo标题
  • 上海婚纱网站设计如何制作网站新手教程
  • 广告公司可以开网站建设费吗php网站开发和js
  • 工程建设标准下载网站为古汉字老人做网站
  • 做带支付平台的网站常用的h5制作工具有哪些
  • 游戏网站模商城网站布局
  • php不用框架怎么做网站wordpress媒体库格式
  • 杭州网站建设机构2021网络营销成功案例
  • 网站的设计流程有哪些步骤wordpress支持php7
  • 无极网络qq关键词排名优化
  • 各大网站官网的导航栏怎么做网站运营一般做那些分析
  • 怎么做公众号小程序广东搜索引擎优化
  • 设计类专业学什么南通做网站优化
  • 成都wap网站建设网站项目策划书内容模板