前言:做爲IOS開發工程師,終會接觸到網頁前端開發,甚至可能會有 用HTML5開發IOS的app客戶端的需求。好比如今上架的app就有好比理財類型的app有的就用HTML開發的,從理財類型的app需求上思考,用 HTML5確實是個不錯的選擇,利用了跨平臺的同時,也考慮到了理財類型的app僅僅須要處理的是數據的業務邏輯,不存在較多的本地存儲數據,並且涉及到 的財務信息從安全性考慮數據基本都會存儲在服務器端,是不可能用於存儲在本地的,再加上HTML5對各類手機屏幕的尺寸適配性很是靈活,因此這一類app 用HTML5開發是很是正確的選擇。不過本文涉及的內容是針對IOS工程師所需的知識內容,因此並無涉及網頁前端全部的開發細節。css
HTML5簡介
HTML5 - 簡單 8年發展 - 標準 UI界面跨平臺 - 寫一份HTML5代碼,這個界面就能夠運行到任何手機平臺 運行平臺 - 瀏覽器 移動先行 - 之前的HTML(5以上的版本)都是運行在非手持設備運行的 原生 - 好比手機自帶的手機相冊\打電話\拍照 >手機app的常見的開發模式 :原生+HTML5
網頁的基本組成
一個有具體功能的完整的網頁,通常由3部分組成 HTML 決定網頁的具體內容和結構 CSS 表明網頁的樣式(美化網頁最重要的一塊內容) JavaScript 網頁的交互效果,好比對用戶鼠標事件做出響應 <HTML和CSS須要瞭解就好,由於須要掌握大量東西纔好作CSS美工方面的東西>
HTML編寫
什麼是HTML? HyperText Markup Language 超文本標記語言 其實就是文本,由瀏覽器負責將它解析成具體的網頁內容 前端開發工具: >sublime text : 拓展性很是強(安裝各類插件)\顏色經典 >Dreamwaver : 美工(Adobe公司開發) >WebStorm : 自帶了各類插件 好比Nodejs grunt less >Eclipse : 主要開發Java程序 head通常放CSS和JS的,body通常放內容。 title通常放置描述性內容。 常見的HTML的標籤: 百度就能瞭解。
CSS編寫
什麼是CSS?CSS的全稱是Cascading Style Sheets,層疊樣式表 它用來控制HTML標籤的樣式,在美化網頁中起到很是重要的做用
CSS的編寫格式是鍵值對形式的,好比:html
1 |
color : red; |
CSS的三種書寫形式:
- 一、行內樣式:(內聯樣式),就是直接在標籤內部添加樣式,直接做用到當前樣式
1 |
<p style="color: red; font-size:20px; background: #00f"></p> |
- 二、頁內樣式:
1 |
<head> |
- 三、外部樣式:在單獨的CSS文件中書寫,而後在網頁中用link標籤引用
爲了可以做用到項目裏的全部HTML文件,就有必要新建一個xxx.css文件:前端
1 |
div{ |
而後在須要設置CSS樣式的網頁上添加鏈接這個自定義CSS文件bootstrap
1 |
<head> |
CSS選擇器
CSS有兩大核心:選擇器、屬性(學好CSS,只要學好這兩個就行了)
代碼格式就是:
1 |
選擇器{ |
選擇器使用實例1
選擇器的做用:選擇對應的標籤,爲之添加樣式 div{ color:red; font-size: 20px; border:5px; } html中的某個標籤: ... <body> <div>second</div> </body> ... 這個div標籤選擇器,會根據標籤名找到對應標籤<div>, 而後把選擇器裏的屬性設置到對應標籤的內容上。 這裏就是把color:red;font-size:20px;border:5px;設置在second這個內容上
選擇器使用實例2
標籤選擇器:根據標籤名找到標籤數組
1 |
<div>div1</div> |
下面是選擇器:瀏覽器
1 |
div{ |
由於兩個標籤的標籤名都是div,因此選擇器裏的屬性都會做用於div1和div2安全
下面講講不一樣類型的類選擇器:服務器
類選擇器:
1 |
<p class ="high">第一段文件</p> |
而後在CSS文件中:
1 |
.high{ |
這個標籤是做用於class類標籤屬性是high的標籤,因此會做用於"第一段文字"和"div"
總結:class標籤就是能夠把不一樣類的標籤能夠歸爲一個類class
注意 類選擇器開頭要有"."符號哦 類選擇器的名字能夠是標籤中class屬性字符串的一部分 好比:.he類選擇器名能夠訪問class = "woe he llo"的標籤(注意要空格隔開的,不隔開(好比woehello)無用) "."是用來找class屬性的,而"#"是用來找id屬性的。
id選擇器:
1 |
<!DOCTYPE html> |
若是id="rose"的標籤有兩個,IDE會報錯,瀏覽器運行無效。 和類標籤選擇器同樣,Class經過.符號去選擇,id選擇器經過#符號去選擇 #rose選擇器表示查找並將這裏面的屬性設置到標籤中id是rose的標籤
羣組選擇器
- 普通形式,神馬標籤都寫上:
1 |
div , p , a { |
再舉一個並列選擇器(或者):app
1 |
div , .high{ |
做用:只要標籤中有div或者有class=」high」或者是div和class=」high都有的都能設置框架
另外,若是要設置全部標籤的設置,那麼選擇器名能夠是符號 *
1 |
* { |
複合(而且):
1 |
div.high{ |
還有就是須要同時符合三個條件,並且順序不能亂:
1 |
div.high#jack{ |
意思就是,必須既是div,並且是class屬性有high,最後還要id爲jack都知足的標籤
後代選擇器(之間空格):
1 |
div .tom { |
就是找到div裏面class=」tom」的全部子標籤
若是是:
1 |
div p div span p{ |
就要找到div包含的p,這個p包含的div,這個div包含的span,這個span包含的p
而後根據後代又分爲兩種: 一、直接後代選擇器,二、相鄰兄弟選擇器
1 |
div > p { |
這裏就是針對直接後代的,就是div包含的直接p標籤,不是間接包含的標籤
1 |
div + p { |
相鄰兄弟選擇器,找到相鄰的選擇器
屬性選擇器:
1 |
div[name]{ |
CSS的優先級(從1~4優先級別愈來愈低):
1 |
帶有 !important 的屬性 |
還有一種別人總結的經驗:算權值 標籤 1 類 10 id 100 而後求和計算css的選擇器的權值 CSS的註釋是這樣的 /* 內容 */ 可是在CSS中//這樣的註釋是無用的。
1 |
HTML註釋: |
1 |
CSS標籤用的冒號叫"僞類" |
HTML的輸入框初識
... <input placeholder="請輸入用戶名">這個就是在輸入框內添加淺色的提示 ...
Term和Alfred2的使用
iTerm和Alfred2的安裝和使用筆記網址:http://www.cnblogs.com/goodboy-heyang/p/4909296.html
標籤類型
根據顯示的類型,主要分爲3大類
塊級標籤
絕對獨佔一行的標籤 隨時設置本身的寬度和高度 (好比div、p、h一、h二、ul、li)
行內標籤(內聯標籤)
多個行內標籤能同時顯示在一行 寬度和高度取決於內容的尺寸(好比span、a、label)
行內-塊級標籤(內聯-塊級標籤)
1 |
多個行內-塊級標籤能夠顯示在同一行 |
1 |
display:inline-block |
1 |
display:none就會讓內容不顯示,這個display至關於IOS裏的show方法 |
百度首頁
源碼下載百度雲備份連接: 百度首頁實例 密碼: yzyv
網頁開發須知: 工程項目文件目錄 css文件夾 index.css script文件夾 index.html 美工開發通常步驟: 先在html.index內定好結構,相似IOS開發中的規劃好UI佈局,每一塊放好一塊內容。 而後在index.css文件中根據html.index分好的塊分別設置樣式。 而後就是慢慢調整,很耗費時間的。
bootstrap
1 |
這是網頁前端最受歡迎的第三方框架 |
官方開發文檔展現了不少模板代碼使用樣式
說白了,這個框架就是幫你封裝了一堆漂亮的樣式,而後你只要會用便可。 有一些圖標被設計成字體,而後存儲在fonts文件夾下的字體文件內,因此須要把整個fonts文件夾拷貝進工程根目錄。 在使用圖片文字的時候,若是要調整大小,要注意,由於是文字,因此直接用font-size屬性設置值就對了。
JS核心語法
瀏覽器就是JS的運行平臺,就比如IOS就是OC的運行平臺。
JS的常見用途
HTML DOM操做(節點操做,好比添加、修改、刪除節點) 給HTML網頁增長動態功能,好比動畫 事件處理,好比監聽鼠標點擊、鼠標滾動、鍵盤輸入
JS的書寫方式
1 |
一、JS代碼寫在雙引號裏面。 |
另外,JS全部的變量都是用var,實例:var 變量名 = 變量值
數據類型
1 |
number 全部數字,好比小數/整數 |
定義函數
1 |
function 函數名(形參){ |
函數實例:
1 |
1.簡單的示例: |
對象
1 |
最簡單的對象 |
數組、字典都是對象類型
數組實例:
var array = [12,'dog',24,'jack',{ name : 'wangcai' },[],function(){ console.log(10); }]; array[array.length-1]();