css移動端開發

1.視口

視口標簽

視口元標簽(Viewport Meta Tag)用于控制網頁在移動設備上的視口行為,確保頁面能夠正確縮放和調整。通常在HTML的<head>部分添加如下代碼:

<meta name="viewport" content="width=device-width, user-scalable=no, 
initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
屬性解釋說明
width寬度設置的是viewport寬度,可以設置device-width特殊值
initial-scale初始縮放比,大于0的數字
maximum-scal最大縮放比,大于0的數字
minimum-scale最小縮放比,大于0的數字
user-scalable用戶是否可以縮放,yes或no(1或0)

標準的viewport設置:

  • 視口寬度和設備保持一致
  • 視口的默認縮放比例1.0
  • 不允許用戶自行縮放
  • 最大允許的縮放比例1.0
  • 最小允許的縮放比例1.0

2.二倍圖

在網頁開發中,尤其是在設計高分辨率屏幕(如Retina顯示屏)上使用的圖像時,使用二倍圖(2x圖像)是一個常見的做法。二倍圖的概念主要是為了適應高分辨率屏幕,確保圖像在這些屏幕上看起來清晰銳利。以下是關于CSS二倍圖的一些關鍵點和使用方法:

什么是二倍圖?

二倍圖(@2x images)是指其分辨率是標準分辨率圖像的兩倍的圖像。例如,如果標準圖像的尺寸是100x100像素,那么二倍圖的尺寸則是200x200像素。

為什么需要二倍圖?

高分辨率屏幕(如Retina屏)上的像素密度比普通屏幕高,這意味著同樣大小的區域上有更多的像素。如果直接在高分辨率屏幕上使用標準分辨率的圖像,這些圖像可能會顯得模糊不清。因此,使用二倍圖可以確保圖像在高分辨率屏幕上看起來更加清晰銳利。

背景縮放 background-size
background-size: 背景圖片寬度 背景圖片高度;
  • 單位: 長度|百分比|cover|contain;
  • cover把背景圖像擴展至足夠大,以使背景圖像完全覆蓋背景區域。
  • contain把圖像圖像擴展至最大尺寸,以使其寬度和高度完全適應內容區域

3.flex布局

基本概念

Flexbox布局包括兩個主要組件:容器(container)**和**項目(items)。容器是Flexbox布局的父元素,項目是其直接子元素。

設置Flex容器

通過將容器的display屬性設置為flexinline-flex來啟用Flexbox布局:

.container {display: flex; /* 或者 inline-flex */
}

1.父項常見屬性

flex-direction:定義主軸(main axis)的方向及項目的排列方向。

  • row(默認值):從左到右。
  • row-reverse:從右到左。
  • column:從上到下。
  • column-reverse:從下到上。
.container {flex-direction: row;
}

justify-content:定義項目在主軸上的對齊方式。

  • flex-start(默認值):從起點對齊。
  • flex-end:從終點對齊。
  • center:居中對齊。
  • space-between:兩端對齊,項目間隔均勻(先兩邊貼邊,再平分剩余空間)。
  • space-around:項目周圍間隔均勻(平分剩余空間)。
  • space-evenly:項目之間的間隔均勻。
.container {justify-content: center;
}

flex-wrap:控制項目是否在主軸上溢出時換行。

  • nowrap(默認值):不換行(此時若是容納不下,則會縮小子盒子的寬度)。
  • wrap:換行。
  • wrap-reverse:反向換行。
.container {flex-wrap: wrap;
}

align-items:定義項目在側軸上的對齊方式,在子項為單項(單行)的時候使用。

  • stretch(默認值):如果項目未設置高度或設置為auto,則拉伸項目以填充容器。
  • flex-start:對齊到側軸的起點。
  • flex-end:對齊到側軸的終點。
  • center:居中對齊。
  • baseline:項目的第一行文字基線對齊。
.container {align-items: center;
}

