自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

鴻蒙的JS開發(fā)部模式16:鴻蒙布局Grid網(wǎng)格布局的應(yīng)用一

開發(fā)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com

[[383854]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

1.目前鴻蒙css布局方案中,除了Flex布局 ,網(wǎng)格布局Grid可以算得上是最強(qiáng)大的布局方案了。它可以將網(wǎng)頁分為一個(gè)個(gè)網(wǎng)格,然后利用這些網(wǎng)格組合做出各種各樣的布局。

容器里面的水平區(qū)域稱為“行”,垂直區(qū)域稱為“列”,行列重疊出來的空間組成單元格

劃分網(wǎng)格的線,稱為”網(wǎng)格線“

黃色的代表是列的網(wǎng)格線,綠色代表的是行的網(wǎng)格線。Grid和flex類似,布局的屬性都是分為兩類,一類定義在容器上,稱為容器屬性,一類定義在項(xiàng)目上,稱為項(xiàng)目屬性。

display屬性

display:grid指定一個(gè)容器為網(wǎng)格布局,

  1. <div class="container"
  2.    <div  class="item"
  3.    </div> 
  4.     <div  class="item"
  5.     </div> 
  6.     <div  class="item"
  7.     </div> 
  8.  
  9.     <div  class="item"
  10.     </div> 
  11.     <div  class="item"
  12.     </div> 
  13.     <div  class="item"
  14.     </div> 
  15. </div> 

  1. .container { 
  2.     width: 100%; 
  3.     display: grid;  /**采用grid布局**/ 
  4.     background-color: palevioletred; 
  5.    /** grid-template-columns: 100px  200px  300px; 
  6.     grid-template-rows: 200px  200px;**/ 
  7.     grid-template-columns: 1fr  1fr  1fr; 
  8.     grid-template-rows: 200px  300px ; 
  9. .item 
  10.     border: 5px  solid   white; 
  11.     width: 100%; 
  12.     height: 100%; 
  13.  

布局效果如下:

特別注意

grid-template-columns和 grid-template-rows

grid-template-columns:用來指定行的寬度

grid-template-rows:用來指定行的高度

1.1也可以使用百分比來表示

1.2 網(wǎng)格提供了fr關(guān)鍵字(fraction的縮寫,意為“片段”),如果兩列的寬度分別為1fr和2fr,就表示后者是前者的2倍

1.3 可以使用具體的像素單位。

2.使用Grid布局構(gòu)建底部菜單欄和整體頁面的分割控制,實(shí)現(xiàn)的效果如下:

2.1頁面視圖部分代碼:

  1. <div class="container"
  2.     <div  class="contentview"
  3.  
  4.     </div> 
  5.     <div class="bottomview"
  6.        <block  for="{{menus}}"
  7.           <div  class="box"
  8.               <div  class="boximg"
  9.                  <image   class="topimg" src="{{$item.path}}"></image> 
  10.               </div> 
  11.               <div class="boxtxt"
  12.                   <text>{{$item.name}}</text> 
  13.               </div> 
  14.            
  15.           </div> 
  16.         
  17.        </block> 
  18.     </div> 
  19. </div> 

2.2 業(yè)務(wù)邏輯js代碼,數(shù)據(jù)構(gòu)建

  1. export default { 
  2.     data: { 
  3.         title: 'World'
  4.         menus:[{"name":"首頁","path":"common/fs.png"},{"name":"分類","path":"common/cs.png"}, 
  5.                {"name":"旅游","path":"common/ls.png"},{"name":"我的","path":"common/ms.png"}] 
  6.     } 

2.3 css采用 Grid布局,

  1. .container { 
  2.     width: 100%; 
  3.     display: grid; 
  4.     grid-template-columns: 1fr; 
  5.     grid-template-rows: 88%  12%; 
  6. .contentview{ 
  7.     width: 100%; 
  8.     height: 100%; 
  9.     border: 5px  solid  powderblue; 
  10. .bottomview{ 
  11.     width: 100%; 
  12.     height: 100%; 
  13.     border: 5px  solid  cadetblue; 
  14.     display: grid; 
  15.     grid-template-columns: 1fr  1fr 1fr 1fr; 
  16.     grid-template-rows: 100%; 
  17. .box{ 
  18.     width: 100%; 
  19.     height: 100%; 
  20.     border: 8px  solid  green; 
  21.     display: grid; 
  22.     grid-template-columns: 1fr; 
  23.     grid-template-rows: 70%  30%; 
  24.  
  25. .boximg{ 
  26.     width: 80%; 
  27.     height: 100%; 
  28.    /** border:2px  solid  red;**/ 
  29.     display: flex; 
  30.     justify-content: center; 
  31.     align-items: center; 
  32. .boxtxt{ 
  33.     width: 100%; 
  34.     height: 100%; 
  35.    /** border:2px  solid  blue;**/ 
  36.     display: flex; 
  37.     justify-content: center; 
  38. .topimg{ 
  39.     width: 65px; 
  40.     height: 65px; 
  41.  

這個(gè)是Grid布局構(gòu)建底部菜單欄的具體實(shí)現(xiàn),可以和Flex布局做個(gè)技術(shù)的對(duì)比。

3.grid-row-gap和grid-colunm-gap屬性

grid-row-gap:設(shè)置行與行之間的間隔

grid-colunm-gap:設(shè)置列于列之間的間隔

grid-row-gap和grid-colunms-gap合并簡(jiǎn)寫的話,格式為grid-gap

  1. <div class="container"
  2.     <div class="item1"
  3.         <text>1</text> 
  4.     </div> 
  5.     <div class="item1"
  6.         <text>2</text> 
  7.     </div> 
  8.     <div class="item1"
  9.         <text>3</text> 
  10.     </div> 
  11.     <div class="item1"
  12.         <text>4</text> 
  13.     </div> 
  14.     <div class="item1"
  15.         <text>5</text> 
  16.     </div> 
  17.     <div class="item1"
  18.         <text>6</text> 
  19.     </div> 
  20. </div> 
  1. .container { 
  2.     width:100%; 
  3.     background-color: #f3f3f3; 
  4.     display: grid; 
  5.     grid-template-columns: 33% 33% 33%; 
  6.     grid-template-rows: 200px 300px ; 
  7.     grid-columns-gap: 20px; 
  8.     grid-rows-gap: 20px; 
  9. .item1{ 
  10.  
  11.     width: 100%; 
  12.     height: 100%; 
  13.     border:1px solid #fff; 
  14.     color:#fff; 
  15.     font-weight: bold; 
  16.     background-color: powderblue; 
  17.     display: flex; 
  18.     justify-content: center; 
  19.     align-items: center; 
  20.  
  21.  

設(shè)置間隔效果如下:

Grid布局和Flex布局在鴻蒙,PC,小程序都有非常廣泛的應(yīng)用,也是布局標(biāo)準(zhǔn),入門的同學(xué),可以選擇從這里起步,能夠夠好的掌握鴻蒙的應(yīng)用開發(fā),然后在切入到鴻蒙的Java開發(fā)。

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2024-05-28 07:53:23

2021-03-02 14:34:48

鴻蒙HarmonyOS應(yīng)用開發(fā)

2023-08-14 18:25:31

CSSJavaScript業(yè)務(wù)

2021-02-22 09:49:25

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-03-09 09:35:09

鴻蒙HarmonyOS應(yīng)用開發(fā)

2020-07-14 08:31:42

CSS網(wǎng)格布局項(xiàng)目

2011-12-01 15:51:35

JavaJavaFX

2024-04-09 10:10:23

GridCSS網(wǎng)格

2022-10-13 09:01:24

GridCSS二維布局

2023-02-07 09:01:22

CSS

2022-03-23 08:01:36

CSSGrid小游戲

2021-12-01 09:53:46

CSS 技巧代碼重構(gòu)

2022-10-08 00:02:00

CSS工具系統(tǒng)

2022-04-15 14:57:57

Flex布局鴻蒙操作系統(tǒng)

2013-04-17 09:53:27

Windows Pho

2025-04-08 05:55:00

CSS布局Grid

2020-11-17 11:48:44

HarmonyOS

2021-03-08 00:12:44

Grid 備忘錄 函數(shù)

2020-11-25 12:02:02

TableLayout

2021-08-12 15:01:09

鴻蒙HarmonyOS應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)