本篇文章主要給大家介紹一下如何使用html+css完成二級橫向以及豎向菜單導航制作;菜單導航是網站建設中最常用的一塊了,基本每個網站內都會有個導航菜單,用鼠標劃過還可以有下拉子菜單。
由上圖我們可以看出,該圖包含一個橫向導航條,然后鼠標經過橫向導航條之后,子導航顯示出來。
我們這里主要用到的知識點就是列表標簽(ul、dl)的使用、浮動(float)的使用、絕對定位(absolute)及鼠標經過(hover)的效果。
1、列表標簽ul、dl(我們使用ul、dl來創建同類型的導航元素內容,通過設置css樣式來達到圖片所示效果);
2、浮動元素float(每個導航元素我們需要使用float:left;讓其左對齊,這里涉及到了我們之前講解的如何清除浮動的影響);
3、絕對定位absolute(對于子導航我們要使用絕對定位來讓其浮動在上級有定位元素的下方,不占據元素空間)
4、鼠標經過hover(使用css的鼠標經過元素(hover)效果,配合display的none(隱藏)和block(顯示)來實現子菜單的顯示與隱藏)
具體的實現html代碼以及css代碼就如下圖所示:
還有一個縱向菜單導航原理跟橫向的類似,只需簡單調整一下css代碼即可。
html代碼跟橫向一樣,這里就不再貼圖,具體的實現圖片效果以及css代碼就如下圖所示:
好了,本篇文章就給大家說到這里,大家自己動手寫一下看能不能寫出一樣的頁面效果出來,也可以找一些類似的頁面自己練習一下,有需要源碼的可以直接私信我即可。
每日金句:每天收獲小進步,積累起來就是大進步;每天收獲小幸福,積攢起來便成大幸福。喜歡我的文章的小伙伴記得關注一下哦,每天將為你更新最新知識。
0
本例參考了網上的例子,唯一不一樣的是,我這里的操作是一步一步講解,網上僅是源碼。
一、我們先創建一張空白的網頁,網頁要自適應手機。
圖1
二、我們再創建網頁的頭部。
圖2
圖3
三、做出來的網頁頭部太丑了,我們要去掉盒子與瀏覽器的間隙,還有給頭部加內部距離。
圖4
圖5
四、給網頁頭部添加一些內容。
圖6
圖7
五、接下來開始做導航條了。
圖8
圖9
六、發現沒,導航條居然看不見,沒有東西在里面自然是看不見的,我們加三個鏈接吧。
圖10
圖11
七、這回是看見了,不過樣式太丑,我們改改樣式。
圖12
圖13
八、加上內部距離,就好看了許多,即然是鏈接,我們加點動態吧,當鼠標在鏈接上面時,鏈接塊變色。
圖14
圖15
九、開始做網頁內容,網頁內容我分為三塊,左右兩邊是側欄,中間是主要內容。
圖16
圖17
十、我想讓它橫著排,它卻是豎著排,改改各個塊的樣式。
圖18
圖19
十一、給主體的各個塊加點內容。
圖20
圖21
十二、內容是有了,但你會發現各塊之間沒有間隙,貼得太近了,我們改一下樣式,加個內部距離。
圖22
圖23
十三、距離是有了,但有一個側欄跑到了另一行,怎么回事?原來padding是會改變盒子的整體寬度,我們原本是100%,現在多了padding的寬度,自然就換行了,解決一下吧。
圖24
圖25
十四、這回終于在一行了,接下來可以做網頁底部了。
圖26
圖27
十五、改改樣式,讓底部好看一點。
圖28
圖29
十六,這個時候,網頁的整體版面就完成了,再補充一個小內容,讓網頁瀏覽器在小于600像素寬的時候,主體內容的三個塊由橫變豎。
圖30
圖31
式
@media screen and (orientation: portrait) { html{ width : 100vmin; height : 100vmax; } body{ width : 100vmin; height : 100vmax; } #gyroContain{ width : 100vmax; height : 100vmin; transform-origin: top left; transform: rotate(90deg) translate(0,-100vmin); } } @media screen and (orientation: landscape) { html{ width : 100vmax; height : 100vmin; } body{ width : 100vmax; height : 100vmin; } #gyroContain{ width : 100vmax; height : 100vmin; } }
結構
<html> <body> <div id="gyroContain"> 非常多非常多的文字 </div> </body> </html>
P.S. 如果你的頁面里有from表單要填的話,應該用 「**彈出遮罩層讓用戶旋轉手機**」 的解決方案。檢測手機豎屏下,提示用關閉屏幕旋轉鎖定,并橫置手機。想想手機瀏覽器還是豎屏,而內容卻被強制橫屏的畫面有多奇怪吧...
P.S. 頁面強制橫屏是一碗都快放壞了的冷飯。但文主百度到的解決方法都用了js。文主覺得有些高炮打蚊子。所以自己用Css+Html實現了一個。文章內的代碼只是一個給大家發散思維的littleDemo,你們想豎屏滾動就去掉height加y-auto, 想有背景色就加bg-color,還望大家不要討伐我的不嚴謹啊。第一篇文章,望海涵。其實做為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這里我要推薦c++交流群648,778,840,不管你是小白還是大牛歡迎入住,大家一起交流成長。
學習思路:
學習資料:
*請認真填寫需求信息,我們會在24小時內與您取得聯系。