html5学习内容-6(flex)
弹性布局–flex
(一)视口单位主要包括以下4个:
- vw:1vw等于视口宽度的1%
- vh:1vh等于视口高度的1%
- vmin:选取vm和vh中最小的那个
- vmax:选取vm和vh中最大的那个
常用于手机端
(二)概述
设为flex布局以后,子元素的float、clear和vertical-align属性将失效;所有脱离文档流的元素,flex也失效
(三)声明
使用display属性声明flex
display:flex;
display:inline-flex;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>flex</title>
<style type="text/css">
footer{
display: flex;
height: 80px;
background-color:#8a8c8e;
}
footer div{
color: #FFF;
}
</style>
</head>
<body>
<footer>
<div>最新日期</div>
<div>联系我们</div>
<div>往期文章</div>
<div>更新日期</div>
</footer>
</body>
</html>
(四)flex容器属性
1.flex-direction属性决定主轴方向
row:默认主轴为水平方向,起点在左端
row-reverse:主轴为水平方向,起点在右端
column:主轴为垂直方向,起点在上端
column-reserve:主轴为垂直方向,起点在下端
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>flex</title>
<style type="text/css">
footer{
display: flex;
/*flex-direction: row-reverse;*/
/*flex-direction: column;*/
flex-direction: column-reverse;
width: 600px;
border: solid 1px red;
}
footer div{
width: 100px;
height: 100px;
margin: 10px;
text-align: center;
line-height: 100px;
background-color: green;
color: #FFF;
}
</style>
</head>
<body>
<footer>
<div>最新日期</div>
<div>联系我们</div>
<div>往期文章</div>
<div>更新日期</div>
</footer>
</body>
</html>
2.flex-wrap
nowrap:默认不换行
wrap:换行,第一行元素在后面元素的上方
wrap-reserve:换行,第一行元素在后面元素的下方
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>flex</title>
<style type="text/css">
footer{
display: flex;
flex-wrap:wrap;
flex-direction: column-reverse;
width: 200px;
height:600;//设置高度会自适应
border: solid 1px red;
}
footer div{
width: 100px;
height: 100px;
margin: 10px;
text-align: center;
line-height: 100px;
background-color: green;
color: #FFF;
}
</style>
</head>
<body>
<footer>
<div>最新日期</div>
<div>联系我们</div>
<div>往期文章</div>
<div>更新日期</div>
</footer>
</body>
</html>
3.flex-flow(组合)
flex-flow是flex-direction和flex-wrap组合,默认值:row nowrap;
4.justify-content(主轴方向)
flex-start:默认值,主轴起点对齐
flex-end:主轴终点对齐
center:居中
space-between:两端对齐的间隔相等
space-around:每个元素的间隔相等,最前、最后元素跟边框的距离是中间元素之间距离的一半
space-evenly:每个元素之间、元素与边界之间的距离全部平均分配,但兼容性较低
5.align-items(交叉轴)
flex-start:交叉轴起点对齐
flex-end:交叉轴终点对齐
center:交叉的中点居中
baseline:元素第一第一行文字的基线对齐
strech:轴线占满整个交叉轴
6.align-content(多个主轴的对齐方式)
如果元素只有一根轴,该属性不起作用
flex-start:交叉轴起点对齐
flex-end:交叉轴终点对齐
center:交叉的中点居中
space-between:交叉轴两端对齐的间隔相等
space-around:每根轴线两侧间隔相等
space-evenly:元素平均分配
strech:默认值,轴线占满整个交叉轴
(五)flex元素属性
- 不能使用float与clear规则
- 弹性元素均为块级元素//可以设置宽高
- 绝对定位的弹性元素不参与弹性布局
1.align-self:设置单个元素的对齐方式,可覆盖align-items属性
默认值auto
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>flex</title>
<style type="text/css">
footer{
display: flex;
align-content: center;
width: 600px;
height: 300px;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
border: solid 1px red;
}
footer div{
width: 100px;
height: 100px;
margin: 10px;
text-align: center;
line-height: 100px;
background-color: green;
color: #FFF;
}
footer div:first-child{
align-self: flex-start;
}
footer div:last-child{
align-self: flex-end;
}
</style>
</head>
<body>
<footer>
<div>最新日期</div>
<div>联系我们</div>
<div>往期文章</div>
<div>更新日期</div>
</footer>
</body>
</html>
2.flex-grow
元素放大的比例,默认0,即存在剩余空间,也不放大
1.如果所以元素为1,则将剩余空间等分(权重大于宽高)
2.如果所以元素为1,则将剩余空间等分,有一个为0,则0那个保持原样
3.flex-shrink缩小,默认值为1
4.flex-basis
属性定义在分配多余空间之前,元素占据的主轴空间,浏览器根据这个属性,计算轴是否有多余空间,默认值为auto,权重大于宽高
5.flex(组合)
是flex-grow,flex-shrink,flex-basis组合,默认值 0 1 auto,后两个可选
6.order:排列顺序,值越大越靠后
html5学习内容-6(flex)的更多相关文章
- HTML5 学习总结(一)——HTML5概要与新增标签
一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电.触摸 ...
- web前端开发学习内容
应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准 代码能 兼容主流浏览器.ie6.7.8.9 ff 等. ...
- HTML5 学习笔记(一)——HTML5概要与新增标签
目录 一.HTML5概要 1.1.为什么需要HTML5 1.2.什么是HTML5 1.3.HTML5现状及浏览器支持 1.4.HTML5特性 1.5.HTML5优点与缺点 1.5.1.优点 1.5.2 ...
- HTML5 学习笔记--------》HTML5概要与新增标签!
一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电. ...
- HTML5学习笔记(一):HTML简介
Web前端涵盖的内容较多且杂,主要由3个部分组成:HTML标记语言.CSS样式语言和JavaScript脚本语言组成,而下面我们将先学习最新的标记语言HTML5. <!DOCTYPE>标记 ...
- HTML5学习总结——HTML5入门与新增标签
一.HTML5概要 1.1.为什么需要HTML5 概念: HTML5 是继 HTML4.01, XHTML 1.0 和 DOM 2 HTML 后的又一个重要版本, 旨在消除富 Internet 程序( ...
- [html5] 学习笔记-表单新增的元素与属性(续)
本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...
- HTML5学习之语义化标签(一)
一.为什么HTML5要引入新语义标签 在HTML5出现之前,我们一般采用DIV+CSS布局我们的页面.但是这样的布局方式不仅使我们的文档结构不够清晰,而且不利于搜索引擎爬虫对我们页面的爬取.为了解决上 ...
- HTML5学习指导路线
HTML5是现在热门的技术,经过8年的艰苦努力,该标准规范终于制定完成,在这里为想要学习HTML5初级程序员详细划分一下学习内容和步骤,让大家清楚的知道HTML5需要学什么?能够快速掌握HTML5开发 ...
- HTML5学习笔记(四):H5中表单新增元素及改良
方便布局 表单内容可以放在表单标签之外,这样做的好处是方便设计时不用考虑一定要将表单元素放在指定的form标签之下,只要指定元素适用于哪个表单即可,如下: <form id="test ...
随机推荐
- [NOIP2011 提高组] 聪明的质监员【题解】
题目 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 \(n\) 个矿石,从 \(1\) 到 \(n\) 逐一编号,每个矿石都有自己的重量 \(w_i\) 以及价值 \(v_i\) ...
- 2023-7-27WPF的ContextMenu的传参绑定方式
WPF的ContextMenu的绑定方式 [作者]长生 ContextMenu为何不能正常绑定 在wpf中ContextMenu和ToolTip一样都是弹出层,与VisualTree已经分离了,只不过 ...
- js 文字像打字一样缓缓出现
点击查看代码 <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UT ...
- 【教程】AWD中如何通过Python批量快速管理服务器?
前言 很多同学都知道,我们常见的CTF赛事除了解题赛之外,还有一种赛制叫AWD赛制.在这种赛制下,我们战队会拿到一个或多个服务器.服务器的连接方式通常是SSH链接,并且可能一个战队可能会同时有多个服务 ...
- 从零玩转系列之微信支付实战PC端项目构建+页面基础搭建 | 技术创作特训营第一期
一.前言 欢迎来到本期的博客!在这篇文章中,我们将带您深入了解前端开发领域中的一个热门话题: 如何使用 Vue 3 和 Vite 构建前端项目.随着现代 Web 应用程序的需求不断演进, 选择适当的工 ...
- 从零开始实现放置游戏(十七)——完结篇(附DEMO地址)
大家好,时隔2年多,我来填坑啦! 之前用的技术.设计思路都不成熟,所以直接干掉重做了. 由于从头教学实在太啰嗦,精力也有限,咱们还是直接上源码吧. DEMO地址: http://212.129.154 ...
- 可实现自动驾驶的飞机大战(C++)
PS:觉得可以的uu帮忙点个star啦,最近在找工作,希望star多一点能写到简历上 B站演示视频: 基于C++实现的可自动驾驶的飞机大战_单机游戏热门视频 (bilibili.com) Github ...
- Hybrid App 技术路径带动性能的提升
说到 Hybrid App(混合应用)大家都不陌生,因为这种开发模式大行其道发展的这些年取代了很多原生和 Web 应用,为什么大家对这种「Native + HTML5」的开发模式额外偏爱呢? 因为一方 ...
- ABP Framework 7.4 RC 新增功能简介:增强微服务架构支持
ABP Framework 版本号:7.4.0-rc.1 发布时间:2023.8.16 阅读原文:ABP.IO Platform 7.4 RC Has Been Published 翻译:iEricL ...
- 深入探究API接口
作为程序员,我们经常会遇到需要获取外部数据或调用外部服务的情况.而API(Application Programming Interface,应用程序编程接口)接口就是这样的一种机制,它允许我们的应用 ...