【图解鸿蒙】多组示例演示三个样式的组合用法

开发
当我们使用JavaScript开发鸿蒙手表的App时,在CSS文件中经常要用到这三个样式:flex-direction、justify-content和align-items。

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

当我们使用JavaScript开发鸿蒙手表的App时,在CSS文件中经常要用到这三个样式:flex-direction、justify-content和align-items

  • 样式flex-direction用于指定容器内所有组件的排列方向,可选值有两个:row和column,分别表示水平方向排列和竖直方向排列。当flex-direction的值设置为row时,水平方向为主轴,竖直方向为副轴;当flex-direction的值设置为column时,竖直方向为主轴,水平方向为副轴。
  • 样式justify-content用于指定容器内所有组件在主轴上的对齐方式,可选值有五个:flex-start、flex-end、center、space-between和space-around。
  • 样式align-items用于指定容器内所有组件在副轴上的对齐方式,可选值有三个:flex-start、flex-end和center。

组合使用以上三个样式,可以指定容器内所有组件的布局。接下来,我们通过多组示例来演示以上三个样式的组合用法。

新建一个Lite Wearable的项目。

打开文件index.hml。

在最外层的组件div中嵌套四个组件div,将属性class的值分别设置为subcontainer1、subcontainer2、subcontainer3、subcontainer4。

代码如下所示:

  1. <div class="container"
  2.     <div class="subcontainer1"
  3.     </div> 
  4.  
  5.     <div class="subcontainer2"
  6.     </div> 
  7.  
  8.     <div class="subcontainer3"
  9.     </div> 
  10.  
  11.     <div class="subcontainer4"
  12.     </div> 
  13. </d 

 打开文件index.css。

添加四个类选择器,以设置4个内嵌组件div的样式。

将第1个内嵌组件div的宽度width和高度height都设置为40px,并将其背景色设置为蓝色。

将第2个内嵌组件div的宽度width和高度height都设置为60px,并将其背景色设置为绿色。

将第3个内嵌组件div的宽度width和高度height都设置为80px,并将其背景色设置为红色。

将第4个内嵌组件div的宽度width和高度height都设置为100px,并将其背景色设置为黄色。

为了设置4个内嵌组件div的布局,在类选择器container中将flex-direction的值设置为row,以指定水平方向为主轴,从而指定容器内所有组件的排列方向为水平方向。将justify-content的值设置为flex-start,以指定容器内所有组件在主轴上的对齐方式。将align-items的值设置为center,以指定容器内所有组件在副轴上的对齐方式。

代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: flex-start; 
  4.     align-items: center; 
  5.     width: 454px; 
  6.     height: 454px; 
  7. .subcontainer1 { 
  8.     width: 40px; 
  9.     height: 40px; 
  10.     background-color: blue; 
  11. .subcontainer2 { 
  12.     width: 60px; 
  13.     height: 60px; 
  14.     background-color: green; 
  15. .subcontainer3 { 
  16.     width: 80px; 
  17.     height: 80px; 
  18.     background-color: red; 
  19. .subcontainer4 { 
  20.     width: 100px; 
  21.     height: 100px; 
  22.     background-color: yellow; 

 保存所有代码后打开模拟器,4个内嵌组件div的排列方向为水平方向。在主轴(水平方向)上的对齐方式为左对齐。在副轴(竖直方向)上的对齐方式为居中对齐。运行效果如下图所示:


将index.css中主轴上的对齐方式修改为flex-end,代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: flex-end
  4.     align-items: center; 
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在主轴上的对齐方式为右对齐。运行效果如下图所示:

将index.css中主轴上的对齐方式修改为center,代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: center; 
  4.     align-items: center; 
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在主轴上的对齐方式为居中对齐。运行效果如下图所示:

将index.css中主轴上的对齐方式修改为space-between,代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: space-between
  4.     align-items: center; 
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在主轴上的对齐方式为两端对齐。运行效果如下图所示:

将index.css中主轴上的对齐方式修改为space-around,代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: space-around; 
  4.     align-items: center; 
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在主轴上的对齐方式为分散对齐。运行效果如下图所示:

将index.css中副轴上的对齐方式修改为flex-start,代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: space-around; 
  4.     align-items: flex-start; 
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在副轴上的对齐方式为上对齐。运行效果如下图所示:

将index.css中副轴上的对齐方式修改为flex-end,代码如下所示:

  1. .container { 
  2.     flex-direction: row; 
  3.     justify-content: space-around; 
  4.     align-items: flex-end
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在副轴上的对齐方式为下对齐。运行效果如下图所示:

将index.css中flex-direction的值设置为column,以指定竖直方向为主轴,从而指定容器内所有组件的排列方向为竖直方向,代码如下所示:

  1. .container { 
  2.     flex-direction: column
  3.     justify-content: space-around; 
  4.     align-items: flex-end
  5.     width: 454px; 
  6.     height: 454px; 

 保存所有代码后打开模拟器,4个内嵌组件div在主轴(竖直方向)上的对齐方式为分散对齐,并且在副轴(水平方向)上的对齐方式为右对齐。运行效果如下图所示:

通过以上多组示例的演示,相信大家已经掌握了flex-direction、justify-content和align-items这三个样式的组合用法,从而可以轻松地指定容器内所有组件的布局了。

项目源代码,请见附件。

欢迎订阅我的专栏【图解鸿蒙】:

https://harmonyos.51cto.com/column/27

©著作权归作者和HarmonyOS技术社区共同所有,如需转载,请注明出处,否则将追究法律责任

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2010-10-12 09:41:26

mysql触发器

2014-12-05 10:41:22

2023-04-26 11:14:11

IT领导者远程工作

2015-03-06 16:01:08

HTML5简约按钮源码

2017-11-02 08:44:50

组合式存储架构

2020-06-11 09:00:27

SDN网络架构网络

2021-08-06 09:47:01

鸿蒙HarmonyOS应用

2010-06-04 14:32:34

MySQL 触发器in

2018-02-25 07:23:23

2010-09-02 16:46:52

SOAP协议

2011-12-20 10:41:36

程序员

2022-06-22 08:50:53

ERP系统CTO

2022-02-21 14:14:03

SSH加密密钥

2010-04-01 13:09:12

Oracle中join

2013-12-13 13:23:29

马云阿里巴巴

2010-06-04 13:49:24

Linux流量监控

2011-05-16 16:26:14

EJB

2015-05-18 09:50:23

swift扩展

2022-05-27 12:40:25

前端测试项目

2022-08-08 10:52:59

边缘计算混合云
点赞
收藏

51CTO技术栈公众号