h5css3

css樣式

1.圓角

border-radius
border-top-left-radius
兩個角一起寫需要上下在前秒咐,左右在后

2.漸變

線性漸變
background:linear-gradient(red,green);從上到下
background:linear-gradient(to left,red,green)從左到右
徑向漸變
 background:radial-gradient(yellow,purple);

3.盒子陰影

box-shadow: apx bpx cpx dpx yellow;
a 控制水平位置 正值偏左   0 兩邊均等
b 控制水平位置 正值靠下   0 上下均等
c 模糊程度
d 陰影范圍

4.過渡

transition:all 1s; all所有  1s 時間
transition-delay: 1s;      1s 延遲

5.2d 3d 轉換

transfrom
- translate 位移 translateX translateY
    transform: trans000late(200px,200px);
- rotate  旋轉  rotateX rotateY
    transform: rotate(200deg,200deg); deg度數
- scale 縮放  scaleX scaleY
    transform: scale(2,2);   x,y
- skew 傾斜  skewX  skewY
    transform:skew(30deg,30deg);
- maxtrix  矩陣 (兼容不好) 組合起來

- 組合
    transfrom:translate(200px,200px) rotate(200deg,200deg) scale(2,2) skew(30deg,30deg);
! 多個顯示只有最后一個實現谬晕,想要多個實現,組合成一個

6.動畫

@keyframes  規(guī)定動畫携取。   3
animation   所有動畫屬性的簡寫屬性攒钳,除了 animation-play-state 屬性。 3

animation-name  規(guī)定 @keyframes 動畫的名稱雷滋。    3
animation-duration  規(guī)定動畫完成一個周期所花費的秒或毫秒不撑。 3 事件
animation-timing-function   規(guī)定動畫的速度曲線。  3 ease  ease-in進入慢  ease-out出去慢  ease-in-out 進入出去慢
animation-delay 規(guī)定動畫何時開始晤斩。   3  延遲
animation-iteration-count   規(guī)定動畫被播放的次數焕檬。 3  infinite循環(huán)播放
animation-direction 規(guī)定動畫是否在下一周期逆向地播放。   3 alternate 交替  alternate-reverse反向交替      normal正序
animation-play-state    規(guī)定動畫是否正在運行或暫停澳泵。  3 running 運行   paused 暫停
animation-fill-mode 規(guī)定對象動畫時間之外的狀態(tài)实愚。(動畫保持) backwards 默認回到第一幀 forwards 動畫結束保持最后一幀

/* 透視距離,物體越遠顯示越小 */
            M酶ā@扒谩!/* perspective: 800px; */
            /* 透視基點     水平维苔,垂直*/
            /* perspective-origin: 186px 112px; */
 animation-fill-mode: forwards;
        /* backwards 默認回到第一幀 */
        /* 動畫結束保持最后一幀 */
transform-origin: left; 基點
 animation-delay: 1s;延遲加載

7.彈性盒子

父類設置

display:flex/inline-flex
flex:彈性布局
inline-flex 內聯塊級彈性布局
控制主軸方向
flex-direction:row/column/row-reverse/column-reverse 豎列反向

控制換行
flex-wrap:
nowrap 不換行
wrap 換行
wrap-reverse

可用替換成 (控制主軸方向碰辅,控制換行)
flex-flow:row wrap;

控制主軸排序方式(對齊)
jistify-content
flex-start 左對齊(靠上)
flex-end 右對齊 (靠下)
center 居中
space-between 兩端靠邊中間平分(項目之間間隔相等)
space-around 兩側間隔相等,(項目邊距與邊框間隔大一倍)

控制軸線之間的距離
algin-content
flex-start 左對齊(靠上)
flex-end 右對齊 (靠下)
center 居中
space-between 兩端靠邊中間平分(項目之間間隔相等)
space-around 兩側間隔相等介时,(項目邊距與邊框間隔大一倍)
stretch 拉伸至父級
align-items
flex-start 上對齊
flex-end 下對齊
center 中對齊
stretch 不設高度或為 auto 是充滿整屏
baseline 根據基線 和 flex-start 基本一致

