H5的第二天

移動web開發——flex布局

目標

  • 了解flex布局的優缺點及原理
  • 能夠說出flex布局原理、使用語法、特點(重點)
  • 能夠使用flex布局常用屬性(重點)
  • 能夠獨立完成攜程移動端首頁

1.0 傳統布局和flex布局對比

1.1傳統布局

  • 兼容性好
  • 布局繁瑣

1.2 flex布局

  • 操作方便,布局極其簡單
  • 移動端webkit內核都支持該屬性
  • pc端瀏覽器支持情況比較差、IE11或更低版本不支持flex或僅支持部分

1.3 建議

  • 如果是pc端頁面布局,還是采用傳統方式
  • 如果是移動端或者是不考慮兼容的pc則采用flex

演示:
在這里插入圖片描述

2.0 flex布局(原理、特點、使用語法)

  • 名稱:flex 是 flexible Box 的縮寫,意為"彈性布局",把布局分為父項和子項
    • 面試叫法:flex布局又叫伸縮 布局彈性布局伸縮盒布局彈性盒布局
  • 原理
    • 采用 Flex 布局的元素,稱為 Flex 容器(flexcontainer),父級簡稱"容器"。
    • 它的所有子元素自動成為容器成員,稱為 Flex 項目(flexitem),簡稱"項目"。
      在這里插入圖片描述

使用語法:flex布局入口,加在父項上;

display:flex;
  • 特點
    • 任何一個標簽都可以指定使用 flex 布局。
    • 當為父盒子設為 flex 布局以后,子元素的 float、clear 和 vertical-align 屬性將失效。
    • 使用思想上和傳統盒子完全不同,不要再想子元素是塊級元素、行內元素等

總結:就是通過給父盒子添加flex屬性,來控制子盒子的位置和排列方式

3.0 父項常見屬性

  • flex-direction:設置主軸的方向
  • justify-content:設置主軸上的子元素排列方式
  • flex-wrap:設置子元素是否換行
  • align-content:設置側軸上的子元素的排列方式(多行)
  • align-items:設置側軸上的子元素排列方式(單行)
  • flex-flow:復合屬性,相當于同時設置了 flex-direction 和 flex-wrap

3.1 flex-direction設置主軸的方向(重要)

  • 在 flex 布局中,是分為主軸和側軸兩個方向,同樣的叫法有 : 行和列、x 軸和y 軸
  • 默認主軸方向就是 x 軸方向,水平向右
  • 默認側軸方向就是 y 軸方向,水平向下

在這里插入圖片描述
注意: 主軸和側軸是會變化的,就看 flex-direction 設置誰為主軸,剩下的就是側軸。而我們的子元素是跟著主軸來排列的在這里插入圖片描述

3.2 justify-content 設置主軸上的子元素排列方式

在這里插入圖片描述

3.3 flex-wrap設置是否換行

  • 默認情況下,項目都排在一條線(又稱”軸線”)上。flex-wrap屬性定義,flex布局中默認是不換行的。
  • nowrap 不換行:放不開,會縮小子元素的寬度,放到父元素里面
  • wrap 換行

在這里插入圖片描述

3.4 align-items 設置側軸上的子元素排列方式(單行 )

在這里插入圖片描述

  • 該屬性是控制子項在側軸(默認是y軸)上的排列方式 在子項為單項(單行)的時候使用
  • flex-start 從頭部開始
  • flex-end 從尾部開始
  • center 居中顯示
  • stretch 拉伸
    在這里插入圖片描述

練習:設置子盒子在父級盒子中水平垂直都居中

3.5 align-content 設置側軸上的子元素的排列方式(多行)

在這里插入圖片描述
設置子項在側軸上的排列方式 并且只能用于子項出現 換行 的情況(多行),在單行下是沒有效果的。

  • strech: 默認值 設置多行子元素平均分配父元素
  • flex-start: 在側軸的頭部開始排列
  • flex-end: 在側軸尾部開始平均分布
  • center: 在側軸中間顯示
  • space-around: 子項在側軸上平均分布;
  • space-between: 子項在側軸上先兩頭分布,再把平分剩余空間

3.6 align-content 和align-items區別

  • align-items 適用于單行情況下, 只有上對齊、下對齊、居中和 拉伸
  • align-content適應于換行(多行)的情況下(單行情況下無效), 可以設置 上對齊、下對齊、居中、拉伸以及平均分配剩余空間等屬性值。
  • 總結就是單行找align-items 多行找 align-content

3.7 flex-flow 屬性是 flex-direction 和 flex-wrap 屬性的復合屬性

flex-flow:row wrap;

