小程序:display flex

编程之家收集整理的这篇文章主要介绍了小程序:display flex编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

display flex是将对象作为弹性伸缩盒显示。(伸缩盒最新版本)(CSS3)在web网页中必须要考虑兼容性,因为浏览器不同,浏览器的支持和实现方式也不同,导致兼容起来略显麻烦不过,我们这里是开发微信小程序的话,并不需要考虑其他浏览器。 微信小程序页面布局方式采用的是Flex布局。Flex布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局...

display flex是将对象作为弹性伸缩盒显示。(伸缩盒最新版本)(CSS3)

在web网页中必须要考虑兼容性,因为浏览器不同,浏览器的支持和实现方式也不同,导致兼容起来略显麻烦

不过,我们这里是开发微信小程序的话,并不需要考虑其他浏览器。

 

微信小程序页面布局方式采用的是Flex布局。

Flex布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局。

Flex布局提供了元素在容器中的对齐,方向以及顺序,甚至他们可以是动态的或者不确定的大小的。

Flex布局的主要特征是能够调整其子元素在不同的屏幕大小中能够用最适合的方法填充合适的空间。

flex布局

Flex布局的特点:

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

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

  • 主轴和侧轴方便配置

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

  • 沿着容器对齐

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

伸缩容器

设有display: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>

显示效果:

block

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

flex

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

主轴和侧轴

Flex布局的伸缩容器可以使用任何方向进行布局。

容器认有两个轴:主轴(main axis)侧轴(cross axis)

主轴的开始位置为主轴起点(main start),主轴的结束位置为主轴终点(main end),而主轴的长度为主轴长度(main size)。

同理侧轴的起点为侧轴起点(cross start),结束位置为侧轴终点(cross end),长度为侧轴长度(cross size)。详情见下图:

Flex-direction

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

 

  • row :从左到右的水平方向为主轴
  • row-reverse:从右到左的水平方向为主轴
  • column:从上到下的垂直方向为主轴
  • column-reverse从下到上的垂直方向为主轴

如果水平方向为主轴,那个垂直方向就是侧轴,反之亦然。

四种主轴方向设置的效果图:

示例图

图中的实例展示了使用了不同的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-direction

对齐方式

子元素有两种对齐方式:

 

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

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

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

  • flex-start 主轴起点对齐(认值)
  • flex-end 主轴结束点对齐
  • center 在主轴中居中对齐
  • space-between 两端对齐,除了两端的子元素分别靠向两端的容器之外,其他子元素之间的间隔都相等
  • space-around 每个子元素之间的距离相等,两端的子元素距离容器的距离也和其它子元素之间的距离相同。

justify-content的对齐方式和主轴的方向有关,下图以flex-direction为row,主轴方式是从左到右,描述jstify-content5个值的显示效果:

justify-content

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

  • stretch 填充整个容器(认值)
  • flex-start 侧轴的起点对齐
  • flex-end 侧轴的终点对齐
  • center 在侧轴中居中对齐
  • baseline 以子元素的第一行文字对齐

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

aign-items

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

 

最后介绍一个自己花了两天做出的小程序,感兴趣的可以扫一下,欢迎提取意见

需要的源码的可以联系我,相互学习一起进步

weather

 

总结

以上是编程之家为你收集整理的小程序:display flex全部内容,希望文章能够帮你解决小程序:display flex所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

猜你在找的微信小程序相关文章

1、先开发小程序,小程序需要有亮点,毕竟新颖(这样别人才更好去点击查看)2、条件是独立访客(UV)不低于1000,1000人说多不多,说少也不少,因为小程序是没有链接的,是不可以进行一个流量刷取的,独立访客是需要1000个实实在在的用户,并不是访问量。3、开发好小程序之后,自己要为自己宣传,前提小程序需要做的完美,小程序一定要做分享功能,将小程序分享到个人、微信群、朋友圈,这样估计很容...
WXSS(WeiXin Style Sheet)与CSS对应,用于描述页面的样式。特性内联样式:组件的 style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进style中,以免影响渲染速度。选择器对于常用的选择器,目前支持的选择器有:注:绿色背景色行表示官方文档中没有说明,但经个人亲测后确定也支持的选择器。目前不支持的选择器有:注意:如...
微信开发者工具的快捷键微信开发者工具的所有快捷键
注册小程序帐号在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮。选择注册的帐号类型显示了4选项,我们现在是注册小程序,所以选择小程序填写邮箱和密码请填写未注册过公众平台、开放平台、企业号、未绑定个人号的邮箱。激活邮箱登录邮箱,查收激活邮件,点击激活链接。填写主体信息点击激活链接后,继续...
由于小程序只提供了我们一个获取地理位置、速度的api,并没有获取的相关地位位置的信息等等,因此我们还需要借助一些第三方的api来实现下面,介绍使用百度地图的api来获取地位位置的信息。1&gt; 第一步:先到百度开放平台http://lbsyun.baidu.com申请akhttp://lbsyun.baidu.com/index.php?title=wxjsapi/guide/...
之前已经介绍过,如何使用百度地图api来获取地理位置信息微信小程序的百度地图获取地理位置: 微信小程序教程系列15下面介绍使用百度api来获取天气信息。1&gt; 第一步:先到百度开放平台http://lbsyun.baidu.com申请akhttp://lbsyun.baidu.com/index.php?title=wxjsapi/guide/key申请到ak后,在我的应用...
微信小程序框架为开发者提供了一系列的组件和API接口。组件主要完成小程序的视图部分,例如文字、图片显示。API主要完成逻辑功能,例如网络请求、数据存储、音视频播放控制,以及微信开放的微信登录、微信支付等功能。组件官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/对于开发文档,个人建议先了解其整体框架,了解其提供了哪些组...
前言:很久之前就说小龙叔要出个小程序,那个时候刚在学习Android原生开发,当时觉得Native APP还是无可替代的,不管是用户体验还是功能扩展都无法与Native APP比,并且也没多少人会愿意舍弃成为独立流量入口的机会不做而去选择受限于微信的小程序,同时还增加了用户停留微信的时常,增加了微信的用户活跃度。现在想想我真的太年轻,其实微信小程序还是有很大的用武之地的,让我...
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注