子類設置

flex 設置寬度比例
flex:1/2/3/4
order排序
1234
可以設置order:-1;提到前面

用彈性盒子不生效的屬性
float:浮動
清除浮動
vertical-align

@media 媒體查詢

響應式布局
同一個網頁用于多個設備没宾,手機凌彬,ipad,pc

<meta name="viewport" content="width=device-width, initial-scale=1.0">

移動端head設置
<meta name="viewport" content="width=device-width循衰,initial-scale=1.0,maximun-scale=1,minimun-scale=1,user-scalable=no" />
width=device-width 移動端自適應
initial-scale=1.0,不縮放
user-scalable=no yes,no是否可以縮放
@media only screen and (min-width:960px) and (max-width:1200px){}

偽類

偽類 :
偽元素 ::

h5 移動端

1.語義化更好的內容標簽

header 頭部信息
footer 底部信息
nav 導航
section 段铲敛,節(jié),區(qū)域

2.帶功能

progress 進度條

  • 屬性 max value
/* 改變進度條樣式 */
progress {
  width: 168px;
  height: 5px;
  color: #f00;
  background: #efeff4;
  border-radius: 0.1rem;
}
progress::-webkit-progress-bar {
  background-color: burlywood;
  border-radius: 0.2rem;
}
/* 表示已完成進度背景色 */
progress::-webkit-progress-value {
  background: red;
  border-radius: 0.2rem;
}

dialog 對話框

  • 默認樣式 diaplay:none;

details 帶詳細信息標題 默認隱藏,只顯示里面 summary 標簽 open='open' 打開

  • 里標簽 summary 標題標簽

bdi 可拖拽 默認無作用

  • 屬性 draggable='true' 可拖拽

figure 放圖片羹蚣,圖表原探,代碼等

  • 里標簽 figcaption 圖表的標題 可以放圖表的上或下

article 文章/博客標簽

section 電池電量控制

  • 里標簽 meter 屬性 max value low 警告 high 也是警告

aside 側邊欄

canvas 畫布容器 屬性 width height ????

embed 屬性 src

3.input 新增屬性 type 類型

color 拾色器
date
datetime
datetime-local
email
month
number
range
search
tel maxlength
url 統(tǒng)一資源定位符 協議名乱凿、域名顽素,文件夾,文件名
week
time

4.視頻和音頻

video

  • 屬性
    src 引入地址
    controls='controls' 控制器
    autoplay='autoplay' 自動播放
    loop='loop'循環(huán)播放
    muted='muted' 靜音播放
    preload 刷新網頁是否加載 'metadata'加載 'none'不加載
    poster='地址' 封面

audio

  • 屬性
    src 引入地址
    controls='controls'
    autoplay='autoplay' 自動播放
    loop='loop'循環(huán)播放
    muted='muted' 靜音播放
    preload 刷新網頁是否加載 'metadata'加載 'none'不加載

rem

px 像素是兼容所有瀏覽器徒蟆,是一個固定值
em 是根據父級縮放字體比例胁出,每次都需要設置父級的寬度
rem 是根據根元素 html 的縮放比例,ie6-ie8 不兼容熱門段审,所以為了兼容性 rem px 都會寫全蝶,移動端用 rem 比較方便網頁默認字體 16px,html 100%
100%=16px 1px=6.25$, 10px=62.5%
1rem=10px 12px=1.2rem

注意:谷歌瀏覽器有默認最小值 12px,當到達最小值就不會再小了

移動端問題

移動端文件命名標準;

  • css
    common.css 公共的
    base.css 基礎的
    文件.css

標準盒模型和怪異盒模型如何設置?
標準盒模型


image

box-sizeing:content-box
在標準模式下寺枉,一個塊的總寬度= width + margin(左右) + padding(左右) + border(左右)
怪異盒模型


image

box-sizing:border-box;
一個塊的總寬度= width + margin(左右)(即 width 已經包含了 padding 和 border 值)

