蘋果菜單風格:簡潔、優(yōu)雅、圓潤。這種設(shè)計風格比較流行,本示例模仿蘋果風格設(shè)計導航菜單樣式。
【操作步驟】
第1步,構(gòu)建網(wǎng)頁基本結(jié)構(gòu)。在本示例中構(gòu)建了一個無序列表結(jié)構(gòu)。
<div id="nav">
<ul>
<li class="n01"><a href="#">index</a></li>
<li class="n02"><a href="#">Store</a></li>
<li class="n03"><a href="#">Mac</a></li>
<li class="n04"><a href="#">iPod + iTunes</a></li>
<li class="n05"><a href="#">iPhone</a></li>
<li class="n06"><a href="#">Downloads</a></li>
</ul>
</div>
第2步,設(shè)置標簽默認樣式。
html, body {
height:100%;
background:#fff;}body {
font:12px "宋體", Arial, sans-serif;
color:#333;
}
body, form, menu, dir, fieldset, blockquote, p, pre, ul, ol, dl, dd, h1, h2, h3, h4, h5, h6 {
padding:0;
margin:0;}
ul, ol, dl {
list-style:none;}
以上代碼中,首先設(shè)置了html和body樣式,然后統(tǒng)一常用標簽的樣式,設(shè)置它們的邊界都為0,并清除列表結(jié)構(gòu)的項目符號。。
第3步,定義導航菜單樣式。
#nav {
width:490px;
height:38px;
margin:15px 0 0 10px;
overflow:hidden;
background:url(images/globalnavbg.png) no-repeat;}
#nav li, #nav li a {
float:left;
display:block;
width:117px;
height:38px;
background:#fff;}#nav li a {
width:100%;
text-indent:-9999px;
background:url(images/globalnavbg.png) no-repeat 0 0;}
以上代碼中,首先定義了導航菜單包含框樣式,定義固定寬度和高度,設(shè)置背景圖,通過overflow: hidden聲明隱藏超出區(qū)域的內(nèi)容。設(shè)置列表項目和錨點浮動顯示,實現(xiàn)并列顯示,設(shè)置display為塊顯示,同時為錨點設(shè)置背景圖像,通過text-indent屬性隱藏文字。
第4步,為每個列表項目定位背景圖像的顯示位置。
#nav .n01 { width:118px; }
#nav .n01 a:visited { background-position:0 -114px; }
#nav .n01 a:hover { background-position:0 -38px; }
#nav .n01 a:active { background-position:0 -76px; }
#nav .n02 a:link { background-position:-118px 0; }
#nav .n02 a:visited { background-position:-118px -114px; }
#nav .n02 a:hover { background-position:-118px -38px; }
#nav .n02 a:active { background-position:-118px -76px; }
#nav .n03 a:link { background-position:-235px 0; }
#nav .n03 a:visited { background-position:-235px -114px; }
#nav .n03 a:hover { background-position:-235px -38px; }
#nav .n03 a:active { background-position:-235px -76px; }
#nav .n04 a:link { background-position:-352px 0; }
#nav .n04 a:visited { background-position:-352px -114px; }
#nav .n04 a:hover { background-position:-352px -38px; }
#nav .n04 a:active { background-position:-352px -76px; }
#nav .n05 a:link { background-position:-469px 0; }
#nav .n05 a:visited { background-position:-469px -114px; }
#nav .n05 a:hover { background-position:-469px -38px; }
#nav .n05 a:active { background-position:-469px -76px; }
#nav .n06 a:link { background-position:-586px 0; }
#nav .n06 a:visited { background-position:-586px -114px; }
#nav .n06 a:hover { background-position:-586px -38px; }
#nav .n06 a:active { background-position:-586px -76px; }
從以上代碼可以看到,定義了6個樣式類,利用包含選擇器,為每個錨點定義不同偽類狀態(tài)下的樣式。
【拓展】在以用戶體驗為中心的網(wǎng)頁設(shè)計時代,很多用戶會因為打開網(wǎng)頁速度太慢而關(guān)閉網(wǎng)頁。網(wǎng)頁提速有很多的方法,其中一條就是減少HTTP請求。每一個網(wǎng)站都會用到圖片,當一個網(wǎng)站有10張單獨的圖片,就意味著在瀏覽網(wǎng)站時會向服務(wù)器提出10次http請求來加載圖片。在CSS設(shè)計中,一般使用CSS Sprites技巧減少圖片請求的方法,該方法也稱之為CSS精靈。簡單描述就是,將多張小圖片合成為一張大圖片,減少HTTP請求次數(shù)而達到網(wǎng)頁提速。
下面以淘寶網(wǎng)為例子,為大家講解下CSS Sprites是如何實現(xiàn)的。如果要在網(wǎng)頁上顯示“今日淘寶活動”這個圖片。
實現(xiàn)代碼如下:
<div style="width:107px; height:134px; background:url(sprites.gif) no-repeat -133px -153px"></div>
?width:要定位圖片的寬度。
?height:要定位圖片的高度。CSS Sprites要求必須定義容器的大小,不然會顯示出錯。
?background:url(sprites.gif)定義背景圖片的路徑,no-repeat定義背景不重復,-133px定義X坐標的位置,-153px定義y坐標的位置。
可能有人會不明白這個-133px和-153px是怎么來的,這個坐標是小圖片在大圖片中的x坐標和y左邊坐標,如圖3.46所示。紅色點的坐標是在大圖上x坐標為133px,y坐標為153px。坐標也可以用百分比表示,如50% 50%。有人會提出,為什么坐標是正數(shù),這里卻寫成了負數(shù)呢?
因為在設(shè)計網(wǎng)頁時用background定義背景圖片,默認x、y坐標是0、0。
所以要用-133px、-153px才能正確地顯示圖片。
?CSS Sprites的優(yōu)點:可以減少HTTP的請求數(shù),如10張單獨的圖片就會發(fā)出10次的HTTP請求,合成為一張大圖片,只會發(fā)出一次的HTTP請求,從而提高了網(wǎng)頁加載速度。
?CSS Sprites的缺點:由于在網(wǎng)站建設(shè)時每次圖片改動都要往這張圖片添加內(nèi)容,圖片的坐標定位要很準確,稍顯繁瑣。坐標定位要固定為某個絕對值,因此會失去一些靈活性。CSS Sprites有優(yōu)點也有缺點。要不要使用,具體要看網(wǎng)頁以加載速度為主,還是以維護方便容易為主。
當前文章標題:如何在網(wǎng)頁設(shè)計中設(shè)計蘋果風格菜單
當前URL:http://51zuanshi.com.cn/news/wzzz/3081.html