1. 程式人生 > 其它 >Day29---學習Java第三彈

Day29---學習Java第三彈

1、視口( viewport)就是瀏覽器顯示頁面內容的螢幕區域。視口可以分為佈局視口(原始佈局)、視覺視口(能看到的部分)和理想視口(原始佈局貼合能看到的部分)

手動新增meta視口通知bom

meta視口標籤的主要目的∶佈局視口的寬度應該與理想視口的寬度一致,簡單理解就是裝置有多寬,我們佈局的視口就多寬

2、PC頁面一個畫素1px等於一個物理畫素,移動端就不同(retina螢幕,物理畫素比,如iphone8內畫素比為1開發畫素:2物理畫素)(以前製作的移動端故障上傳單,在設計簽名板時有碰到過)

在導圖時,要使用倍圖的方式解決圖片放大的問題(畫素比為1:2,圖片需要50px*50px顯示,則準備一個100px*100px圖片,手動縮小

為50px*50px)

3、背景圖片大小:background-size / cover拉伸圖片至覆蓋整個盒子 / contain圖片保持原來比例自適應盒子邊緣

4、移動端開發選擇:

單獨製作移動端頁面(pc為www.jd.com 移動端為m.jd.com)根據裝置判斷:流式佈局(百分比佈局)、flex彈性佈局、less+rem+媒體查詢佈局、混合佈局

響應式相容pc與移動端,根據螢幕尺寸來改變內容:媒體查詢、bootstrap

5、聖盃佈局:移動端搜尋欄若左右各有控制元件且空間不縮放,可以考慮空間用定位,搜尋欄盒子左右加margin且不給寬度,使其和父系一樣寬,在縮放的時候可以自適應大小

6、flex佈局:彈性佈局

當我們為父盒子設為flex佈局以後,子元素的float、clear和vertical-align屬性將失效。

伸縮佈局=彈性佈局=伸縮盒佈局=彈性盒佈局=flex佈局

預設主軸x水平向右

預設側軸y垂直向下

給父系新增的常用屬性:

flex-direction: 設定主軸方向 :row-reverse從右到左/column-reverse從下到上

justify-content: 主軸上子元素排列方式 space-between兩邊貼邊,剩餘分配

flex-wrap: 設定子元素是否換行 wrap/nowrap

align-content:設定側軸上子元素排列方式(多行,單行無效果)

align-items:設定側軸上子元素排列方式(單行)

flex-flow:複合屬性,相當於同時設定了flex-direction和flex-wrap

給子元素新增的屬性:

flex : 加數字,子項weight,類似安卓的weight

align-self: 某一子項側軸單獨控制位置

order:軸的前後位置,和z-index有區別

7、rem佈局

rem (root em)是一個相對單位,類似於em , em是父元素字型大小。不同的是rem的基準是相對於html元素的字型大小

比如,根元素( html)設定font-size=12px;非根元素設定width:2rem;則換成px表示就是24px.

所以rem的原理就是根據html中根元素文字大小來改變子元素大小,優勢是隻需要修改一個根大小(媒體查詢),即可改變整體大小

媒體查詢(Media Query)是CSS3新語法。

使用@media查詢,可以針對不同的媒體型別定義不同的樣式

@media可以針對不同的螢幕尺寸設定不同的樣式

/*媒體特性:在螢幕/印表機/所有 和/非/指定 寬...下的樣式為{}*/
@media screen/print/all and/not/only (width/max-width/min-width:800){

}

當你重置瀏覽器大小的過程中,頁面也會根據瀏覽器的寬度和高度重新渲染頁面

媒體樣式層疊性優勢:

還可引用資源,針對不同螢幕大小呼叫不同css樣式

<link rel="stylesheet" href="1.css" media="screen and (max-width: 640px)">

less:

Less ( Leaner Style Sheets 的縮寫)是一門CSS擴充套件語言,也成為CSS前處理器。

做為CSS的一種形式的擴充套件,它並沒有減少CSS的功能,而是在現有的CSS語法上,為CSS加入程式式語言的特性。

它在CSS的語法基礎之上,引入了變數,Mixin(混入),運算以及函式等功能,大大簡化了CSS的編寫,並且降低了CSS的維護成本,就像它的名稱所說的那樣,Less可以讓我們用更少的程式碼做更多的事情。

less本質還是css,只是封裝好的運算子,html引用的時候引用的還是less編譯後的css檔案

偽類:如 a:hover == a{&:hover}

加減乘除注意事項:

乘號 ( * ) 和除號 ( / ) 的寫法

運算子中間左右有個空格隔開1px + 5

對於兩個不同的單位的值之間的運算,運算結果的值取第一個值的單位

如果兩個值之間只有一個值有單位,則運算結果就取該單位

rem適配方案:

rem+less+媒體查詢

flexible.js+rem