使用flex弹性布局来为微信小程序写自适应页面

这篇具有很好参考价值的文章主要介绍了使用flex弹性布局来为微信小程序写自适应页面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们知道,写习惯了前端的人,一般切图后布局页面的话,上手最习惯的是基于盒子模型的浮动布局,依赖 display 属性 + position属性 + float属性,但是浮动布局有一些致命的小问题,比如垂直居中比较费劲,比如著名的float坍塌问题,另外有些极端情况下,还得使用模型+clear:both来手动清除浮动,比较麻烦。

于是,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能,本人在微信小程序页面中尝试了一下弹性布局,个人感觉是:简直太好用了。

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

任何一个容器都可以指定为 Flex 布局。

.box{
  display: flex;
}

不过需要注意一点,就是设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。也就是说浮动布局和弹性布局不可共存,二者必居其一。

其实flex布局原理很简单,采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。

容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。
项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

使用flex弹性布局来为微信小程序写自适应页面

弹性布局的容器可以设置下面这些属性:

flex-direction
flex-direction属性决定主轴的方向(即项目的排列方向)。
.box {
  flex-direction: row | row-reverse | column | column-reverse;
}

flex-wrap
默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

flex-flow
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}


justify-content
justify-content属性定义了项目在主轴上的对齐方式。
.box {
  justify-content: flex-start | flex-end | center | space-between | space-around;
}


align-items
align-items属性定义项目在交叉轴上如何对齐。
.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}

align-content
align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

说了这么多,都是理论,我们来用弹性布局实战一下,比如我们要模仿瑞辛咖啡小程序中的,首行单列,换行双列,并且自适应整个手机页面的布局

使用flex弹性布局来为微信小程序写自适应页面

页面部分:

<template>
   

        <div class="container1">
 
            <div class="item11">
            1
            </div>
            
           <div class="item12">
            
              <div class="item1">
                  3
                  </div>


                  <div class="item1">
                      3
                      </div>
            
          </div>
            
            <div class="item12">
              
                <div class="item1">
                    3
                    </div>
  
  
                    <div class="item1">
                        3
                        </div>


            </div>
            
         
            
  


      

    </div>
    </template>

css部分:

.container1{
  height: 100%;
  width:100%;
  background-color:beige;
  display:flex;
  flex-flow:column;
}


.item11{
  height:300rpx;
  background-color:cyan;
  border: 1px solid #fff
}

.item12{
  height:300rpx;
  background-color:cyan;
  border: 1px solid #fff;
  display:flex;
}
 
.item1{
  height:300rpx;
  width: 50%;
  background-color:cyan;
  border: 1px solid #fff
}

使用flex弹性布局来为微信小程序写自适应页面

轻松搞定,代码量比浮动布局少了很多,简直完美。文章来源地址https://www.toymoban.com/news/detail-484944.html

到了这里,关于使用flex弹性布局来为微信小程序写自适应页面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flex布局简介及微信小程序视图层View详解

    目录 一、Flex布局简介 什么是flex布局? flex属性 基本语法和常用属性 Flex 布局技巧 二、视图层View  View简介 微信小程序View视图层 WXML 数据绑定 列表渲染 条件渲染 模板 WXSS 样式导入 内联样式 选择器 全局样式与局部样式 WXS 示例 注意事项 页面渲染 数据处理 Flex 布局(又称

    2024年02月20日
    浏览(51)
  • 微信小程序-flex布局:垂直、水平方向-自动填充满剩余空间

    在微信小程序项目中经常需要将水平或垂直方向分成两大部分,一部分内容宽度或高度固定,剩余的一部分需填充满剩余空间。那么,该怎么快速解决这类布局? 效果图如下: 垂直方向 : 水平方向: 我个人比较喜欢使用flex布局,面对此类布局,最先想到的也是flex布局。常

    2024年02月09日
    浏览(52)
  • 微信小程序入门与实战之rpx响应式单位与flex布局

    小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: app.json必须有一个pages数组: 一个小程序页面由四个文件组成,分别是: 注意:为了方便开发者减少配置项,描述页面的四个文件必须具有

    2024年02月03日
    浏览(39)
  • 微信小程序警告设置 enable-flex 属性以使 flexbox 布局生效

    页面使用了scroll-view,对应的wxss使用了flex布局,也就是scroll-view设置了display:flex; 会发现flex不生效,并且这个时候微信小程序会警告[pages/XXX/XXX] 设置 enable-flex 属性以使 flexbox 布局生效。   代码如下: 添加上这个属性之后,就可以了。

    2024年02月12日
    浏览(48)
  • 微信小程序23__flex布局 相关的3种居中: 水平居中_垂直居中_水平垂直居中

    类似这样写法 display:  flex; flex-direction:  column;                //垂直布局 align-items:  center;                    // 水平居中     justify-content:  space-around; //垂直方向分散布局 类似这样写法 display:  flex; flex-direction: row;          //水平布局       align-items: center;    

    2024年02月03日
    浏览(46)
  • 【微信小程序】6天精准入门(第3天:小程序flex布局、轮播图组件及mock运用以及综合案例)附源码

    布局的传统解决方案,基于[盒状模型],依赖display属性 + position属性 + float属性 Flex是 Flexible Box 的缩写,意为” 弹性布局 ”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 display: ‘flex’         容器默认存在两根轴: 水平的主轴(main axi

    2024年02月08日
    浏览(49)
  • uni-app/微信小程序:scroll-view纵向滚动高度自适应flex布局填充剩余高度

    uni-app文档:https://uniapp.dcloud.net.cn/component/scroll-view.html 使用竖向滚动时,需要给 一个固定高度,通过 css 设置 height 微信文档:https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html 使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height 所以,给scroll-view设置

    2024年02月09日
    浏览(66)
  • flex 弹性布局

    任何一个容器都可以指定为 Flex 布局。 行内元素也可以使用 Flex 布局。 注意 :设为 Flex 布局以后,子元素的 float 、 clear 和 vertical-align 属性将失效。 采用 Flex 布局的元素,称为 Flex 容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为 Flex 项目(

    2024年02月14日
    浏览(47)
  • flex弹性布局详细介绍

    这里提供一个可以边学习边玩的flex学习网站:弹性盒青蛙 Flex布局是指弹性布局,其中Flex是Flexible Box的缩写,用来为盒状模型提供最大的灵活性。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力。本文将介绍几种常见属性使用方法,以后也将不断更新补充(也欢迎

    2023年04月15日
    浏览(50)
  • Flex 弹性盒子布局

    可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? Flex 是 Flexible Box 的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。比如: 容器、项目的理解? 采用

    2024年01月17日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包