重點案例 :nav導航
在這里插入圖片描述
分析:

  • 整體:
    • 確認主軸,水平向右;
  • 單獨一個元素:
    • 整體單個元素:flex布局;
    • 確認主軸:Y軸,列;
    • 側軸對齊:居中;

4.0 flex布局子項常見屬性

  • flex子項目占的份數
  • align-self控制子項自己在側軸的排列方式
  • order屬性定義子項的排列順序(前后順序)

4.1 flex 屬性(重要)

  • flex 屬性定義子項目分配剩余空間,用flex來表示占多少份數。
  • 應用:
    • 圣杯布局
    • 子項按比例分配
.item {flex: <number>; /* 默認值 0 */
}

4.3 order 屬性定義項目的排列順序

數值越小,排列越靠前,默認為0。

注意:和 z-index 不一樣。

.item {

5.0 攜程網首頁案例制作

攜程網鏈接:添加鏈接描述

5.1技術選型

方案:我們采取單獨制作移動頁面方案

技術:布局采取flex布局

在這里插入圖片描述

5.3設置視口標簽以及引入初始化樣式

<meta name="viewport" content="width=device-width, user-scalable=no,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/index.css">

5.4常用初始化樣式

body {max-width: 540px;min-width: 320px;margin: 0 auto;font: normal 14px/1.5 Tahoma,"Lucida Grande",Verdana,"Microsoft Yahei",STXihei,hei;color: #000;background: #f2f2f2;overflow-x: hidden;-webkit-tap-highlight-color: transparent;
}

5.5 模塊名字劃分

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248320.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248320.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248320.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

d3.js 入門指南 - 儀表盤

D3的全稱是Data-Driven Documents&#xff08;數據驅動的文檔&#xff09;&#xff0c;是一個用來做數據可視化的JavaScript函數庫&#xff0c;而JavaScript文件的后綴通常為.js&#xff0c;所以D3被稱為D3.js。 d3.js可以定制出各種圖形&#xff0c;今天來用d3.js制作一個簡易…

[轉帖]華為的“大海思”與“小海思”

華為的“大海思”與“小海思” https://www.cnbeta.com/articles/tech/828275.htm沒先到華為海思這么狠.. 作為華為的全資子公司&#xff0c;說起海思半導體&#xff0c;大家可能第一時間會想起麒麟處理器。經過多年的持續的研發投入&#xff0c;華為海思自研的麒麟處理器現在確…

H5第三天(1)

響應式布局 ?核心知識點 less媒體查詢 學習目標 掌握less基本語法能夠使用less編寫css代碼能夠掌握媒體查詢能夠使用媒體查詢實現響應式布局 Less介紹 維護CSS的弊端 CSS本質上不是一門語言,是一個簡單的樣式表.代碼維護相對老套,不夠靈活.LESS介紹 ?LESS預處理器: 依…

CocosPods 引入項目,哪些文件需要上傳到服務器呢?

以上除Podfile外&#xff0c;其它三個文件都不是必須提交的。其中Pods目錄沒必要提交&#xff0c;里面的文件都是根據Podfile描述的依賴庫的配置信息下載和生成的文件。因為CocoaPods支持語義化版本號&#xff0c;所以需要Podfile.lock文件記住當前使用的版本&#xff0c;當然這…

H5第三天(2)

移動web響應式布局 ?知識點-回顧 1. 什么是彈性盒子(伸縮布局) 2. 伸縮布局解決了什么問題 3. 伸縮盒子特點 有一條默認水平顯示的主軸有一條始終要垂直于主軸的側軸 4.重點掌握的屬性 設置伸縮盒子 display: flex;設置主軸對齊方式 justify-content設置側軸對齊方式 a…

X-AdminABP框架開發-系統日志

網站正常運行中有時出現異常在所難免&#xff0c;查看系統運行日志分析問題并能夠根據錯誤信息快速解決問題尤為重要&#xff0c;ABP對于系統運行日志這塊已經做了很好的處理&#xff0c;默認采用的Log4Net已經足夠滿足開發過程中的需要了(當然有需要的話也可以更換為其它日志組…

[Swift]LeetCode826. 安排工作以達到最大收益 | Most Profit Assigning Work

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★?微信公眾號&#xff1a;山青詠芝&#xff08;shanqingyongzhi&#xff09;?博客園地址&#xff1a;山青詠芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;?GitHub地址&a…

H5第四天(1)

boostrap框架介紹 核心知識點 boostrap框架柵格系統[重點,不是難點]基本的全局樣式 學習目標 能夠使用boostrap框架中的基本樣式能夠使用柵格系統完成阿里百秀案例 boostrap框架 介紹 https://www.bootcss.com/ Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架&#xff0c;用…

javascript基礎入門知識點整理

學習目標:- 掌握編程的基本思維- 掌握編程的基本語法 typora-copy-images-to: mediaJavaScript基礎 HTML和CSS 京東 課前娛樂 眾人皆笑我瘋癲,我笑爾等看不穿 課前說明 目標&#xff1a;掌握編程的基本思想掌握JavaScript的基礎語法,使用常見API(備注)完成相應案例及練習和作業…

學習筆記-canny邊緣檢測

Canny邊緣檢測 聲明&#xff1a;閱讀本文需要了解線性代數里面的點乘&#xff08;圖像卷積的原理&#xff09;&#xff0c;高等數學里的二元函數的梯度&#xff0c;極大值定義&#xff0c;了解概率論里的二維高斯分布 1.canny邊緣檢測原理和簡介 2.實現步驟 3.總結 一、 Canny邊…

H5第四天(2)

Bootstrap框架 Bootstrap框架 為什么要學Bootstrap框架 Bootstrap框架: 為我們提供了用來實現響應式開發的公共資源 總結: Bootstrap框架用來實現響應式布局Bootstrap框架中重點學什么 Bootstrap框架提供了很多豐富的網頁開發資源,代碼有上萬行代碼.1. 重點學習框架中提供的基…

javascript高級實戰學習

學習目標:- 理解面向對象開發思想- 掌握 JavaScript 面向對象開發相關模式- 掌握在 JavaScript 中使用正則表達式- typora-copy-images-to mediaJavaScript 高級 課程介紹 課程大綱 在線地址&#xff1a;JavaScript 高級 目標 理解面向對象開發思想 掌握 JavaScript 面向對象…

H5C3筆記微整合

傳統布局&#xff08;寬度百分比設置&#xff09; 伸縮布局&#xff08;flex&#xff09; 自適應布局&#xff08;lessrem媒體查詢&#xff09; 1、less的使用 2、rem的使用 我的理解&#xff1a; 1、假如想把ui 給的圖片設置在網頁上&#xff0c;給網頁設置個份額值為 x 2、…

如何開發出優秀的APICloud應用

APICloud定制平臺項目實施規范APICloud應用優化策略Top30如何開發出運行體驗良好、高性能的App如何開發出客戶滿意、能夠順利交付的App1. 引擎或模塊問題&#xff1a; 遇到應用層無法解決的問題&#xff0c;如果能確定需要引擎和模塊支持的&#xff0c;不要自己想辦法繞過去&am…

收破爛怎么入行

收破爛分為幾個環節。1、回收&#xff08;回收利用、消息傳遞&#xff0c;消息處理&#xff09;2、集中處理&#xff08;垃圾分類&#xff0c;垃圾測試&#xff0c;垃圾投入使用&#xff0c;成品&#xff09;3、應用&#xff08;垃圾回收再應用&#xff0c;提供給需要資源的單位…

javaScript第一天(2)

javaScript基礎 1. javaScript的由來【了解】 為什么會出現js 早期出現js的原因就是為了解決一個問題: 用戶和瀏覽器(網頁)進行交互其他了解: 系統程序員Brendan Eich 設計了js語言, js語言1借鑒C語言的基本語法; (2)借鑒Java語言的數據類型和內存管理; (3)借鑒Scheme語言&…

WC2018 通道

好久以前開的坑&#xff0e; 到今天才填上&#xff0e; 首先考慮隊第一顆樹邊分&#xff0c;然后分成兩個集合\(L,R\)&#xff0c;在第二棵樹上建出虛樹&#xff0c;在每個路徑\(lca\)處統計答案&#xff0c;維護點集的直徑只有正權很好維護&#xff0e; #include <bits/std…

javaScript第一天(1)

01-JavaScript基礎 核心知識點 javaScript書寫位置javaScript變量javaScript數據類型javaScript數據類型轉換javaScript運算符 今日學習目標 能夠定義一個變量并完成變量的賦值能夠說出每一種具體的數據類型能夠數據類型之間的相互轉化能夠掌握各種運算符的作用 序言 Java…

javaScript第二天(1)

02-JavaScript基礎 1.核心知識點 運算符分支語句 【重點】斷點調試 [查看程序邏輯的一個技能] 2.今日學習目標 能夠掌握js中相關的運算符 能夠掌握理解算數運算符使用及特點能夠掌握賦值運算符的使用及特點能夠掌握一元運算符的使用及特點能夠掌握比較運算符的特點,理解等于…

第四周總結

第四周作業 這次作業屬于哪個課程C語言程序設計這個作業要求在哪里第四周作業我的課程目標全部學會這個作業在那個具體方面幫助我實現目標深入了解二維數組參考文獻教科書一&#xff0c;基礎作業 程序填空題5-1 輸入一個正整數 n (1≤n≤10)和n 階方陣a的元素&#xff0c;如果方…