目录
伸缩容器
主轴和侧轴
对齐方式
首页 微信小程序 微信开发 详解微信开发之Flex布局

详解微信开发之Flex布局

May 20, 2017 pm 04:40 PM

微信小程序页面布局方式采用的是Flex布局。
Flex布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局。
Flex布局提供了元素在容器中的对齐,方向以及顺序,甚至他们可以是动态的或者不确定的大小的。
Flex布局的主要特征是能够调整其子元素在不同的屏幕大小中能够用最适合的方法填充合适的空间。

详解微信开发之Flex布局

flex布局

Flex布局的特点:

  • 任意方向的伸缩,向左,向右,向下,向上

  • 在样式层可以调换和重排顺序

  • 主轴和侧轴方便配置

  • 子元素的空间拉伸和填充

  • 沿着容器对齐

微信小程序实现了Flex布局,简单介绍下Flex布局在微信小程序中的使用。

伸缩容器

设有<a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>:flex或者display:block的元素就是一个flex container(伸缩容器),里面的子元素称为flex item(伸缩项目),flex container中子元素都是使用Flex布局排版。

  • display:block 指定为块内容器模式,总是使用新行开始显示,微信小程序的视图容器(view,scroll-view和swiper)默认都是dispaly:block

  • display:flex:指定为行内容器模式,在一行内显示子元素,可以使用flex-wrap属性指定其是否换行,flex-wrap有三个值:nowrap(不换行),wrap(换行),wrap-reverse(换行第一行在下面)
    使用display:block(默认值)的代码:

    <view class="flex-row" style="display: block;">
          <view class="flex-view-item">1</view>
          <view class="flex-view-item">2</view>
          <view class="flex-view-item">3</view>
      </view>
    登录后复制

    显示效果:

详解微信开发之Flex布局

block

改换成display:flex的显示效果:

详解微信开发之Flex布局

flex

可以从效果图看到blockflex的区别,子元素view是在换行显示(block)还是行内显示(flex)。

主轴和侧轴

Flex布局的伸缩容器可以使用任何方向进行布局。
容器默认有两个轴:主轴(main axis)侧轴(cross axis)
主轴的开始位置为主轴起点(main start),主轴的结束位置为主轴终点(main end),而主轴的长度为主轴长度(main size)。
同理侧轴的起点为侧轴起点(cross start),结束位置为侧轴终点(cross end),长度为侧轴长度(cross size)。详情见下图:

详解微信开发之Flex布局

Flex-direction

注意,主轴并不是一定是从左到右的,同理侧轴也不一定是从上到下,主轴的方向使用flex-direction属性控制,它有4个可选值:

  • row :从左到右的水平方向为主轴

  • row-reverse:从右到左的水平方向为主轴

  • column:从上到下的垂直方向为主轴

  • column-reverse从下到上的垂直方向为主轴

如果水平方向为主轴,那个垂直方向就是侧轴,反之亦然。
四种主轴方向设置的效果图:

详解微信开发之Flex布局

示例图

图中的实例展示了使用了不同的flex-direction值排列方向的区别。
实例代码:

<view >
    <view class="flex-row" style="display: flex;flex-direction: row;">
        <view class="flex-view-item">1</view>
        <view class="flex-view-item">2</view>
        <view class="flex-view-item">3</view>
    </view>
    <view class="flex-column" style="display:flex;flex-direction: column;" >
        <view class="flex-view-item">c1</view>
        <view class="flex-view-item">c2</view>
        <view class="flex-view-item">c3</view>
    </view>
</view>
登录后复制

运行效果:

详解微信开发之Flex布局

flex-direction

对齐方式

子元素有两种对齐方式:

justify-conent 定义子元素在主轴上面的对齐方式
align-items 定义子元素在侧轴上对齐的方式

justify-content有5个可选的对齐方式:

  • flex-start 主轴起点对齐(默认值)

  • flex-end  主轴结束点对齐

  • center 在主轴中居中对齐

  • space-between 两端对齐,除了两端的子元素分别靠向两端的容器之外,其他子元素之间的间隔都相等

  • space-around 每个子元素之间的距离相等,两端的子元素距离容器的距离也和其它子元素之间的距离相同。
    justify-content的对齐方式和主轴的方向有关,下图以flex-directionrow,主轴方式是从左到右,描述jstify-content5个值的显示效果:

    详解微信开发之Flex布局

    justify-content

align-items表示侧轴上的对齐方式:

  • stretch  填充整个容器(默认值)

  • flex-start 侧轴的起点对齐

  • flex-end 侧轴的终点对齐

  • center  在侧轴中居中对齐

  • baseline 以子元素的第一行文字对齐

align-tiems设置的对齐方式,和侧轴的方向有关,下图以flex-directionrow,侧轴方向是从上到下,描述align-items的5个值显示效果:

详解微信开发之Flex布局

aign-items

有了主轴和侧轴的方向再加上设置他们的对齐方式,就可以实现大部分的页面布局了。

【相关推荐】

