利用JS去做響應式布局
阿新 • • 發佈:2018-04-12
排除 ada 樣式 nbsp wid 設計 響應式web設計 tex 相同 利用JS去做響應式布局
js動態改變布局方式
// 取瀏覽器可視區高寬 var lw = $(window).width(); var lh = $(window).height();
// 頁面加載完畢後執行 $(function () { // 加載完畢後設置body的高度和寬度 $(document.body).css({ "width": lw, "height": lh }); // 新的高度 = lh - (Navigation + Footer + Banner) // 如果沒有 Banner 可以不加 $(".Content").css("height", lh - 90); });
// 當窗口高寬改變時觸發 $(window).resize(function () { // 取窗口改變後的高度和寬度 var rw = $(window).width(); var rh = $(window).height();
// 重置body的高度和寬度 $(document.body).css({ "width": rw, "height": rh });
// 新的高度 = rh - (Navigation + Footer + Banner) // 如果沒有 Banner 可以不加 $(".Content").css("height", rh - 90); }); 響應式web設計之@media
兩種方式,一種是直接在link中判斷設備的尺寸,然後引用不同的css文件:
<link rel="stylesheet" type="text/css" href="styleA.css" media="screen and (min-width: 400px)">
意思是當屏幕的寬度大於等於400px的時候,應用styleA.css
在media屬性裏:
screen 是媒體類型裏的一種,CSS2.1定義了10種媒體類型and 被稱為關鍵字,其他關鍵字還包括 not(排除某種設備),only(限定某種設備)(min-width: 400px) 就是媒體特性,其被放置在一對圓括號中。
<link rel="stylesheet" type="text/css" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)">
意思是當屏幕的寬度大於600小於800時,應用styleB.css
另一種方式,即是直接寫在<style>標簽裏:
@media screen and (max-width: 600px) { /*當屏幕尺寸小於600px時,應用下面的CSS樣式*/
.class {
background: #ccc;
}
}
寫法是前面加@media,其它跟link裏的media屬性相同。
Max Width
下面的樣式會在可視區域的寬度小於 600px 的時候被應用。
@media screen and (max-width: 600px) {
.class {
background: #fff;
你的樣式
}
}
Min Width
下面的樣式會在可視區域的寬度大於 900px 的時候被應用。
@media screen and (min-width: 900px) {
.class {
background: #fff;
}
}
Multiple Media Queries
你還可以使用過個匹配條件,下面的樣式會在可視區域的寬度在 600px 和 900px 之間的時候被應用。
@media screen and (min-width: 600px) and (max-width: 900px) {
.class {
background: #fff;
}
}
// 頁面加載完畢後執行 $(function () { // 加載完畢後設置body的高度和寬度 $(document.body).css({ "width": lw, "height": lh }); // 新的高度 = lh - (Navigation + Footer + Banner) // 如果沒有 Banner 可以不加 $(".Content").css("height", lh - 90); });
// 當窗口高寬改變時觸發 $(window).resize(function () { // 取窗口改變後的高度和寬度 var rw = $(window).width(); var rh = $(window).height();
// 重置body的高度和寬度 $(document.body).css({ "width": rw, "height": rh });
// 新的高度 = rh - (Navigation + Footer + Banner) // 如果沒有 Banner 可以不加 $(".Content").css("height", rh - 90); }); 響應式web設計之@media
利用JS去做響應式布局