cari
微信小程序Flex布局Apr 04, 2017 am 11:54 AM
susun atur fleksibel

微信小程序页面布局方式采用的是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

对齐方式

子元素有两种对齐方式:

just<a href="http://www.php.cn/wiki/109.html" target="_blank">if</a>y-conent 定义子元素在主轴上面的对齐方式
align-items 定义子元素在侧轴上对齐的方式

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

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

  • flex-end  主轴结束点对齐

  • center 在主轴中居中对齐

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

  • space-around 每个子元素之间的距离相等,两端的子元素距离容器的距离也和其它子元素之间的距离相同。
    justify-content的对齐方式和主轴的方向有关,下图以flex-directionrow,主轴方式是从左到右,描述<a href="http://www.php.cn/wiki/48.html" target="_blank">js</a>tify-content5个值的显示效果:

    微信小程序Flex布局

    justify-content

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

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

  • flex-start 侧轴的起点对齐

  • flex-end 侧轴的终点对齐

  • center  在侧轴中居中对齐

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

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

微信小程序Flex布局

aign-items

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


Atas ialah kandungan terperinci 微信小程序Flex布局. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
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是一

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

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

解决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 28, 2023 pm 09:49 PM

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

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

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

优化WordPress布局,消除错位困扰优化WordPress布局,消除错位困扰Mar 05, 2024 pm 05:36 PM

优化WordPress布局,消除错位困扰在使用WordPress搭建网站的过程中,布局错位是一个常见的问题,给用户浏览网站带来了困扰。正确的布局是网站设计中至关重要的一环,它直接影响到用户体验和页面展示效果。因此,为了消除错位困扰,我们需要对WordPress布局进行优化,并通过具体的代码示例来实现。以下是一些常见的布局问题和对应的解决方案:响应式布局问题:

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),