align-content:設置側軸上的子元素的排列方式(多行)。如果只有一根軸線,此屬性不起作用。(在有換行的時候使用)

  • stretch(默認值):軸線填充側軸。
  • flex-start:對齊到從側軸的起點。
  • flex-end:對齊到側軸的終點。
  • center:居中對齊。
  • space-between:子項在側軸先分布在兩頭,再平分剩余空間。
  • space-around:子項在側軸平分剩余空間。
  • space-evenly:軸線之間的間隔均勻。
.container {align-content: space-between;
}

flex-flow:是flex-directionflex-wrap的簡寫。

.container {flex-flow: row wrap;
}

2.子項常見屬性

flex:是flex-growflex-shrinkflex-basis的簡寫。

  • flex-grow: 1:表示該項目可以占據父容器中剩余的空間。如果有多個項目的 flex-grow 值都設置為 1,這些項目將平分剩余的空間。例如,如果一個容器中有兩個項目,它們的 flex-grow 都為 1,那么它們將平分多余的空間。
  • flex-shrink: 1:表示當父容器的空間不足時,該項目可以縮小。如果所有項目的 flex-shrink 值都為 1,這些項目將等比例地縮小以適應父容器的空間。
  • flex-basis: 0%:表示項目的初始大小為 0。這意味著項目的大小完全由 flex-grow 屬性決定,并且沒有初始空間分配。
.item {flex: 1 1 100px;
}

align-self:允許單個項目在側軸上有不同的對齊方式,覆蓋align-items屬性。默認值為 auto,表示繼承父元素的 align-items 屬性,如果沒有父元素,則等同于 stretch。

  • auto(默認):繼承父容器的align-items值。
  • flex-start:項目在交叉軸的起點對齊。
  • flex-end:項目在交叉軸的終點對齊。
  • center:項目在交叉軸的中心對齊。
  • baseline:項目的文本基線對齊。
  • stretch:如果項目未設置高度或高度為auto,則項目拉伸以填充容器。
.item {align-self: flex-end;
}

order:定義項目的排列順序。默認值為0,值越小越靠前。

.item {order: 1;
}

4.rem布局

1.rem單位

REM單位是相對于根元素(通常是 <html> 元素)的字體大小來計算的。如果根元素的字體大小為16px,那么1rem就等于16px。如果根元素的字體大小為20px,那么1rem就等于20px。

/* 根html 為 12px */
html {font-size: 12px;
}
/* 此時 div 的字體大小就是 24px */ 
div {font-size: 2rem;
}

2.媒體查詢

媒體查詢(Media Queries)是CSS3中引入的一種強大的技術,它允許根據設備特性(如屏幕寬度、設備類型、屏幕分辨率等)來應用不同的CSS樣式。這使得網站能夠在不同設備上提供適當的布局和樣式,從而實現響應式設計。

基本語法
@media mediatype and (media feature) {/* CSS rules */
}
  • mediatype:媒體類型,如screen(屏幕)、print(打印機)、all 等。
  • 關鍵字: and not only
  • media feature:媒體特性,如widthmin-widthmax-width等。
  • CSS rules:根據媒體查詢條件應用的CSS規則。

關鍵字將媒體類型或多個媒體特性連接到一起做為媒體查詢的條件。

and:可以將多個媒體特性連接到一起,相當于“且”的意思。

not:排除某個媒體類型,相當于“非”的意思,可以省略。

only:指定某個特定的媒體類型,可以省略。

常用的媒體特性
  1. widthheight:設備寬度和高度。
  2. min-widthmin-height:最小設備寬度和高度。
  3. max-widthmax-height:最大設備寬度和高度。
  4. orientation:設備方向,如portrait(縱向)和landscape(橫向)。
  5. aspect-ratio:設備寬高比。
  6. device-aspect-ratio:設備的物理寬高比。
  7. resolution:設備分辨率。
引入資源

可以在引入css文件的時候加上媒體查詢,表示在該條件下引用這個css文件

語法規范:

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

示例:

<link rel="stylesheet" href="styleA.css" media="screen and (min-width: 400px)">

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

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

相關文章

