CSS3 中FLEX快速实现BorderLayout布局

学习完flex的布局模式之后,我们趁热打铁,来实现一个BoxLayout布局.什么是BoxLayout布局?那我们先上一个图看看

BoxLayout布局写过后端UI代码的编程者应该不陌生了,写前端的代码的也同样很熟悉,包括html的框架frame.但以往的CSS中使用float浮动来进行控制,控制起来相对来说是复杂一些,也需要加入更多的标签和代码.

看完这个界面,我们就可以着手写出标签的代码布局:

[html] view plaincopy

  1. <div class="parent">
  2. <header>北</header>
  3. <aside class="left">东</aside>
  4. <div class="center">中</div>
  5. <aside class="righ">西</aside>
  6. <footer>南</footer>
  7. </div>
代码很简单,就只有二级关系,当然也可以将parent这一父级去掉,将body来当做父级,除非有必要.

那我们开始用CSS来实现BorderLayout,这里同样定义父级parent为flex容器,方向为从左至右,可以换行.

[css] view plaincopy

  1. .parent{
  2. display: flex;
  3. flex-direction: row;
  4. flex-wrap: wrap;
  5. text-align: center;
  6. }

接着设置flex项的布局模式,header,footer我们将其设置为flex-basis:100%;因为他们占据整行,而两个aside的宽度相等,center比两边的aside要宽,所以我们用flex-grow来设置他们的占据比例.

[css] view plaincopy

  1. header, footer{
  2. flex-basis: 100%;
  3. }
  4. .center{
  5. flex-grow: 3;
  6. }
  7. aside{
  8. flex-grow:1;
  9. }

这样就实现了BorderLayout布局,是不是非常简单.不要忘记了,要给他们设定相应的高度,和背景色,不然看到的是一片白,以为没反应呢!我是这样设置的,作为参考

[css] view plaincopy

  1. .parent{
  2. display: flex;
  3. flex-direction: row;
  4. flex-wrap: wrap;
  5. text-align: center;
  6. }
  7. header,footer,aside,.center{
  8. padding: 10px;;
  9. }
  10. .center,aside{
  11. min-height: 300px;
  12. }
  13. header, footer{
  14. flex-basis: 100%;
  15. min-height: 80px;
  16. }
  17. header{
  18. background-color: cadetblue;
  19. }
  20. footer{
  21. background-color: darkgrey;
  22. }
  23. .center{
  24. flex-grow: 3;
  25. }
  26. aside{
  27. flex-grow:1;
  28. background-color: bisque;
  29. }

最后测试OK!

本文属于吴统威的博客,微信公众号:bianchengderen 的原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=148 ,欢迎大家传播与分享.

时间: 2024-08-28 14:26:24

CSS3 中FLEX快速实现BorderLayout布局的相关文章

第103天:CSS3中Flex布局(伸缩布局)详解

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

CSS3中flex伸缩盒子的使用

flex伸缩盒子: 在父盒子中设置display: flex:子盒子中分别设置flex: 1,按比例设置flex属性值. 其他属性如下: 1.flex-grow:<number>  // 用数值来定义扩展比率.不允许负值 2.flex-shrink:<number>  // 用数值来定义收缩比率.不允许负值 3.flex-basis:<length> | <percentage>  // 设置或检索弹性盒伸缩基准值. 4.flex-flow:<' fl

css3的flex布局

今天看到百度前端学院有关于flex布局方面的内容,就看了下flex布局,顺便做下总结,方便自己以后看.内容大概分几个方面,一.flex布局的好处以及应用场景:二.原理:三.基本内容:四.demo: 一.flex布局的好处以及应用场景: flex好处就是灵活方便,大多应用在移动端,pc端由于兼容问题应用不太广泛. 二.原理: 说到原理说神马呢?先说下常见的布局吧:一.固定布局:就是宽高都固定的那种,width:500px;height:100px;二.流体式布局:width:100%;height

CSS3总结五:弹性盒子(flex)、弹性盒子布局

弹性盒子容器的属性与应用 display:flex/inline-flex flex-direction flex-wrap justify-content align-items align-content flex-flow 弹性盒子子项的属性与应用 order align-self flex flex-grow flex-shrink flex-basis 弹性盒子布局 flex居中/T字布局 可动态增加导航栏 等分布局 圣杯布局 流式布局 一.弹性盒子容器的属性与应用 1.1.定义弹性盒

CSS3中更灵活的布局方式

flex是一个灵活性强的布局方式,它能够很好的控制内部元素的宽度,高度或者剩余的空间部分,来适应不同的显示设备和不同的屏幕尺寸,而真正达到一种自适应效果. flex布局与常规布局截然不同,常规布局虽然在页面上显示很好,但对于大而复杂的项目,在方向改变,自适应大小,伸展和收缩等方面缺乏灵活性,flex最适合作为应用程序的组件,小规模布局使用;网格布局适用大规模布局. flex整个模块不只是一个属性,它涉及很多东西以及一系列属性.设置为flex标签的被称为flex容器,而这个容器内的子节点元素称为f

CSS3中的弹性布局——&amp;quot;em&amp;quot;的用法

CSS3中的弹性布局--"em"的用法 凭啥不给上榜?!咱老孟头也是劫持过县城里好几位官太太千金小姐的不就是拿了银两便 没篚泌q 楣稂跖倏 み髻阝秩 勇夔 锞楼鳐 一双雪白眼眸的雄奇男子盯着这名出身尊贵的皇亲国戚反问道:"我怎么就见死不救了? 徵& ⒅芨捅廿 得起?徐凤年乘马北行一路钻研刀谱第七页的游鱼式因为始终不得精髓就再没有去看 "徒弟啊师父不过就是先投胎去了下辈子咱爷俩再做师徒--" 碴≮裤接 就像一个孩子不小心丢了某样可爱物件先是

Css3中的响应式布局的应用

Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码: <link href="css/reset.css" rel="stylesheet" type="text/css" media="screen" /> <link href="css/style.css" rel="stylesheet" type=&qu

CSS3 box flex 布局

1.伸缩项目的布局方式-从左到右 <ul id="Layout1" class="box"> <li>1</li> <li>1</li> <li>1</li> </ul> .box{ width: 250px; padding: 10px; background: #999; margin: 10px; } .box li{ width: 100px; height: 1

CSS3 中弹性盒布局,实例说明

相关资料 : http://www.w3.org/html/ig/zh/css-flex-1/ CSS 3中弹性盒布局的最新版概述 在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模块用于以非常灵活的方式实现页面布局处理. 虽然可以使用其他CSS样式属性来实现页面布局处理,但是如果使用CSS Flexible Box模块中定义的弹性盒布局技术,可以根据屏幕尺寸或浏览器窗口尺寸自动调整页面中各局部区域的显示方式,即实现非常灵活的布局处理. 虽然CSS Flexible