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

做一个网站成本多少高端科研网站设计

做一个网站成本多少,高端科研网站设计,网站建设就业方向,企业文化简介网站怎么做前言 - CSS中的文档流 在介绍BFC之前#xff0c;需要先给大家介绍一下文档流。​ 我们常说的文档流其实分为定位流、浮动流、普通流三种。​ ​ 1. 绝对定位(Absolute positioning)​ 如果元素的属性 position 为 absolute 或 fixed#xff0c;它就是一个绝对定位元素。​ 在…前言 - CSS中的文档流 在介绍BFC之前需要先给大家介绍一下文档流。​ 我们常说的文档流其实分为定位流、浮动流、普通流三种。​ ​ 1. 绝对定位(Absolute positioning)​ 如果元素的属性 position 为 absolute 或 fixed它就是一个绝对定位元素。​ 在绝对定位布局中元素会整体脱离普通流因此绝对定位元素不会对其兄弟元素造成影响而元素具体的位置由绝对定位的坐标决定。​ 它的定位相对于它的包含块相关CSS属性top、bottom、left、right​ 对于 position: absolute元素定位将相对于上级元素中最近的一个relative、fixed、absolute如果没有则相对于body​ 对于 position:fixed正常来说是相对于浏览器窗口定位的但是当元素祖先的 transform 属性非 none 时会相对于该祖先进行定位。​ ​ 2. 浮动 (float)​ 在浮动布局中元素首先按照普通流的位置出现然后根据浮动的方向尽可能的向左边或右边偏移其效果与印刷排版中的文本环绕相似。​ ​ 3. 普通流 (normal flow)​ 普通流其实就是指BFC中的FC。FC(Formatting Context)直译过来是格式化上下文它是页面中的一块渲染区域有一套渲染规则决定了其子元素如何布局以及和其他元素之间的关系和作用。​ 在普通流中元素按照其在 HTML 中的先后位置至上而下布局在这个过程中行内元素水平排列直到当行被占满然后换行。块级元素则会被渲染为完整的一个新行。​ 除非另外指定否则所有元素默认都是普通流定位也可以说普通流中元素的位置由该元素在 HTML 文档中的位置决定。 BFC定义 先看下MDN上关于BFC的定义​ ​ 块格式化上下文Block Formatting ContextBFC 是Web页面的可视CSS渲染的一部分是块盒子的布局过程发生的区域 也是浮动元素与其他元素交互的区域。​ ​ 具有 BFC 特性的元素可以看作是隔离了的独立容器容器里面的元素不会在布局上影响到外面的元素并且 BFC 具有普通容器所没有的一些特性。​ 通俗一点来讲可以把 BFC 理解为一个封闭的大箱子箱子内部的元素无论如何翻江倒海都不会影响到外部。​ 除了 BFC还有​ IFC行级格式化上下文- inline 内联​GFC网格布局格式化上下文- display: grid​FFC自适应格式化上下文- display: flex或display: inline-flex​ 注意同一个元素不能同时存在于两个 BFC 中。 BFC的触发方式​ MDN上对于BFC的触发条件写的很多总结一下常见的触发方式有只需要满足一个条件即可触发 BFC 的特性​ 根元素即 ​浮动元素float 值为 left 、right​overflow 值不为 visible即为 auto、scroll、hidden​display 值为 inline-block、table-cell、table-caption、table、inline-table、- – flex、inline-flex、grid、inline-grid​绝对定位元素position 值为 absolute、fixed BFC的特性​ BFC 是页面上的一个独立容器容器里面的子元素不会影响外面的元素。​BFC 内部的块级盒会在垂直方向上一个接一个排列​同一 BFC 下的相邻块级元素可能发生外边距折叠创建新的 BFC 可以避免外边距折叠​每个元素的外边距盒margin box的左边与包含块边框盒border box的左边相接触从右向左的格式的话则相反即使存在浮动​浮动盒的区域不会和 BFC 重叠​计算 BFC 的高度时浮动元素也会参与计算 应用​ BFC是页面上的一个隔离的独立容器容器里面的子元素不会影响到外面元素反之亦然。我们可以利用BFC的这个特性来做很多事。 自适应两列布局​ 左列浮动定宽或不定宽都可以给右列开启 BFC。 div​div classleft浮动元素无固定宽度/div​div classright自适应/div​ /div* {​margin: 0;​padding: 0;​ }​ .left {​float: left;​height: 200px;​margin-right: 10px;​background-color: red;​ }​ .right {​overflow: hidden;​height: 200px;​background-color: yellow;​ }将左列设为左浮动将自身高度塌陷使得其它块级元素可以和它占据同一行的位置。​ 右列为 div 块级元素利用其自身的流特性占满整行。​右列设置overflow: hidden,触发 BFC 特性使其自身与左列的浮动元素隔离开不占满整行。​这即是上面说的 BFC 的特性之一浮动盒的区域不会和 BFC 重叠 防止外边距margin重叠​ 兄弟元素之间的外边距重叠 div​div classchild1/div​div classchild2/div​ /div* {​margin: 0;​padding: 0;​ }​ .child1 {​width: 100px;​height: 100px;​margin-bottom: 10px;​background-color: red;​ }​ .child2 {​width: 100px;​height: 100px;​margin-top: 20px;​background-color: green;​ }两个块级元素红色 div 距离底部 10px绿色 div 距离顶部 20px按道理应该两个块级元素相距 30px 才对但实际却是取距离较大的一个即 20px。​ ​ 块级元素的上外边距和下外边距有时会合并或折叠为一个外边距其大小取其中的较大者这种行为称为外边距折叠重叠注意这个是发生在属于同一 BFC 下的块级元素之间​ ​ 根据 BFC 特性创建一个新的 BFC 就不会发生 margin 折叠了。比如我们在他们两个 div 外层再包裹一层容器加属性 overflow: hidden触发 BFC那么两个 div 就不属于同个 BFC 了。 div​div classparent​div classchild1/div​/div​div classparent​div classchild2/div​/div​ /divdiv​div classparent​div classchild1/div​/div​div classparent​div classchild2/div​/div​ /div这个关于兄弟元素外边距叠加的问题除了触发 BFC 也有其他方案比如你统一只用上边距或下边距就不会有上面的问题。​ ​ 父子元素的外边距重叠​ 这种情况存在父元素与其第一个或最后一个子元素之间嵌套元素。​ 如果在父元素与其第一个/最后一个子元素之间不存在边框、内边距、行内内容也没有创建块格式化上下文、或者清除浮动将两者的外边距 分开此时子元素的外边距会“溢出”到父元素的外面。 div idparent​div idchild/div​ /div* {​margin: 0;​padding: 0;​ }​ #parent {​width: 200px;​height: 200px;​background-color: green;​margin-top: 20px;​ }​ #child {​width: 100px;​height: 100px;​background-color: red;​margin-top: 30px;​ }如上图红色的 div 在绿色的 div 内部且设置了 margin-top 为 30px但我们发现红色 div 的顶部与绿色 div 顶部重合并没有距离顶部 30px而是溢出到父元素的外面计算。即本来父元素距离顶部只有 20px被子元素溢出影响外边距重叠取较大的值则距离顶部 30px。​ 解决办法​ 给父元素触发 BFC如添加overflow: hidden​给父元素添加 border​给父元素添加 padding​ 这样就能实现我们期望的效果了 清除浮动解决令父元素高度坍塌的问题​ 当容器内子元素设置浮动时脱离了文档流容器中总父元素高度只有边框部分高度 div classparent​div classchild/div​ /div* {​margin: 0;​padding: 0;​ }​ .parent {​border: 4px solid red;​ }​ .child {​float: left;​width: 200px;​height: 200px;​background-color: blue;​ }解决办法给父元素触发 BFC使其有 BFC 特性计算 BFC 的高度时浮动元素也会参与计算 .parent {​overflow: hidden;​border: 4px solid red;​ }上面我们都是用的 overflow: hidden 触发 BFC因为确实常用但是触发 BFC 也不止是只有这一种方法。​ 如上面写的所示可以设置float: left;float: right;display: inline-block;overflow: auto;display: flex;display: table;position 为 absolute 或 fixed 等等这些都可以触发不过父元素宽度表现不一定相同但父元素高度都被撑出来了。​ 当然实际运用可不是随便挑一个走还是根据场景选择。
http://www.hkea.cn/news/14548200/

