前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >H5C3第四节

H5C3第四节

作者头像
用户3461357
发布于 2019-08-02 07:13:49
发布于 2019-08-02 07:13:49
5.4K00
代码可运行
举报
文章被收录于专栏:web前端基地web前端基地
运行总次数:0
代码可运行

弹性布局(伸缩布局)

Flex是Flexible Box的缩写,翻译成中文就是“弹性盒子”,用来为盒装模型提供最大的灵活性。任何一个容器都可以指定为Flex布局

CSS3在布局方面做了非常大的改进,使得我们对块级元素的布局排列变得十分灵活,适应性非常强,其强大的伸缩性,在响应式开中可以发挥极大的作用。

【演示:01-伸缩布局初体验.html】

当给一个盒子设置了display:flex之后,这个盒子就有了主轴侧轴 的概念。主轴:Flex容器的主轴主要用来配置Flex项目,默认是水平方向侧轴:与主轴垂直的轴称作侧轴,默认是垂直方向的方向:默认主轴从左向右 ,默认侧轴从上到下

给容器设置的样式

flex-direction

flex-diretion主要是用来调整主轴的方向的,默认是水平方向 了解即可,一般来说,很少调整主轴的方向。

可选值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
row:主轴方向为水平向右
column:主轴方向为竖直向下
row-reverse:主轴方向为水平向左
column-reverse:主轴方向是竖直向上。

justify-content(重点)

justify-content主要用来设置主轴方向的对齐方式 ,可选的值有:

可选值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flex-start: 弹性盒子元素将向起始位置对齐
flex-end: 弹性盒子元素将向结束位置对齐。
center: 弹性盒子元素将向行中间位置对齐
space-around: 弹性盒子元素会平均地分布在行里
space-between:第一个贴左边,最后一个贴右边,其他盒子均分,保证每个盒子之间的空隙是相等的。

align-items(重点)

align-items用于调整侧轴的对其方式 ,可选的值有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flex-start:元素在侧轴的起始位置对其。
flex-end:元素在侧轴的结束位置对其。
center:元素在侧轴上居中对其。
stretch:元素的高度会被拉伸到最大(不能给死高度)。

flex-wrap

flex-wrap属性控制flex容器是单行或者多行,默认不换行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nowrap:不换行(默认),会压缩子盒子的宽度。
wrap:当宽度不够的时候,会换行。

align-content

align-content用来设置多行的flex容器的排列方式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flex-start:各行向侧轴的起始位置堆叠。
flex-end:各行向弹性盒容器的结束位置堆叠。
center:各行向弹性盒容器的中间位置堆叠。
space-between:各行在侧轴中平均分布。
space-around:第一行贴上边,最后一个行贴下边,其他行在弹性盒容器中平均分布。
stretch:拉伸,不设置高度的情况下。

align-items与align-content的区别

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
align-items调整的是侧轴的对其方式,不换行一般用align-items
align-content:必须是多行才生效,如果单行,没有效果。换行了就用align-content。

给子元素设置的样式

上述给容器设置的样式,都是用于对子元素进行排列的 下列的属性更多的是用于设置子元素自身的样式。

flex属性

flex属性与用于子元素分配主轴的空间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flex:1;

order属性

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
order:1;

align-self

align-self也是用于设置在侧轴的位置,但是align-self给子元素设置,优先级比align-items的优先级高。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
取值与align-items的取值一样。

【案例:骰子】

携程旅行网

flex布局的应用。

360浏览器

fullpage的使用

fullPage.js 是一个基于 jQuery 的插件,它能够很方便、很轻松的制作出全屏网站。

参考文档 http://www.dowebok.com/77.html

下载地址 https://github.com/alvarotrigo/fullPage.js

基本使用

  1. 引入jQuery文件,因为fullpage是jquery插件
  2. 引入fullpage的js文件
  3. 页面结构
  4. 编写js代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 页面结构 -->
<div id="box">
    <!--每一个class为section的div都是一屏,section这个类是固定的-->
    <div class="section">我是内容1</div>
    <div class="section">我是内容2</div>
    <div class="section">我是内容3</div>
    <div class="section">我是内容4</div>
</div>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//编写js代码
$(function () {
    $("#box").fullpage();
});

