移動web佈局方法

来源:https://www.cnblogs.com/heymar/archive/2022/07/25/16518606.html
-Advertisement-
Play Games

繼續更新移動端的一個佈局,這也是經典中的經典,當初只知道個rem和vwvh適配,其實這裡面還有很多的門道不只是一個適配這麼簡單 一.前置 1.背景縮放 我們都知道做移動端,給的圖都是二倍圖,你拿來用直接縮減一半,這樣在手機上顯示出來也會很清晰 那麼我們背景圖片怎麼來進行縮放呢 ==推薦一個多倍圖切圖 ...


繼續更新移動端的一個佈局,這也是經典中的經典,當初只知道個rem和vwvh適配,其實這裡面還有很多的門道不只是一個適配這麼簡單

一.前置

1.背景縮放

我們都知道做移動端,給的圖都是二倍圖,你拿來用直接縮減一半,這樣在手機上顯示出來也會很清晰

那麼我們背景圖片怎麼來進行縮放呢

推薦一個多倍圖切圖神奇 cutterman

background-size除了cover contain還可以輸入px和百分比

原尺寸100px

image-20220702142111471

二.移動開發

1.主流方案

image-20220702142210694

  • 單獨製作頁面

    image-20220702142258632

2.移動端解決方案

註意初始化的css文件可以直接下載normalize.css

image-20220702142520310

特殊樣式

image-20220702142843617

3.佈局方案

image-20220702143018240

1.流式佈局

也就是百分比佈局,寬度百分比,高度固定

image-20220702144803182

但是有個bug,就是這個佈局如果屏幕縮減到一定寬度,可能會導致佈局錯亂

所以一般會搭配max-width或者min-width來使用

整個盒子小於等於992,大於等於768是正常自適應範圍,超過這兩個區間不再自適應就停到那個狀態

image-20220702145811719

項目:(京東)

  • 由於下麵的佈局都是占滿屏幕所以可以直接給body設置wid100% 但是限制一個範圍,320是現在手機最小解析度,max-width1000,參考京東手機端官網

    image-20220702153341520

  • 這個部分用到了三欄佈局因為中間是自適應的

    image-20220702161414854

    通過定位來做

    image-20220702161745083

    image-20220702161751460

  • 註意二倍精靈圖並不能想這樣做

    image-20220702165157660

    因為這樣後面的background-size是基於整張背景圖的來

精靈圖的二倍圖應該把我們取到的坐標除以2,同時size應該為精靈圖除以2的寬高

image-20220702220503818

2.flex佈局

  • 這樣一個導航解決思路 雙重flex

    image-20220703111406337

    image-20220703105011357

    image-20220703104954932

  • 如果要換背景圖,或者就是統一寫一個樣式,後面有一些自己的單獨樣式可以這樣來寫

    這個點方便在只用寫一個類名,而且類名都是不同的

    image-20220703111022022

    重點在選擇器,用到屬性選擇器,而且類似於正則,表示以什麼開頭的屬性

image-20220703111148120

這是一個公共屬性然後自己有自己的背景就可以單獨去添加

image-20220703111357263

3.rem+less+媒體查詢適配

前面流式佈局和flex佈局不能讓文字大小隨著屏幕變化而變化,而且高度都是固定不能自適應

image-20220703160430862

首先是媒體查詢方案,就是通過媒體查詢去設置不同寬度的fontsize大小

image-20220703160540660

  • 方案一:

    rem是可以自適應的所以做一套即可,剩下的屏幕會自己去適應

    image-20220703160842633

    image-20220703160929912

    首先我們需要寫一個公共樣式裡面裝我們對於各個屏幕設置的媒體查詢

    image-20220703162109591

    該模式下區別於flex和百分比,可以直接將寬度設置為rem

    image-20220703212107269

    該佈局方案只是涉及單位用到這些,但是佈局還是要用到flex或者float

