1. 程式人生 > >HTML,CSS(一)

HTML,CSS(一)

HTML

  1. 瀏覽器

     a. 渲染引擎
     b. js執行引擎
    
  2. 主流的瀏覽器核心

     a. chrome (blink)
     b. ie (trident)
     c. safari (webkit) 蘋果瀏覽器
     d. firfox (gecko) 火狐  內建工具較多
     e. opera (presto)歐朋瀏覽器
    
  3. 標籤

     a. 塊級元素(display:block)div  h1-6  footer  header  ul  ol  li...
     	預設是沿Y軸排列
     	可以調節高度和寬度
     	可以調節上下左右的佈局
     b. 行內元素  
      (display:inline)a  span  label
     	預設是沿X軸排列
     	不能調節高度
     	不能控制上下,但是能調節左右
      (display:inline-block)行內塊狀    都可以修改
     	預設是沿X軸排列
     	不能調節高度
     	不能控制上下左右
       置換元素(預設擁有行內元素的特點,預設不受style控制)
       	img、video、audio、button
    

4.HTML的頁面結構

lang="en"  瀏覽器的解析格式  en代表英文  
a. DOCTYPT html   告訴瀏覽器當前使用的是h5的解析規則
	如果使用的一些標籤有斜槓,那就意味著以後的最新版本有可能移除此標籤,不再推薦使用,
  有可能影響當前頁面的佈局,如果一定要使用一些不再建議使用的標籤,可以修改解析規則,
    快捷鍵 html:4t(過度版本)    html:4s(正式版本)