移動端 a 標簽點擊有背景如何去除抑淫? 1.取消 a 標簽在移動端點擊時的藍色
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-webkit-user-select: none;
-moz-user-focus: none;
-moz-user-select: none; 2.使用圖片作為 a 標簽的點擊按鈕時,當觸發(fā) touchstart 的時候姥闪,往往會有一個灰色的背景
a,a:hover,a:active,a:visited,a:link,a:focus{
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
outline:none;
background: none;
text-decoration: none;
}
input 框點擊時邊框顏色統(tǒng)一始苇,如何實現?
input{outline:none}
input:focus { outline: none; }

自己添加的樣式 公共樣式
eg:
l_left{
float:left;
}
l-right{
float:right;
}
清除浮動

學海石崖

背景圖
background:url() no-repeat;
background-position:5px 5px;
background-size:;

input{
outline:none;
}
input:focus{
outline:none;
border:1px solid #666;
}

base.css\

/_ 禁用 iPhone 中 Safari 的字號自動調整 /
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
/
解決 IOS 默認滑動很卡的情況 _/
-webkit-overflow-scrolling : touch;
height: 100%;
width: 100%;
}

/_ 禁止縮放表單 _/
input[type="submit"], input[type="reset"], input[type="button"], input {
resize: none;
border: none;
}

/_ 取消鏈接高亮 _/
body, div, ul, li, ol, h1, h2, h3, h4, h5, h6, input, textarea, select, p, dl, dt, dd, a, img, button, form, table, th, tr, td, tbody, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

注意

1.0 img{
vertical-align:baseline; baseline 按基線 bottom 下
}
2.0 img{
display:block;
}
3.0 父級{
font-size:0;
}

清除浮動
img

.clearfix:before,.clearfix:after{
clear:both;
}

left:calc(50% -29)

設置省略號

兼容
xxx {
  width: xx;
  height: xx;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;

  display: -webkit-box;
}
不要兼容
xxx {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

pc 移動端

鼠標事件

mousedown:鼠標按鈕被按下(左鍵或者右鍵)時觸發(fā)筐喳。不能通過鍵盤觸發(fā)催式。
mouseup:鼠標按鈕被釋放彈起時觸發(fā)。不能通過鍵盤觸發(fā)避归。
click:單擊鼠標左鍵或者按下回車鍵時觸發(fā)荣月。這點對確保易訪問性很重要,意味著 onclick 事件處理程序既可以通過鍵盤也可以通過鼠標執(zhí)行梳毙。
dblclick:雙擊鼠標左鍵時觸發(fā)哺窄。
mouseover:鼠標移入目標元素上方。鼠標移到其后代元素上時會觸發(fā)账锹。
mouseout:鼠標移出目標元素上方萌业。
mouseenter:鼠標移入元素范圍內觸發(fā),該事件不冒泡牌废,即鼠標移到其后代元素上時不會觸發(fā)咽白。
mouseleave:鼠標移出元素范圍時觸發(fā),該事件不冒泡鸟缕,即鼠標移到其后代元素時不會觸發(fā)晶框。
mousemove:鼠標在元素內部移到時不斷觸發(fā)排抬。不能通過鍵盤觸發(fā)。

pc 端網頁事件

click 當鼠標點擊時觸發(fā)
mouseover 當鼠標指針移動到元素上時觸發(fā)
mouseout 當鼠標指針移出元素時觸發(fā)
mouseenter 當鼠標指針移動到元素上時觸發(fā)(不支持冒泡)
mouseleave 當鼠標指針移出元素上時觸發(fā)(不支持冒泡)
mousemove 當鼠標指針移動到元素上時觸發(fā)
mousedown 當元素上按下鼠標按鈕時觸發(fā)
mouseup 當在元素上釋放鼠標按鈕時觸發(fā)
mousewheel 當鼠標滾輪正在被滾動時運行的腳本
keydown 在用戶按下按鍵時觸發(fā)
keyup 當用戶釋放按鍵時觸發(fā)
load 頁面結束加載之后觸發(fā)
scroll 當元素滾動條被滾動時運行的腳本
blur 元素失去焦點時運行的腳本
focus 當元素獲得焦點時運行的腳本
change 在元素值被改變時運行的腳本

移動端事件

<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,user-scalable=no">
<meta http-equiv="X-UA-Compatible"
    content="ie=edge">

click 當點擊時觸發(fā)(單擊)
load 頁面結束加載之后觸發(fā)
scroll 當元素滾動條被滾動時運行的腳本
blur 元素失去焦點時運行的腳本
focus 當元素獲得焦點時運行的腳本
change 在元素值被改變時運行的腳本
input 代替 keyup授段、keydown
touch 事件模型 處理單手指操作
? 最基本的 touch 事件包括 4 個事件: - touchstart
當在屏幕上按下手指時觸發(fā) - touchmove
當在屏幕上移動手指時觸發(fā) 調用 preventDefault()可以阻止?jié)L動 - touchend
當在屏幕上抬起手指時觸發(fā) - touchcancel
當系統(tǒng)停止跟蹤觸摸時觸發(fā)(電話進來結束)\

  • touchenter
    移動手指進入一個 dom 元素 - touchleave
    移動手指離開一個 dom 元素

  • 移動端事件列表

    • touches
      當前操作的 touches 數組
    • 蹲蒲!targetTouches(觸摸點)
      特定于事件目標的 touch 對象的數組
    • changedTouches(手指個數)
      上次觸摸改變的 touches 數組
    //判斷是否是一個手指
    if (e.targetTouches.length > 1) {
      return;
    }
    
