移動開發與響應式
阿新 • • 發佈:2017-08-13
lac 方向 取消 底部工具欄 ont maximum 中文字體 lin 點擊 一、移動開發常用技巧
(一)viewport基本知識
設置布局viewport的各種信息: 1、width=device-width:設置viewport視口寬度等於設備寬度 2、initial-scale=1:網頁默認縮放比為1(網頁在手持設備上,不會進行默認縮放) 3、minimum-scale=1網頁最小縮放比為1 4、maximum-scale=1網頁最大縮放比為1 5、user-scalable=no 禁止用戶手動縮放網頁(IOS10+ 的設備失效) 在手機站以及響應式網站的制作中,網頁必須添加下述viewport的設置語句
1、一般手機端不支持微軟雅黑字體。 2、中文字體一般不設置,使用系統默認即可。 3、英文字體一般設置為font-family: helvetica; (五)設置用戶不能選中文本
1、手機端不能長按選擇 2、pc端不能鼠標選擇
1、直接在css中使用:
1、了解兩個基本概念:
容器:需要添加彈性布局的父元素; 項目:彈性布局容器中的每一個子元素,稱為項目 2、彈性布局的使用
① 給父容器添加display: flex/inline-flex;屬性,即可使容器內容采用彈性布局顯示,而 不遵循常規文檔流的顯示方式; ② 容器添加彈性布局後,僅僅是容器內容采用彈性布局,而容器自身在文檔流中的定位 方式依然遵循常規文檔流; ③ display: flex; 容器添加彈性布局後,顯示為塊級元素; display: inline-flex; 容器添加彈性布局後,顯示為行級元素; ④ 設為 Flex 布局以後,子元素的float、clear和vertical-align屬性將失效,但是position 屬性,依然生效 3、作用於容器的相關屬性
① flex-direction:決定主軸的方向(即項目的排列方向)。 row(默認值):主軸為水平方向,起點在左端; row-reverse:主軸為水平方向,起點在右端 column:主軸為垂直方向,起點在上沿。 column-reverse:主軸為垂直方向,起點在下沿
② flex-wrap:定義,如果一條軸線排不下,如何換行。
nowrap(默認):不換行。當容器寬度不夠時,每個項目會被擠壓寬度
wrap:換行,並且第一行在容器最上方。
wrap-reverse:換行,並且第一行在容器最下方。
③ flex-flow: 是flex-direction屬性和flex-wrap屬性的簡寫形式,
默認值為flex-flow: row nowrap;
④ justify-content:定義了項目在主軸上的對齊方式
>>>此屬性與主軸方向息息相關。主軸方向為:row-起點在左邊,row-reverse-起點
在右邊, column-起點在上邊,column-reverse-起點在下邊
flex-start(默認值):項目位於主軸起點
flex-end:項目位於主軸中點
center: 居中
space-between:兩端對齊,項目之間的間隔都相等。(開頭和最後的項目,與父
容器的邊緣沒有間隔)
space-around:每個項目兩側的間隔相等。所以,項目之間的間隔比項目與邊框的
間隔大一倍。(開頭和最後的項目,與父容器的邊緣有一定間隔)
⑤ align-items: 定義項目在交叉軸上如何對齊。
flex-start:交叉軸的起點對齊。
flex-end:交叉軸的終點對齊。
center:交叉軸的中點對齊。
baseline: 項目的第一行文字的基線對齊。(文字行高、字體大小會影響每行基線)
stretch(默認值):如果項目未設置高度或設為auto,將占滿整個容器的高度。
⑥ align-content:定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性起
作用。(當項目換為多行時,可使用align-content取代align-items)
flex-start:與交叉軸的起點對齊。
flex-end:與交叉軸的終點對齊。
center:與交叉軸的中點對齊。
space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。
space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框
的間隔大一倍。
stretch(默認值):軸線占滿整個交叉軸。
4、作用於項目上的屬性:
① order:定義項目的排列順序。數值越小,排列越靠前,默認為0。
② flex-grow:定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。
③ flex-shrink:定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。
④ flex-basis:定義項目占據的主軸空間。(如果主軸為水平,則設置這個屬性,相當
於設置項目的寬度,原width將會失效)
⑤ flex:是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值0 1 auto。後兩個屬性可選
此屬性有兩個快捷設置:auto=(1 1 auto)/none=(0 0 auto)
⑥ align-self:定義單個項目自身在交叉軸上的排列方式,可以覆蓋掉容器上的
align-items屬性。
屬性值:與align-items相同,默認值auto,表示繼承父元素的align-items屬性
(一)viewport基本知識
設置布局viewport的各種信息: 1、width=device-width:設置viewport視口寬度等於設備寬度 2、initial-scale=1:網頁默認縮放比為1(網頁在手持設備上,不會進行默認縮放) 3、minimum-scale=1網頁最小縮放比為1 4、maximum-scale=1網頁最大縮放比為1 5、user-scalable=no 禁止用戶手動縮放網頁(IOS10+ 的設備失效) 在手機站以及響應式網站的制作中,網頁必須添加下述viewport的設置語句
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1, maximum-scale=1,user-scalable=no" />
(二)禁止設備將手機號、郵箱進行識別,取消點擊撥打電話等事件
<meta name="format-detection" content="telephone:no,email:no"/>
(三)webAPP
1、IOS 添加到主屏幕時,webAPP的標題
<meta name="apple-mobile-web-app-title" content="標題">
2、IOS 添加到主屏幕時,啟用webAPP的全屏模式,刪除頂端地址欄和底部工具欄
<meta name="apple-mobile-web-app-capable" content="yes" />
3、IOS 添加到主屏幕時,webAPP的頂部狀態欄顏色: black:黑色 white:白色 black-translucent:半透明。(當設置為半透明時,網頁將充滿整個屏幕,頂部透明的狀 態欄將蓋住網頁最上方一小條)
<meta name="apple-mobile-web-app-status-bar-style" content="black">
4、IOS 添加到主屏幕時,webAPP的圖標
<link rel="apple-touch-icon-precomposed" href=""/>
5、設置瀏覽器使用最新的IE或Chrome去編譯 >>>這句設置語句,不是手機端專用,一般pc網頁均需要設置
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
(四)手機端字體樣式
1、一般手機端不支持微軟雅黑字體。 2、中文字體一般不設置,使用系統默認即可。 3、英文字體一般設置為font-family: helvetica; (五)設置用戶不能選中文本
1、手機端不能長按選擇 2、pc端不能鼠標選擇
-webkit-user-select: none; -moz-user-select: none;
禁止超鏈接和圖片長安時彈出菜單
-webkit-appearance: none;
(六)去除表單的默認外觀
手機、pc均可使用
appearance: none; -webkit-appearance: none; -moz-appearance: none;
(七)設置placeholder的屬性
input::-webkit-input-placeholder { color: #999; } input:-ms-input-placeholder { // IE10+ color: #999; } input:-moz-placeholder { // Firefox4-18 color: #999; } input::-moz-placeholder { // Firefox19+ color: #999; }
手機端發短信 <a href="sms://10086">發短信</a> 手機端打電話 <a href="tel://10086">發短信</a> 二、使用媒體查詢的三種方式
1、直接在css中使用:
@media 類型(常選all/screen)and (條件1)and(條件2){
css選擇器{
css屬性:屬性值;
}
}
2、使用link鏈接css,media屬性可以設置媒體查詢方式
<link rel="stylesheet" href="css/02-響應式布局.css" media="all and (max-width:800px)"/>
3、使用import導入,直接在url()後面使用空格,間隔媒體查詢規則:
@import url("css/02-響應式布局.css") all and (max-width:800px);
三、強大的Flex 彈性布局
1、了解兩個基本概念:
容器:需要添加彈性布局的父元素; 項目:彈性布局容器中的每一個子元素,稱為項目 2、彈性布局的使用
① 給父容器添加display: flex/inline-flex;屬性,即可使容器內容采用彈性布局顯示,而 不遵循常規文檔流的顯示方式; ② 容器添加彈性布局後,僅僅是容器內容采用彈性布局,而容器自身在文檔流中的定位 方式依然遵循常規文檔流; ③ display: flex; 容器添加彈性布局後,顯示為塊級元素; display: inline-flex; 容器添加彈性布局後,顯示為行級元素; ④ 設為 Flex 布局以後,子元素的float、clear和vertical-align屬性將失效,但是position 屬性,依然生效 3、作用於容器的相關屬性
① flex-direction:決定主軸的方向(即項目的排列方向)。 row(默認值):主軸為水平方向,起點在左端; row-reverse:主軸為水平方向,起點在右端 column:主軸為垂直方向,起點在上沿。 column-reverse:主軸為垂直方向,起點在下沿
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813211414585-1949197353.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813211535663-175243558.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813211615210-72920717.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813211926929-1046086072.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212021695-1986697498.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212039163-699468094.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212229788-1242579312.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212343648-1136452124.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212459304-465320466.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212624913-728115947.png)
![技術分享](http://images2017.cnblogs.com/blog/1176550/201708/1176550-20170813212643585-1691831674.png)
移動開發與響應式