首先來(lái)了解一下windows 8 的貼靠,在windows 8 中的Metro應(yīng)用可以將屏幕很好的進(jìn)行分割.如下圖
![](/d/20211016/41909b5cea8b926c3f8bd6f9109abe88.gif)
讓用戶(hù)在使用時(shí)可以非常方便的切換。 系統(tǒng)對(duì)貼靠也是有硬性規(guī)定的。最多兩個(gè)屏幕,而且是一個(gè)大的一個(gè)小的。并且小屏的寬度是固定的 320像素。
所以當(dāng)用戶(hù)把網(wǎng)站貼成小屏幕,這個(gè)時(shí)候頁(yè)面默認(rèn)是等比例縮小的。如下圖:
![](/d/20211016/033688af554fa5fb704910c76f06cc1f.gif)
那么怎么很好的解決這樣的一個(gè)問(wèn)題呢?讓網(wǎng)站在windows 8的貼靠小屏幕下顯示非常友好的效果呢?下面我有一個(gè)簡(jiǎn)單的示例
如圖 一個(gè)非常簡(jiǎn)單的并且傳統(tǒng)的頁(yè)面,包括橫向排列的導(dǎo)航,內(nèi)容等.
![](/d/20211016/16a1d683d1bb7d911528e5544643ba35.gif)
而傳統(tǒng)的代碼也是這樣
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style>
.nav {
padding: 5px 0px 5px 0px;
margin: 0px;
width: 100%;
list-style-type: none;
background-color: #cddcd6;
height: 28px;
}
.nav li {
margin: 0px 1px 0px 0px;
float: left;
background-color: #0094ff;
padding: 5px 10px 5px 10px;
}
.dvItem {
width: 100%;
height: 400px;
background-color: #b6ff00;
clear: both;
}
.main {
width: 960px;
margin: 0px auto 0px auto;
}
</style>
</head>
<body>
<div class="main">
<ul class="nav">
<li>Home</li>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
</ul>
<div class="dvItem">
</div>
</div>
</body>
</html>
這樣的頁(yè)面在貼靠效果就是縮小的如圖:
![](/d/20211016/a0abd113c5bc5235ee100373fc32e31c.gif)
如何修改呢? 在傳統(tǒng)的這樣頁(yè)面中我們只需要根據(jù)windows 8 的貼靠特性編寫(xiě)一份CSS 讓我們頁(yè)面以320像素的寬度進(jìn)行布局和顯示即可
實(shí)現(xiàn)代碼如下: 在原有頁(yè)面中新加入以下樣式代碼
@media screen and (max-width: 320px) {
@-ms-viewport { width: 320px; }
.nav {
padding: 5px 0px 5px 0px;
margin: 0px;
width: 100%; background-color:#fff;
}
.nav li {
width: 300px;
clear: both;
margin: 0px 0px 1px 0px;
background-color: #0094ff;
padding: 5px 0px 5px 0px;
}
.dvItem {
width: 95%;
height: 600px;
background-color: #ff00a4;
clear: both;
}
.main {
width: 320px;
margin: 0px auto 0px auto;
}
}
在全屏瀏覽和傳統(tǒng)瀏覽下還是沒(méi)有任何區(qū)別的。
區(qū)別就在于將他貼靠為小屏幕 如下圖 顯示效果是不是很明顯呢。
![](/d/20211016/90e308966e4bc5be76ffb23404bad68f.gif)
本示例代碼下載/Files/risk/Index.rar