b. HTML的根節點
	head
		書寫的內容是針對於瀏覽器的
		meta標籤 配置一些針對於瀏覽器或裝置的操作 
			charset 告訴瀏覽器編碼格式
			viewport 針對於移動端的配置
		link 引入css檔案 或者 設定網站logo 
			rel=”ICON” href中寫logo路徑
		title 
			當前標籤頁的名稱,瀏覽器收藏時的預設名稱
	 body
		主內容(使用者看的檢視區域)
  1. 常用標籤

     a. a標籤
     	href中可以書寫js程式碼  javascript:comfirm("確認"?1:1);
     	本地路徑
     	第三方路徑
     	id 錨點
     	target  值為_blank時,點選會開啟一個新的視窗 預設_self不開啟新視窗
     b. table列表,管理系統應用比較多,官方的PC應用比較少,因為其渲染效率比較低
     	border  書寫在style外,和style中不一樣
     	bordercolor  border框的顏色,書寫在style外
     	table-layout  計算td的寬度,書寫在style中
     		suto 預設  根據當前框中的內容決定寬度,效率低
     		fixed  將所有的td寫死,不用動態的計算,效率比較高
     	td中的style屬性  vertical-align 垂直位置的調節 
     		middle  當前的內容垂直居中
     		top  當前的內容 上當
     		botton 當前的內容  放置於下方
     	text-align  文字居中
     c. img 
     	width 、 height   寬和高  
     	src 圖片地址 也可以放置 圖片轉成的字串
     		字串的優點:沒有實體檔案的圖片,不用維護圖片
     		缺點:體積會變大 增大33%的體積
     			base64會將檔案3位元組分成24個,24個又分為4組,一組6個位置不夠一個位元組的8位,
     		  所以最高位補0,所以會增大33%
     	alt 當圖片不顯示的時候提示資訊
     	title  滑鼠放在上面的提醒
     d. textarea
     	cols  中文+英文的平均文字寬度
     	rows  文字列  代表文字的高度
     	resize 控制拖拽
     		none -- 禁止橫向縱向拖拽
     		vertical -- 只能垂直方向拉伸
     		horizontal -- 只能水平拖拽拉伸
    
  2. H5表單驗證相關屬性(PC端應用較少)

     can i user XXX 網站可以檢視瀏覽器的相容性
     a. email 
     	required -- 必須填寫的欄位
     	maxlength -- 最大的輸入長度
     	minlength -- 最小的輸入長度
     	在手機使用此type時,輸入法會自動進入郵箱填寫模式
     b. number
     	required -- 必須填寫的欄位
     	max -- 只能適用於number,最大的值
     	min -- 只能適用於number,最小值
     	在手機上使用此type時,輸入法自動進入數字介面
     c. tel (PC端不支援,移動端可以使用,並且會自動切換小鍵盤)
     	maxlength -- 最大輸入長度
     	minlength -- 最小輸入長度
     	用於輸入電話號碼
     d. search(適用於移動端)
     	maxlength -- 最大輸入長度
     	minlength -- 最小輸入長度
     	在手機上使用此type時,輸入法的右下角會有搜尋按鈕
     e. color
     	可以進行管理系統使用者選擇自己喜歡的顏色
     f. range
     	max  代表當前拖拽的最大值    為數字
     g. label(H5新標籤,適用於移動端,可以增加使用者體驗)
     	for -- 書寫的是繫結的input的id
     	可以用於上傳功能,繫結上傳的input後隱藏當前原生的input
     h. datalist(H5新標籤)
     	input中的list屬性繫結datalist的id
     	下拉過濾效果,一般datalist中的資料都是動態獲取的
     i. progressl(H5新標籤)載入條
     	max -- 最大值
     	value -- 當前值  佔比
     j. video(H5新標籤)
     	src -- 本地視訊的路徑
     	controls -- 新增控制檯(播放等操作按鈕)
     	poster -- 視訊封面、值為圖片的路徑
     	can i use 查詢支援率最高的前幾個視訊格式,video中使用source標籤來相容不同格式的視訊(加在video標籤中)
     	js操作屬性
     		currectTime -- 獲取當前視訊的播放時間(可用於投放廣告)
     		playbackRate -- 獲取當前視訊的播放速度,預設為1,可以進行自定義速度
     		duration -- 獲取當前視訊的總長度   單位:秒
     		paused -- 獲取當前視訊是否處於暫停狀態(可用於投放廣告)
     	js操作方法
     		pause() -- 方法呼叫可以暫停視訊
     		play() -- 方法呼叫可以播放視訊
     k. audio(H5新標籤)
     	src -- 本地的音訊路徑
     	controls -- 新增控制檯(視訊的播放按鈕以及進度條等)
     	can i use 查詢支援率最高的前幾個音訊格式,video中使用source標籤來相容不同格式的音訊(加在audio標籤中)
     	js操作屬性
     		currentTime -- 返回當前的播放的時間
     		duration -- 音訊的總時長  單位:秒
     	js的操作方法
     		pause() 暫停
     		play() 播放
    
  3. H5離線快取(H5的新特性)

     a. 前端快取  快取的檔案
     	通常用於快取CSS檔案、JS檔案、圖片
     b. manifest配置離線快取屬性,需要書寫配置檔案來制定快取的檔案
     	優點:減少伺服器的壓力,充分利用了瀏覽器本身的特性
     	存在的缺點
     		快取的頁面或者檔案一旦修改,瀏覽器預設檢測不到,它會一直使用本地的快取,忽略後端的資料
     		chrome://appcache-internals  ---   手動刪除快取
     		自動監聽快取的修改,然後在重新生成快取
     			當修改了快取的頁面後者檔案時再修改配置檔案,使用者訪問時會自動生成新的快取,但是有一個缺點,第一次重新整理
     		  會優先訪問本地的快取,第二次才會獲取新的資料
     			解決:監聽快取變更的事件,然後自動重新整理一次
     			配置檔案:
     				CACHE MANIFEST
     				#version 1.6(每次更新資料要更改一下配置檔案,否則不重新整理)
     				CACHE:
     					需要快取的資源  例:demo.html
     			js重新整理頁面:
     				window.applicationCache.addEventListener("updateready",function(){
     					console.log("頁面的資料改動,需要重新生成快取");
     					window.location.reload();
     				}
    
  4. H5本地儲存(5M左右)

     a. 將需要持久化的資訊 儲存在瀏覽器上
     b. localStorage.key = value
     	如果要存的是物件,在儲存的時候JSON.stringify進行轉換,獲取的時候JSON.parse轉換
     c. localStorage.clear() 刪除所有localStorage中儲存的物件
     d. localStorage完成購物車,可以進行不登入也可以新增購物車
     	優點:不走伺服器,可以減輕伺服器的壓力,在購物車結賬時才會伴隨請求反送到後臺生成訂單
     	缺點:
     		不走伺服器,沒有辦法同步到多個終端裝置
     		換個瀏覽器購物車就沒了
     e. sessionStorage 只能儲存字串
     	sessionStorage.key = value 指的是頁面關閉時自動清除
    
  5. localStorage 與 cookie 和 session 的區別?

     1. 區別:
     	localStorage不註定伴隨請求傳送到後臺
     	localStorage預設大小為5M
     	localStorage預設可以儲存中文,但是隻能儲存字串型別的資料
     	localStorage儲存在瀏覽器,永久生效
     	cookie 和 session是由後端生成,localStorage直接在瀏覽器中生成
     2. 相同點
     	都是key-value的形式儲存
    
  6. FileReader

    轉換圖片成base64
    程式碼:
    	//選中圖片後  自動將圖片轉換成base64顯示在頁面指定的區域
    	var element = document.querySelector("#header");
    	element.onchange = function(){
    		//從file中將圖片提取
    		var head = element.files[0];
    		//將圖片交給FileReader轉換成base64
    		var reader = new FileRader();
    		//呼叫readAsDaraURL將圖片轉換成base64
    		reader.readAsDataURL(head);
    		//readAsDataURL是非同步操作 所有需要監聽來獲取非同步的處理結果
    	 	//reader監聽onload 在轉換完畢後 通過回撥返回給當前的使用者
    	 	reader.onload = function(a){
    			//回撥會攜帶非同步的執行結果
    			document.querySelector("#img_head").src=this.result;
    		}
    	}