《大道平淵》· 玖 —— 把高深的道理講的通俗,這是一門藝術。

《平淵》 玖 "化繁為簡, 點石成金。" 把高深的道理講得通俗&#xff0c;這是一門藝術&#xff01; 講述者能夠站在群眾的角度&#xff0c;用盡可能簡單通俗的語言來解釋復雜的概念。 講述者需要對概念有深刻的理解&#xff0c;還要有靈活的表達能力。 群眾愿意接受…

從當當網批量獲取圖書信息

爬取當當網圖書數據并保存到本地&#xff0c;使用request、lxml的etree模塊、pandas保存數據為excel到本地。 爬取網頁的url為&#xff1a; http://search.dangdang.com/?key{}&actinput&page_index{} 其中key為搜索關鍵字&#xff0c;page_index為頁碼。 爬取的數據…

15- Redis 中的 整數集合 數據結構

整數集合是 Set 對象的底層實現之一。當一個 Set 對象只包含整數值元素&#xff0c;并且元素數量不大時&#xff0c;就會使用整數集合這個數據結構作為底層實現。 1. 整數集合結構設計 整數集合本質上是一塊連續內存空間&#xff0c;它的結構定義如下&#xff1a; typedef s…

Chrome DevTools 使用攻略

Chrome DevTools是谷歌瀏覽器提供的一套強大的開發工具&#xff0c;對于前端開發人員來說是不可或缺的利器。下面將從多個方面介紹Chrome DevTools的使用攻略&#xff1a; 一、啟動方式 通過快捷鍵&#xff1a; 在Windows/Linux上&#xff0c;按下 F12、Ctrl Shift I 或 C…

集成學習筆記

集成學習 簡介 決策樹 GBDT 擬合殘差 一般 GBDT XGBOOST 弓 1 能表達樣本落入的子節點&#xff0c;但是不能把表示結構 2 3.正則項 – 懲罰 防止過擬合&#xff0c;比如一個值總共有10顆樹都是由同一顆樹決定的&#xff0c;過擬合 5 找到一種方式不依賴于損失函數 …

Android開發之內訪Sqlite數據庫(六)

文章目錄 1. Android開發之外訪Sqlite數據庫1.1 Sqlite數據庫的優點1.2 Sqlite接口簡介接口中的抽象方法接口中的實例方法接口的構造方法示例步驟例子 —— 實現增刪改查 1. Android開發之外訪Sqlite數據庫 SQLite是一個軟件庫&#xff0c;實現了自給自足的、無服務器的、零配…

python的優勢有哪些?

python的優點很多&#xff0c;下面簡單地列舉一些&#xff1a; 簡單 Python的語法非常優雅&#xff0c;甚至沒有像其他語言的大括號&#xff0c;分號等特殊符號&#xff0c;代表了一種極簡主義的設計思想。閱讀Python程序像是在讀英語。 易學 Python入手非常快&#xff0c;學習…

K8s:無狀態

無狀態服務 無狀態服務是指服務的實例之間沒有持久化狀態&#xff0c;每個實例都是相同的&#xff0c;可以互換使用。 調度器 ReplicationController 簡稱 RC是 Kubernetes 早期版本中用來確保 Pod 副本始終運行的 API 對象。它通過監控 Pod 副本的數量&#xff0c;確保任何…

vue 常用的 UI 框架及表格

vue 3 常用的 UI 框架及表格 常用 UI 框架 Element PlusAnt Design VueiViewVxe UIVuetifyBootstrap VueMuse UI 專業表格 SpreadJSAG GridVxe Table

Linux——內存管理代碼分析

虛空間管理 頁框和頁的關系 頁框 將內存空間分為一個個大小相等的分區(比如:每個分區4KB),每個分區就是一個頁框&#xff0c;也叫頁幀&#xff0c;即物理頁面&#xff0c;是linux劃分內存空間的結果。 每個頁框都有一個頁框號&#xff0c;即內存塊號、物理塊號。 頁 將用戶…