d1.addEventListener("touchstart", function(e) {
  console.log(e.targetTouches[0]);
});
d1.addEventListener("touchmove", function(e) {
  console.log(e.targetTouches[0]);
});
d1.addEventListener("touchend", function(e) {
  console.log(e.changedTouches[0]);
});

屬性 identifier:
表示每一個 touch 對象的獨一無二的 identifier,可以保證跟蹤到 touches 數組

移動端
offsetX
相對于屏幕左邊緣的距離
pageX
觸摸點相對于 docuemnt 左側邊緣的距離侵贵,與 clientX 不同的是届搁,當有滾動條是 page 包括滾動條距離,client 不包括
clientX
觸摸點相對于視口(窗口)的距離

outcomplate ='off'取消自動 from 那個啥

window.onresize=fn 屏幕改變觸發(fā)

zepto

5 個基本模塊

  • !* zepto 核心模塊窍育,包含大多數方法‘
  • !* event 事件 通過 on()& off()處理事件
  • !* ajax XMLHttpRequest 和 JSONP 實用功能
  • !* form 序列化 & 提交 web 表單
  • !* ie 增加支持桌面的 Internet Explorer 10+和 Windows Phone 8卡睦。

其他模塊

  • detect 提供 .os和.browser 消息
  • fx The animate()方法
  • fx_medthods 以動畫形式的 show, hide, toggle, 和 fade*()[褪色淡化]方法.
  • assets 實驗性支持從 DOM 中移除 image 元素后清理 iOS 的內存。
  • data 一個全面的 data()方法, 能夠在內存中存儲任意對象漱抓。
  • deferred 提供 .Deferredpromises API. 依賴"callbacks" 模塊. 當包含這個模塊時候,.ajax() 支持 promise 接口鏈式的回調表锻。
  • callbacks 為"deferred"模塊提供 $.Callbacks。
  • selector 實驗性的支持 jQuery CSS 表達式 實用功能乞娄,比如 $('div:first')和 el.is(':visible')瞬逊。
  • touch 在觸摸設備上觸發(fā) tap– 和 swipe– 相關事件。這適用于所有的touch(iOS, Android)和pointer事件(Windows Phone)仪或。
  • gesture 在觸摸設備上觸發(fā) pinch 手勢事件确镊。
  • stack 提供 andSelf& end()鏈式調用方法
  • ios3 String.prototype.trim 和 Array.prototype.reduce 方法 (如果他們不存在) ,以兼容 iOS 3.x.