鼠标滚动事件(了解)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  /* 监听鼠标滚轮事件 */
  window.addEventListener("mousewheel", function( e ) {
    // e.wheelDelta 鼠标滚动的量, 大于0向上滚, 小于0向下滚
    if (e.wheelDelta > 0) {
      console.log("往上滚动");
    }
    else {
      console.log("往下滚动");
    }
  });

常用参数

属性名称

描述

sectionsColor

设置每一个section的背景颜色

verticalCentered

设定每一个section的内容是否垂直居中,默认true,

scrollingSpeed

设置滚动的速度,默认700毫秒

easing

设置动画的方式,一般不修改, 默认是easeInOutCubic, 如果想要修改此参数,需要引入jquery.easing.js

css3

是否使用css3 transform来实现滚动效果,默认true,不用修改,CSS3的动画效率比较js高。

loopTop

滚动到顶部后是否连续滚动到底部,默认false

loopBottom

滚动到底部后是否连续滚动到顶部,默认false

continuousVertical

是否循环滚动,默认为false,如果设置为true,则页面会循环滚动,不会出现loopTop与loopBottom那样的跳动。

autoScrolling

是否使用插件的滚动方式,默认true,如果选择false,会出现浏览器子代的滚动条,将不会按页滚动,按照滚动进行滚动。

scrollBar

是否包含滚动条,默认false,如果设置为true,那么浏览器自定的滚动条会出现,这个时候,页面滚动还是按页滚动,但是浏览器也能滚动。不建议开启,不然会不同步。

paddingTop/paddingBottom

给每一个section设置一个paddingTop或者paddingBottom,默认值为0,如果需要给页面设置一个固定定位的头部菜单或者底部菜单的时候,可以使用这两个选项。

keyboardScrolling

是否可以使用键盘方向键导航,默认true

navigation

是否显示导航,默认为false,设置为true,会显示小圆点,作为导航

navigationPositon

导航小圆点的位置,设置left或者right,默认是right

navigationTooltips

小圆点的提示信息,鼠标一上去能看到提示信息

showActiveTooltip

是否显示当前页面的导航的tooltip信息,默认是false

slidesNavigation

是否显示横向幻灯片的导航,默认为false

slidesNavPosition

设置横向幻灯片的位置,top或者bottom,默认bottom

sectionSelector

section的选择器,默认是.section

slideSelector

slide的选择器,默认是.slide

常用回调函数

方法名

描述

afterLoad(anchorLink, index)

滚动到某一个section,当滚动结束后,会触发一次这个回调函数,anchorLink是锚链接的名称,index从1开始计算

onLeave(index,nextIndex,diretion)

当我们离开一个section时,会触发这个函数,index是离开的页面的序号,从1开始计算。nextIndex是滚动到的页面的序号,direction是往上还是往下滚动,值是up或者down. return false可以取消滚动

afterResize()

窗口大小发生改变后会触发的回调函数

afterSlideLoad(anchor,index, slideAnchor,slideIndex)

页面滚动到某一个幻灯片的时候会触发这个回调函数

afterSlideLeave(anchor,index,slideIndex, diretion,nextSlideIndex)