4.rem+flexible

現在就只需要按照設計稿做一份,剩下的屏幕適配媒體查詢就不用寫了

vscode插件cssrem,可以自動將px轉化為rem,直接寫px值即可

但是他預設的html字體大小為16px

要修改的話打開vscode設置,命令面板搜索settings.json

image-20220703215032346

打開預設設置

image-20220703215156452

搜索cssroot將其修改為你設計稿的html字體大小

image-20220703215228113

做移動端,如果電腦查看用flexible去做適配會有問題,會超大,這個時候要限制它的大小要配合媒體查詢來做

image-20220703215604146

註意important

image-20220703215640120

5.響應式佈局(媒體查詢)

image-20220703220220438

image-20220703220231457

image-20220703220335410

6.響應式佈局(bootstrap)

4.總結

先考慮是單獨給移動端一個網址還是響應式一個網址既可以移動端又可以pc端

image-20220703220510871

然後選擇佈局方式

image-20220703220610201

完全可以選擇一種,然後其他也可以用的混合開發


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在嵌入式應用領域中,串口是最為常見的一種硬體通信介面。因為其具備協議簡單,硬體電路精簡等優勢使得串口基本成為MCU、電腦或嵌入式產品的標配介面。本文僅介紹在Linux系統下串口編程需要使用的API和一些應用技巧,關於串口的背景知識介紹,以及Windows系統下串口編程讀者可以移步至其他文章。 Li ...
  • Things3 for Mac是Mac平臺上一款非常優秀的任務管理軟體,嚴格按照GTD流程來規劃人們的任務安排,設計方式也和很多其他的應用程式有很大差別。things3 mac版是一個功能強大,易於使用的任務管理應用程式,可幫助您輸入,組織和處理待辦事項列表中的項目。基於流行的Getting Thi ...
  • 17 | 如何正確地顯示隨機消息? 場景:從一個單詞表中隨機選出三個單詞。 表的建表語句和初始數據的命令如下,在這個表裡面插入了 10000 行記錄: CREATE TABLE `words` ( `id` int(11) NOT NULL AUTO_INCREMENT, `word` varcha ...
  • 16 | “order by”是怎麼工作的? 以市民表為例,假設要查詢城市是“杭州”的所有人名字,並且按照姓名排序返回前 1000 個人的姓名、年齡。 這個表的部分定義: CREATE TABLE `t` ( `id` int(11) NOT NULL, `city` varchar(16) NOT ...
  • 15 | 答疑文章(一):日誌和索引相關問題 日誌相關 binlog(歸檔日誌)和redo log(重做日誌)配合崩潰恢復,在兩階段提交的不同瞬間,MySQL如果發生異常重啟,是怎麼保證數據完整性的? Q:這個圖不是一個update 語句的執行流程嗎,怎麼還會調用 commit 語句? A: 兩個“ ...
  • 14 | count(*)這麼慢,我該怎麼辦? 在開發系統的時候,你可能經常需要計算一個表的行數,比如一個交易系統的所有變更記錄總數。 隨著系統中記錄數越來越多,select count(*) from t 語句執行得也會越來越慢 count(*) 的實現方式 在不同的 MySQL 引擎中,coun ...
  • 7月22日,中國信息通信研究院、中國通信標準化協會主辦的“2022 可信雲大會”在京圓滿落幕。大會以“雲賦新能,算向未來”為主題,邀請了眾多行業專家學者、企業代表、行業大咖齊聚一堂,從雲治理、容災、多雲管理、雲原生等多個雲計算垂直領域出發,共話我國可信計算未來藍圖。 騰訊雲資料庫專家團作為雲服務企業 ...
  • 本文以經典的協同過濾為切入點,重點介紹了被工業界廣泛使用的矩陣分解演算法,從理論與實踐兩個維度介紹了該演算法的原理,通俗易懂,希望能夠給大家帶來一些啟發。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...