1. 微信公众号平台源码下载

2. 小猪CMS生活通O2O系统v2.0尊享版下载

3. 小猪cms(pigcms)微信营销系统V8.52拼好货商城二次开发特别版

以上是详解微信开发之Flex布局的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

WordPress网页错位现象解决攻略 WordPress网页错位现象解决攻略 Mar 05, 2024 pm 01:12 PM

WordPress网页错位现象解决攻略在WordPress网站开发中,有时候我们会遇到网页元素错位的情况,这可能是由于不同设备上的屏幕尺寸、浏览器兼容性或者CSS样式设置不当所致。要解决这种错位现象,我们需要仔细分析问题、查找可能的原因,并逐步进行调试和修复。本文将分享一些常见的WordPress网页错位问题以及相应的解决攻略,同时提供具体的代码示例,帮助开

常用的Flex布局属性有哪些 常用的Flex布局属性有哪些 Feb 25, 2024 am 10:42 AM

flex布局的常用属性有哪些,需要具体代码示例Flex布局是一种用于设计响应式网页布局的强大工具。它通过使用一组灵活的属性,可以轻松控制网页中元素的排列方式和尺寸。在本文中,我将介绍Flex布局的常用属性,并提供具体的代码示例。display:设置元素的显示方式为Flex。.container{display:flex;}flex-directi

如何使用Vue实现响应式布局 如何使用Vue实现响应式布局 Nov 07, 2023 am 11:06 AM

Vue是一款非常优秀的前端开发框架,它采用MVVM模式,通过数据的双向绑定实现了非常好的响应式布局。在我们的前端开发中,响应式布局是非常重要的一部分,因为它能够让我们的页面针对不同的设备,显示出最佳的效果,从而提高用户体验。在本文中,我们将会介绍如何使用Vue实现响应式布局,并提供具体的代码实例。一、使用Bootstrap实现响应式布局Bootstrap是一

解决Vue中flex布局样式问题 解决Vue中flex布局样式问题 Jun 30, 2023 pm 08:51 PM

Vue是一种流行的JavaScript框架,广泛应用于前端开发中。它的灵活性和强大的功能使得开发人员可以轻松构建交互丰富的Web应用程序。在Vue开发中,flex布局几乎是无处不在的。然而,使用flex布局时,有时会遇到一些样式问题。本文将介绍一些解决flex布局引起的样式问题的方法。首先,让我们了解一下flex布局的基本概念。Flex布局提供了弹性盒子模型

如何通过Css Flex 弹性布局实现两栏布局 如何通过Css Flex 弹性布局实现两栏布局 Sep 26, 2023 am 10:54 AM

如何通过CSSFlex弹性布局实现两栏布局CSSFlex弹性布局是一种现代的布局技术,它能够简化网页布局的过程,使得设计与开发者们能够轻松创建出灵活且适应各种屏幕尺寸的布局。其中,实现两栏布局是Flex布局中的常见需求之一。在这篇文章中,我们将会介绍如何使用CSSFlex弹性布局来实现一个简单的两栏布局,并提供具体的代码示例。使用Flex容器和项目在使

PHP微信开发:如何实现消息加密解密 PHP微信开发:如何实现消息加密解密 May 13, 2023 am 11:40 AM

PHP是一种开源的脚本语言,广泛应用于Web开发和服务器端编程,尤其在微信开发中得到了广泛的应用。如今,越来越多的企业和开发者开始使用PHP进行微信开发,因为它成为了一款真正的易学易用的开发语言。在微信开发中,消息的加密和解密是一个非常重要的问题,因为它们涉及到数据的安全性。对于没有加密和解密方式的消息,黑客可以轻松获取到其中的数据,对用户造成威胁

如何通过Css Flex 弹性布局实现不规则的网格布局 如何通过Css Flex 弹性布局实现不规则的网格布局 Sep 28, 2023 pm 09:49 PM

如何通过CSSFlex弹性布局实现不规则的网格布局在网页设计中,常常需要使用网格布局来实现页面的分割和排版,通常的网格布局都是规则的,每个网格大小相同,而有时候我们可能需要实现一些不规则的网格布局。CSSFlex弹性布局是一种强大的布局方式,它可以很容易地实现各种网格布局,包括不规则的网格布局。下面我们将介绍如何利用CSSFlex弹性布局来实现不

如何通过Css Flex 弹性布局实现页面元素的垂直居中 如何通过Css Flex 弹性布局实现页面元素的垂直居中 Sep 27, 2023 pm 03:52 PM

如何通过CSSFlex弹性布局实现页面元素的垂直居中在网页设计中,经常会遇到需要将页面元素进行垂直居中的情况。CSSFlex弹性布局是一种优雅简洁且灵活的布局方式,能够轻松实现页面元素的垂直居中。本文将详细介绍如何使用CSSFlex布局实现页面元素的垂直居中,并提供具体的代码示例。一、基本原理使用CSSFlex布局实现页面元素的垂直居中,需要有以下几

See all articles