CSS3 flex布局之快速实现BorderLayout布局


Posted in HTML / CSS onDecember 03, 2015

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

CSS3 flex布局之快速实现BorderLayout布局

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

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

复制代码
代码如下:

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

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

复制代码
代码如下:

..parent{
. display: flex;
. flex-direction: row;
. flex-wrap: wrap;
. text-align: center;
.}

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

复制代码
代码如下:

.header, footer{
. flex-basis: %;
.}
..center{
. flex-grow: ;
.}
.aside{
. flex-grow:;
.}
<code class="cls hljs cs">
这样就实现了BorderLayout布局,是不是非常简单.不要忘记了,要给他们设定相应的高度,和背景色,不然看到的是一片白,以为没反应呢!我是这样设置的,作为参考</code>
..parent{
. display: flex;
. flex-direction: row;
. flex-wrap: wrap;
. text-align: center;
.}
.header,footer,aside,.center{
. padding: px;;
.}
..center,aside{
. min-height: px;
.}
.header, footer{
. flex-basis: %;
. min-height: px;
.}
.header{
. background-color: cadetblue;
.}
.footer{
. background-color: darkgrey;
.}
..center{
. flex-grow: ;
.}
.aside{
. flex-grow:;
. background-color: bisque;
.}
<code class="cls hljs cs">
最后测试OK!
</code>

解析四大Flex4布局方式

本文向大家介绍一下四个Flex4布局类的用法,它们分别是:BasicLayout、HorizontalLayout、TileLayout、VerticalLayout。

在学习Flex4的过程中,你会遇到Flex4布局的概念, 这里和大家分享一下,在FlexSDK4(Gumbo)的spark组件库里面增加了一个page:spark.layouts。其中包括了比较重要的四个Flex4布局类(class),请看下文详细介绍。

四种Flex4布局类概述

在FlexSDK4(Gumbo)的spark组件库里面增加了一个page:spark.layouts。其中包括了比较重要的四个Flex4布局类(class),分别是:BasicLayout、HorizontalLayout、TileLayout、VerticalLayout。

1、BasicLayoutFlex4布局:

(默认属性,当不指定定位后,则是绝对定位布局)

这是spark组件默认FlexSDK3的布局方式,即绝对定位布局。在FlexSDK3里面对应的是:layout="absolute"

2、HorizontalLayoutFlex4布局:

这是spark组件库里面的水平布局方式。在里面对应的是:layout="horizontal"

3、VerticalLayoutFlex4布局:

这是spark组件库里面的竖直布局方式。在FlexSDK3里面对应的是:layout="vertical"

4、TileLayoutFlex4布局:

这是spark组件库新增的布局方式,即格子布局方式。TileLayout布局方式可以说是HorizontalLayout和VerticalLayout结合的方式。

三水点靠木提醒大家还有一点是需要注意的:

paddingLeft、paddingRight、paddingTop、paddingBottom
这四个属性已经转移到了HorizontalLayout、VerticalLayout里面。这点也与FlexSDK3有些区别。也就是说,在spark组件中的容器,已经不具备paddingLeft、paddingRight、paddingTop、paddingBottom属性了。

HTML / CSS 相关文章推荐
CSS3五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
CSS3实现文字波浪线效果示例代码
Nov 20 HTML / CSS
Grid 宫格常用布局的实现
Jan 10 HTML / CSS
html5声频audio和视频video等新特性详细说明
Dec 26 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
Aug 06 HTML / CSS
HTML5计时器小例子
Oct 15 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
Apr 23 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
Mar 22 HTML / CSS
Html5 canvas实现粒子时钟的示例代码
Sep 06 HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
Apr 10 HTML / CSS
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
Nov 11 HTML / CSS
Html5同时支持多端sdk的小技巧
Nov 17 HTML / CSS
深入浅析css3 中display box使用方法
Nov 25 #HTML / CSS
CSS3 display知识详解
Nov 25 #HTML / CSS
详解CSS3选择器的使用方法汇总
Nov 24 #HTML / CSS
深入浅析css3 border-image边框图像详解
Nov 24 #HTML / CSS
基于css3 animate制作绚丽的动画效果
Nov 24 #HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
Nov 19 #HTML / CSS
基于CSS3实现图片模糊过滤效果
Nov 19 #HTML / CSS
You might like
多文件上载系统完整版
2006/10/09 PHP
用缓存实现静态页面的测试
2006/12/06 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
任意位置显示html菜单
2007/02/01 Javascript
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
JS实现星星海特效
2019/12/24 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
python类装饰器用法实例
2015/06/04 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
留学推荐信中文范文三篇
2014/01/25 职场文书
社区服务标语
2014/07/01 职场文书
2015年暑假生活总结
2015/07/13 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
创业计划书之面包店
2019/09/12 职场文书