修改引入
make 文檔

target.build = ->
cd __dirname
mkdir '-p', 'dist'
modules = (env['MODULES'] || 'zepto event ajax form ie selector fx touch').split(' ')

node 修改
npm install
npm run-script dist

引包

  • click 與 touch
    click 在移動端有延遲
    touch 事件在 pc 端無效范删,在移動端的優(yōu)先級比移動端高
  • 移動端點擊注意事項 touchstart touchend
    單個手指
    e.targetTouches.length>1
    時間范圍 150-200
    Date.now()
    抖動距離 6
    e.targetTouches[0].clientX

li[i].classList.remove('class')//去除 class 樣式

li[i].classList.add('class)//添加 class 樣式

zpto
父類.removeClass('類名').eq(下標).addClass('類名')

//解決 pc 端 touch 點擊無效

//點擊穿透 tap 事件的缺點
https://www.npmjs.com/package/fastclick
使用 http://www.reibang.com/p/67bae6dfca90

web 移動端的插件
zepto (類似 jquery)
https://www.html.cn/doc/zeptojs_api/
iScroll(平滑滾動網頁)
https://github.com/cubiq/iscroll
swip 輪播
https://github.com/thebird/swipe

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末蕾域,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子瓶逃,更是在濱河造成了極大的恐慌束铭,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厢绝,死亡現場離奇詭異契沫,居然都是意外死亡,警方通過查閱死者的電腦和手機昔汉,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門懈万,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人靶病,你說我怎么就攤上這事会通。” “怎么了娄周?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵涕侈,是天一觀的道長。 經常有香客問我煤辨,道長裳涛,這世上最難降的妖魔是什么木张? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮端三,結果婚禮上舷礼,老公的妹妹穿的比我還像新娘。我一直安慰自己郊闯,他們只是感情好妻献,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著团赁,像睡著了一般育拨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上然痊,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天至朗,我揣著相機與錄音屉符,去河邊找鬼剧浸。 笑死,一個胖子當著我的面吹牛矗钟,可吹牛的內容都是我干的唆香。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼吨艇,長吁一口氣:“原來是場噩夢啊……” “哼躬它!你這毒婦竟也來了?” 一聲冷哼從身側響起东涡,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤冯吓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后疮跑,有當地人在樹林里發(fā)現了一具尸體组贺,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年祖娘,在試婚紗的時候發(fā)現自己被綠了失尖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡渐苏,死狀恐怖掀潮,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情琼富,我是刑警寧澤仪吧,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站鞠眉,受9級特大地震影響薯鼠,放射性物質發(fā)生泄漏摄咆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一人断、第九天 我趴在偏房一處隱蔽的房頂上張望吭从。 院中可真熱鬧,春花似錦恶迈、人聲如沸涩金。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽步做。三九已至,卻和暖如春奈附,著一層夾襖步出監(jiān)牢的瞬間全度,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工斥滤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留将鸵,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓佑颇,卻偏偏與公主長得像顶掉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挑胸,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • ??JavaScript 與 HTML 之間的交互是通過事件實現的茬贵。 ??事件簿透,就是文檔或瀏覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,473評論 1 11
  • meta基礎知識 H5頁面窗口自動調整到設備寬度,并禁止用戶縮放頁面 忽略將頁面中的數字識別為電話號碼 忽略And...
    Mycro閱讀 586評論 0 2
  • meta基礎知識 H5頁面窗口自動調整到設備寬度解藻,并禁止用戶縮放頁面 忽略將頁面中的數字識別為電話號碼 忽略And...
    Mycro閱讀 871評論 0 11
  • Mobile Web Favorites 參與貢獻 移動前端開發(fā)收藏夾老充,歡迎使用Issues以及 Pull Req...
    柴東啊閱讀 723評論 0 2
  • H5移動端知識點總結 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,395評論 0 26