深度學習之指數移動平均模型(EMA)介紹

指數移動平均模型&#xff08;Exponential Moving Average Model&#xff0c;EMA&#xff09;是一種用于平滑時間序列數據的技術。它通過對數據進行加權平均來減少噪音和波動&#xff0c;從而提取出數據的趨勢。 在深度學習中&#xff0c;EMA 常常用于模型的參數更新和優化過程…

完整指南:遠程管理 Linux 服務器的 Xshell6 和 Xftp6 使用方法(Xshell無法啟動:要繼續使用此程序........,的解決方法)

&#x1f600;前言 在當今軟件開發領域&#xff0c;遠程管理 Linux 服務器已成為日常工作的重要組成部分。隨著團隊成員分布在不同的地理位置&#xff0c;遠程登錄工具的使用變得至關重要&#xff0c;它們為開發人員提供了訪問和管理服務器的便捷方式。本文將介紹兩款功能強大的…

python隨機顯示四級詞匯 修改版直接顯示釋義

python隨機顯示四級詞匯 修改版直接顯示釋義 添加暫停 和繼續(按下中建滾輪觸發) 按下右鍵 退出程序 解決在暫停后 ,重新調用update_word 會明顯發現每隔5秒更新一次單詞的速率已經改變 速率改變的問題可能是由于暫停期間沒有清除之前的定時器所導致的。為了確保重新調用updat…

Linux高級進階-ssh配置

Ubuntu-system 允許使用root遠程登陸 apt install ssh -y在/etc/ssh/sshd_config 文件修改PermitRootLogin yes systemctl restart ssh遠程連接軟件用戶名為root

Ubuntu系統中Apache Web服務器的配置與實戰

?? 歡迎大家來訪Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭?&#xff5e;?? &#x1f31f;&#x1f31f; 歡迎各位親愛的讀者&#xff0c;感謝你們抽出寶貴的時間來閱讀我的文章。 我是Srlua小謝&#xff0c;在這里我會分享我的知識和經驗。&am…

Educational Codeforces Round 166(Div.2) A~D

A.Verify Password&#xff08;字符串&#xff09; 題意&#xff1a; Monocarp正在開發他的新網站&#xff0c;目前面臨的挑戰是如何讓用戶選擇強密碼。 Monocarp認為&#xff0c;強密碼應滿足以下條件&#xff1a; 密碼只能由小寫拉丁字母和數字組成&#xff1b;字母后面不…

PasteCode系列系統說明

定義 PasteCode系列是指項目是基于PasteTemplate構建的五層以上項目&#xff0c;包括不僅限于 Domain EntityFrameworkCore Application.Contracts Application HttpApi.Host 熟悉ABP vNext就很好理解了&#xff0c;因為PasteTemplate就是基于ABP的框架精簡而來&#xff01;在…

一些Mysql面試題

InnoDB是如何存儲數據的&#xff1f; InnoDB 的數據是按「數據頁」為單位來讀寫的&#xff0c;默認數據頁大小為 16 KB。每個數據頁之間通過雙向鏈表的形式組織起來&#xff0c;物理上不連續&#xff0c;但是邏輯上連續。 數據頁內包含用戶記錄&#xff0c;每個記錄之間用單向…

【java 如何將字符串反轉?】

文章目錄 概要示例&#xff08;1&#xff09;使用StringBuilder的reverse方法&#xff08;2&#xff09;使用charAt和循環&#xff08;3&#xff09;使用雙指針&#xff08;4&#xff09;使用遞歸 總結 概要 在Java中&#xff0c;有多種方法可以將字符串反轉&#xff0c;我這里…

代碼隨想錄訓練營第二天 977有序數組的平方 209長度最小的子數組 59螺旋矩陣II

第一題&#xff1a; 題目鏈接&#xff1a;977. 有序數組的平方 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 先將數組求完平方和后進行排序&#xff0c;很簡單&#xff0c;主要是排序算法的考察。 這里采用快排 快排的思路&#xff1a; 取這個數組的中間值…