当前位置: 首页 > Web前端 > HTML5

Flex网页布局2CSS弹性框书写教程

时间:2023-04-05 17:03:31 HTML5

上一篇:Flex布局书写教程-介绍了Flex布局的语法,今天介绍常见布局的Flex书写。你会看到,无论是什么布局,Flex往往几行命令就可以搞定。我只列出代码,详细的语法解释请参考《Flex布局教程:语法篇》。我的主要参考资料是LandonSchropp的文章和SolvedbyFlexbox。1.骰子的布局骰子的一侧最多可以放置9个点。下面我们就来看看Flex是如何实现1点到9点的布局的。可以去codepen看demo。除非另有说明,本节的HTML模板如下。

在上面的代码中,div元素(代表骰子的一个面)是一个弹性容器,而span元素(代表一个点)是一个弹性项目。如果有多个item,则添加多个span元素,依此类推。1.1单项首先,左上角只有一个点。Flex布局默认第一行左对齐,一行代码就够了。.box{display:flex;}设置item的对齐方式,实现居中对齐和右对齐。.box{显示:flex;证明内容:居中;}.box{显示:flex;justify-content:flex-end;}设置横轴的对齐方式,垂直移动主轴。.box{显示:flex;对齐项目:中心;}.box{显示:flex;证明内容:居中;对齐项目:中心;}.box{显示:flex;证明内容:居中;align-items:flex-end;}.box{display:flex;证明内容:flex-end;align-items:flex-end;}1.2双项目.box{display:flex;证明内容:空格;}.box{显示:flex;弹性方向:列;证明内容:空格;}.box{显示:flex;弹性方向:列;证明内容:空格之间;对齐项目:中心;}.box{显示:flex;弹性方向:列;证明内容:空格之间;align-items:flex-end;}.box{display:flex;}.item:nth-child(2){align-self:center;}.box{display:flex;justify-content:space-between;}.item:nth-child(2){align-self:flex-end;}1.3三项目.box{display:flex;}.item:nth-child(2){align-self:center;}.item:nth-child(3){align-self:flex-end;}1.4四项目.box{display:flex;弹性包装:包装;证明内容t:柔性端;align-content:space-between;}HTML代码如下:/span>
CSS代码如下:.box{显示:flex;弹性包装:包装;align-content:space-between;}.column{flex-basis:100%;显示:弹性;justify-content:space-between;}1.5六项目.box{display:flex;弹性包装:包装;align-content:space-between;}.box{display:flex;弹性方向:列;弹性包装:包装;align-content:space-between;}HTML代码如下:/span>CSS代码如下:.box{display:柔性;flex-wrap:wrap;}.row{flex-basis:100%;display:flex;}.row:nth-child(2){justify-content:center;}.row:nth-child(3){justify-content:space-between;}1.6九项.box{display:flex;flex-wrap:wrap;}2.网格布局2.1基本网格布局最简单的网格布局,均匀分布在容器空间中,类似于上面的骰子布局,但是需要设置item的自动缩放。HTML代码如下:.........CSS代码如下:.Grid{display:flex;}.Grid-cell{flex:1;}2.2a的宽度百分比布局中的某些网格是固定百分比,其余网格平均分配剩余空间。HTML代码如下:.........CSS代码如下:.Grid{display:flex;}.Grid-cell{flex:1;}.网格细胞。u-full{flex:00100%;}.Grid-cell.u-1of2{flex:0050%;}.Grid-cell.u-1of3{flex:0033.3333%;}.Grid-cell.u-1of4{flex:0025%;}3.圣杯布局圣杯布局(HolyGrailLayout)是指最常见的网站布局之一。页面从上到下分为三个部分:页眉、正文和页脚。树干横向分为三栏,从左到右分别是导航、主栏、辅栏。HTML代码如下:
...
.........
...
CSS代码如下:.HolyGrail{display:flex;最小高度:100vh;flex-direction:column;}header,footer{flex:1;}.HolyGrail-body{display:flex;flex:1;}.HolyGrail-content{flex:1;}.HolyGrail-nav,.HolyGrail-ads{/*设置两个侧边栏的宽度为12em*/flex:0012em;}.HolyGrail-nav{/*把导航移到最左边*/order:-1;}如果是小屏幕,躯干的三列会自动变成垂直堆叠。@media(max-width:768px){.HolyGrail-body{flex-direction:column;弹性:1;}.HolyGrail-nav,.HolyGrail-ads,.HolyGrail-content{flex:auto;}}4.输入框布局我们经常需要在输入框前面添加提示,在后面添加按钮。HTML代码如下:...。..CSS代码如下:.InputAddOn{display:flex;}.InputAddOn-field{flex:1;}5.悬挂式布局有时,主栏的左侧或右侧需要加一个图片栏。HTML代码如下:...

CSS代码如下:.Media{display:flex;align-items:flex-start;}.Media-figure{margin-right:1em;}.Media-body{flex:1;}6.固定bottombar有时页面内容太小占不了高度一个屏幕的底部栏将被提升到页面的中间。这时候可以使用Flex布局让底栏始终出现在页面底部。HTML代码如下:
...
...
...
CSS代码如下:.Site{display:flex;最小高度:100vh;flex-direction:column;}.Site-content{flex:1;}第七,fluidlayout每行的item个数是固定的,会自动分支。CSS的写法:.parent{width:200px;高度:150px;背景色:黑色;显示:弹性;弹性流:行换行;align-content:flex-start;}.child{box-sizing:border-box;背景色:白色;弹性:0025%;高度:50px;border:1pxsolidred;}(完)小编推荐:程序员导航作为一名码农,随着日常工作的需要,这里汇集了国内外很多优秀的网站,包括在线工具,在线操作,免费接口,在线资源、在线学习、技术论坛、技术博客等,满足一般程序员的日常需求。地址一:nav.imaring.com地址一:www.code-elf.cn作者:阮一峰原文链接