当离开某一个幻灯片的时候会触发一次这个回调函数。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端基地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
H5C3第三节
我们经常把网页常用的一些小的图标,做成精灵图,然后通过background-position去调整位置,但是这个需要引入图片,并且图片大小改变之后如果失真。在CSS3中可以使用字体图片,即使用图标跟使用文字一样。
用户3461357
2019/08/02
7090
H5C3第三节
前端样式布局flex
flex是flexible Box的缩写,意为“弹性布局”,用来为盒装模型提供的最大的灵活性,任何一个容器都可以指定为flex布局。
有勇气的牛排
2023/06/25
2580
前端课程——弹性盒子模型
CSS3 新增了弹性盒子模型(Flexible Box 或 FlexBox),是一种新的用于在 HTML 页面实现布局的方式。使得当 HTML 页面适应不同尺寸的屏幕和不同的设备时,元素是可预测地运行。
Dreamy.TZK
2020/04/09
7010
css3 flex弹性布局详解
2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
忆愿
2024/07/30
1940
css3 flex弹性布局详解
移动web开发(3)之flex弹性布局
过去我们要在一个大盒子里面放三个这样的盒子,都是用的浮动,但是学习了弹性flex布局,我们可以更简单的做出来,为了凸显它的优势,用的还是行内元素span,只要用了flex,行内元素也可以直接设置大小.
y191024
2022/09/20
9430
移动web开发(3)之flex弹性布局
Day13:H5+JS+C3
BFC是Block formatting context的缩写,表示“块级格式化上下文”。 设置BFC的元素,是一个独立的渲染区域,只有Block-level box参与,它规定了内部的 Block-level Box如何布局(与该区域外部无关)。
达达前端
2019/07/15
7650
Day13:H5+JS+C3
css面试点四:css3弹性盒子模型-flex布局详解
flex-flow属性:flex-direction和flex-wrap的简写,默认row nowrap
用户10106350
2022/10/28
1.5K0
css面试点四:css3弹性盒子模型-flex布局详解
前端成神之路-移动web开发_flex布局
container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。
海仔
2020/12/01
6990
前端成神之路-移动web开发_flex布局
【前端攻略--HTML/CSS】弹性布局
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
野原测试开发
2019/07/10
4.9K0
【前端攻略--HTML/CSS】弹性布局
CSS3弹性盒子
弹性盒模型( Flexible Box或FlexBox)是一个CSS3新增布局模块,官方称为CSS Flexible Box Layout Module,用于实现容器里项目的对齐、方向、排序(即使在项目大小位置、动态生成的情况), 分配空白空间 。弹性盒模型最大的特性在于,能够动态修改子元素的宽度和高度,以满足在不同尺寸屏幕下的恰当布局。
YangAir
2020/02/12
1.4K0
flex布局详细
Flex 是 Flexible Box 的缩写,意为“弹性布局”或者“弹性盒子”,是 CSS3 中的一种新的布局模式,可以简便、完整、响应式地实现各种页面布局,当页面需要适应不同的屏幕大小以及设备类型时非常适用。目前,几乎所有的浏览器都支持 Flex 布局。
FGGIT
2024/10/15
1530
flex布局详细
移动开发-Flex布局
默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,flex布局中默认是不换行的
小城故事
2022/11/12
1.3K0
【小程序_02】布局方式
​ ① 安装nodejs,可选择版本(8.0),网址:http://nodejs.cn/download/
用户8250147
2021/02/04
1.4K0
【小程序_02】布局方式
48张小图带你领略Flex 布局之美
前言 最近在项目中,遇到布局问题,有时候,需要堆叠很多的样式,去排版,一定程度上增加了代码量,那么有没有更加方便的布局方式呢?? 48张图带你从0到1掌握flex布局方式。 flex布局在某种程度上,
前端劝退师
2020/09/21
1.5K0
48张小图带你领略Flex 布局之美
详解 CSS3中最好用的布局方式——flex弹性布局(看完就会)
当设置flex布局之后,子元素的float,clear,vertical-align属性将失效
坚毅的小解同志的前端社区
2022/11/28
1.6K0
详解 CSS3中最好用的布局方式——flex弹性布局(看完就会)
Flex布局教程
网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
訾博ZiBo
2025/01/06
660
Flex布局教程
CSS弹性布局(Flex) 详解
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
田小檬
2023/08/24
1.3K0
Flex入坑指南
弹性布局flex是一个几年前的CSS属性了,说它解放了一部分生产力不为过。至少解放了不少CSS布局相关的面试题 :) 之前网上流行的各种XX布局,什么postion: absolute+margin,float+padding,各种都可以使用flex来取代之。 早两年在使用的时候,还是会担心有兼容性问题的,某些手机在使用了auto-prefixer以后依然会出现不兼容的问题。 好在现在已经是2018年了,不必再担心那些老旧的设备,希望这篇文章能帮你加深对flex的认识。
贾顺名
2019/12/05
6440
CSS 入门指南(二):盒模型 & 浮动弹性布局 & CSS 特性
这个盒子由这几个部分构成 : 边框 border、 内容 content、 内边距 padding、 外边距 margin
IsLand1314
2025/03/30
990
CSS 入门指南(二):盒模型 & 浮动弹性布局 & CSS 特性
Flex Box布局学习- 语法
上一篇,我学习并整理了使用flex时,需要注意的兼容性问题。那么今天就来学习一下有关flex语法的东西。
贺贺V5
2018/08/21
8070
Flex Box布局学习- 语法
相关推荐
H5C3第三节
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文