相关文章:

  • 海南网站建设找哪家WordPress影视站源码
  • 误入网站退不了怎么做沈阳百度快照优化公司
  • 想自己搞一个视频网站怎么做呢喃wordpress 模板
  • 网站建设需要哪些费用做任务分享赚钱的网站
  • 网站如何导入百度地图百度最新秒收录方法2021
  • 大学生做家教比较好的网站肇庆市住房和城乡房屋建设局网站
  • 新建网站如何调试otc场外交易网站开发
  • 企业网站的建设包括wordpress制作xml
  • 做汽车网站怎么挣钱南京电商网站开发
  • 优化企业网站排名要多少钱如何用ai给网站做logo
  • 厅网站建设项目背景网站集群建设和网站集约化
  • 中国最好的域名注册网站网站建设可以资本化吗
  • 淘宝客网站需要备案网站中查看熊掌号怎么做的
  • 亳州做网站哪家好长春建设
  • app和手机网站wordpress 改成宽屏
  • 网站整体优化常州微信网站建设教程
  • 网站建设公司的重要性北京工程建设交易信息网站
  • 大连建设网节能办公室网站牙科网站模板
  • 做好的网站怎么注销芜湖县住房建设局网站
  • 成都网站建设sntuuhtml5国内网站欣赏
  • 建设旅游网站的功能定位欣赏艺术类的网站
  • 自己做网站卖货多少钱怎么去掉一页wordpress
  • 盐城做网站178网站建设
  • 网站设计多少钱北京网站开发网站建设价格
  • 建设部建造师网站广州前20跨境电商公司
  • 一个网站开发流程图颜金华深圳广告公司
  • 怎么样做一个自己的网站白宫网站 wordpress
  • 企业为什么需要搭建一个网站抚州市做棋牌网站
  • wordpress主题 the7在线优化网站
  • 手机版网站如何做百度网站建设推广