|
|
|
|
|
|
|
|
|
|
一、固定寬度佈局:爲網頁設置一個固定的寬度,一般以px作爲長度單位,常見於PC端網頁。css
二、流式佈局:爲網頁設置一個相對的寬度,一般以百分比作爲長度單位。html
三、柵格化佈局:將網頁寬度人爲的劃分紅均等的長度,而後排版佈局時則以這些均等的長度作爲度量單位,一般利用百分比作爲長度單位來劃分紅均等的長度。前端
四、響應式佈局:經過檢測設備信息,決定網頁佈局方式,即用戶若是採用不一樣的設備訪問同一個網頁,有可能會看到不同的內容,通常狀況下是檢測設備屏幕的寬度來實現。node
注:以上幾種佈局方式並非獨立存在的,實際開發過程當中每每是相互結合使用的。css3
Responsive design,意在實現不一樣屏幕分辨率的終端上瀏覽網頁的不一樣展現方式。經過響應式設計能使網站在手機和平板電腦上有更好的瀏覽閱讀體驗。git
屏幕尺寸不同展現給用戶的網頁內容也不同,咱們利用媒體查詢能夠檢測到屏幕的尺寸(主要檢測寬度),並設置不一樣的CSS樣式,就能夠實現響應式的佈局。github
咱們利用響應式佈局能夠知足不一樣尺寸的終端設備很是完美的展示網頁內容,使得用戶體驗獲得了很大的提高,可是爲了實現這一目的咱們不得不利用媒體查詢寫不少冗餘的代碼,使總體網頁的體積變大,應用在移動設備上就會帶來嚴重的性能問題。web
響應式佈局經常使用於企業的官網、博客、新聞資訊類型網站,這些網站以瀏覽內容爲主,沒有複雜的交互。npm
三:響應式開發移動web開發
a) 在移動互聯日益成熟的時候,桌面瀏覽器上開發的網頁已經不能知足移動端的設備的展現和閱讀
b) 以前,一般的作法是對移動端單獨開發一套特定的版本
c) 可是,若是移動終端設備起來越多的時候賦發成本太大,是由於須要作全部屏幕的適配
d) 響應式開發的目的就是:一個網站可以兼容多種終端
e) 在新建的網站上通常都會使用響應式開發
f) 移動web開發和響應式開發是必須具有的技能
g) 演示響應者頁面
a) 查詢媒介,查詢到當前屏幕(媒介媒體)的寬度,針對不一樣的屏幕寬度設置不一樣的樣式來適應不一樣屏幕。當你重置瀏覽器大小的過程當中,頁面也會根據瀏覽器的寬度和高度從新渲染頁面。簡單說,你能夠設置 不一樣屏幕下面的不一樣的樣式,達到適配不一樣的屏幕的目的。
b) 實現方式:經過查詢screen的寬度來指定某個寬度區間的網頁佈局。
超小屏幕 (移動設備) w<768px
小屏設備 768px-992px 768 <= w <992
中等屏幕 992px-1200px 992 =< w <1200
寬屏設備 1200px以上 w>=1200
a) CSS 語法
@media mediatype and|not|only (media feature) {
CSS-Code;
}
你也能夠針對不一樣的媒體使用不一樣 stylesheets :
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
b) 媒體類型
值 描述
all 用於全部設備
print 用於打印機和打印預覽
screen 用於電腦屏幕,平板電腦,智能手機等。
speech 應用於屏幕閱讀器等發聲設備
c) 媒體功能
值 描述
device-height 定義輸出設備的屏幕可見高度。
device-width 定義輸出設備的屏幕可見寬度。
max-device-height 定義輸出設備的屏幕可見的最大高度。
max-device-width 定義輸出設備的屏幕最大可見寬度。
min-device-width 定義輸出設備的屏幕最小可見寬度。
min-device-height 定義輸出設備的屏幕的最小可見高度。
max-height 定義輸出設備中的頁面最大可見區域高度。
max-width 定義輸出設備中的頁面最大可見區域寬度。
min-height 定義輸出設備中的頁面最小可見區域高度。
min-width 定義輸出設備中的頁面最小可見區域寬度。
d) 簡單案例說明:控制不一樣屏幕尺寸下的屏幕背景色
<style>
.container{
width:1200px;
margin: 0 auto;
height:1200px;
background-color: red;
}
/*媒體查詢:注意and後面空格的添加*/
/*iphone: w < 768px*/
@media screen and (max-width: 768px){
.container{
width:100%;
background-color: green;
}
}
/*pad: w >= 768 && w< 992*/
@media screen and (max-width: 992px) and (min-width: 768px) {
.container{
width:750px;
background-color: blue;
}
}
/*中等屏幕 w >= 992 && w<1200*/
@media screen and (max-width: 1200px) and (min-width: 992px) {
.container{
width:970px;
background-color: pink;
}
}
</style>
隨着Web應用變的愈來愈複雜,在大量的開發過程當中咱們發現有許多功能模塊很是類似,好比輪播圖、分頁、選項卡、導航欄等,開發中每每會把這些具備通用性的功能模塊進行一系列封裝,使之成爲一個個組件應用到項目中,能夠極大的節約開發成本,將這些通用的組件縮合到一塊兒就造成了前端框架。
簡潔、直觀、強悍的前端開發框架,讓web開發更迅速、簡單。
來自 Twitter,粉絲衆多,是目前最受歡迎的前端框架。
Amaze ~ 妹子UI,國人開發,後起之秀!
Framework7 是一個開源免費的框架能夠用來開發混合移動應用(原生和HTML混合)或者開發 iOS & Android 風格的WEB APP。
五:Bootstrap框架
1) Bootstrap框架:提升web開發效率
e) Bootstrap簡介:當前最流行的前端UI框架(有預製界面組件), Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式佈局、移動設備優先的 WEB 項目
i. Bootstrap,來自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基於 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷
ii. Bootstrap是基於HTML5和CSS3開發的,它在jQuery的基礎上進行了更爲個性化和人性化的完善,造成一套本身獨有的網站風格,併兼容大部分jQuery插件
f) 爲何 使用Bootstrap:
i. 有本身的生態圈,不斷的更新迭代
ii. 提供一套簡潔,直觀,強悍的組件
iii. 標準化的html+css編碼規範
iv. 讓開發更簡單,提升了開發效率
v. 能夠進行自定義擴展
g) BootStrap的版本瞭解
i. 2.x.x:兼容性好 / 代碼不夠簡潔,功能不夠完善
ii. 3.x.x:穩定性好,放棄了IE6-IE7,對IE8的支持通常 /偏向於響應式佈局開發,移動設備優先的web項目開發
iii. 4.x.x:測試階段,偏向於響應式,移動設備
LESS 是動態的樣式表語言,經過簡潔明瞭的語法定義,使編寫 CSS 的工做變得很是簡單,本質上,LESS 包含一套自定義的語法及一個解析器。
6.1.
一、安裝Nodejs環境 Node Package Manager (驗證 node -v npm -v) npm:node packge manager
二、打開控制檯(cmd),執行npm install -g less (驗證 lessc -v) node packet manager
三、命令行編譯 lessc path/xxx.less path/xxx.css
瀏覽器只能識別CSS,LESS只是用來提高CSS可維護性的一個工具,所最終須要將LESS編譯成CSS,然而經過命令行編譯效率比較低下,通常都會藉助於編輯器來完成編譯,以sublime_text爲例,sublime_text默認並不支持LESS的編譯操做,須要安裝插件實現。
一、執行npm install -g less-plugin-clean-css(使用sublime_text才用)
二、ctrl+shit+p打開命令面板
三、輸入install package而後回車
四、安裝 LESS、lessc、Less2Css三個插件
五、alt+s快捷鍵便可實現編譯
一、變量
格式:@變量名: 值,定義完成後能夠重複使用
見代碼示例6-1.less
二、混合
咱們能夠像使用函數同樣來使用CSS
見代碼示例6-2.less
三、嵌套
嵌套能夠很是方便的管理咱們的CSS層級關係
見代碼示例6-3.html
瞭解了LESS基本語法後,能夠用LESS寫編寫CSS代碼了,可是須要實時的將LESS編譯成CSS瀏覽器才能識別,利用編輯器可以編譯,可是效率相對較低。
咱們能夠引入一個less.js文件,實現實時的解析,而沒必要每次修改都要編譯,最後完成全部開發任務後,再經過編輯器編譯成css文件。
一、下載而後引入less.js
二、引入xx.less文件,如:
<link rel="stylesheet/less" type="text/css" href="styles.less" />
注意:rel屬性必須指定成stylesheet/less,而且styles.less要先於less.js引入。
必須以服務器方式訪問,webstrom自帶服務器功能也可使用ghostlab調試工具的服務器。