摘要:左右兩部分對稱顯示,屬性均為,屬性均為,屬性均為,屬性則分別為和。底部此部分的樣式設置與頂部導航欄的類似,只是需要將版權信息相關的文字在水平和垂直兩個方向上均居中對齊即可。
先來一張預覽圖。
接下來說一說這種頁面布局的實現思路,因為自己是從零開始的,所以著實花了好幾天功夫才實現了這么一個看起來很簡單的布局,所有東西都要自己一點點摸索,不過這種經歷對于自己的成長也是很有幫助的。好了,下面進入正題。
在寫這個頁面的過程中,其實不管是 HTML 代碼的結構,還是 CSS 的實現方式,思路一直都是在變化的,目前的布局如下:
HTML 代碼結構頂部為導航欄 .header:包括左側的logo,以及右側的用戶菜單;
中間為左右對稱的導航區 .entrance:左右兩塊采用不同的背景圖(background-image),背景之上有鏈接,點擊就會轉向不同的頁面;
底部為包含版權信息的 .footer。
CSS 樣式設置 頂部 .header由于這一部分需要覆蓋在導航區之上,所以通過 absolute 屬性來令其脫離正常的文檔流,放在頁面頂部。
同時為了實現覆蓋的效果,就需要設置 z-index 屬性,該屬性值大于等于 1 時,即可堆疊在普通元素之上。
有一點需要注意的就是,只有設置過 position 屬性的元素(relative、absolute、fixed),z-index 屬性才能生效。而之前將中間區域的 z-index 值設置為 -1,后來發現鏈接無法點擊,找了一圈才發現是這里出了問題,打牢基礎至關重要啊。
為了保證在不同尺寸的瀏覽器窗口中均能正常顯示,就需要設置 min-width 及 width 屬性。width 屬性被設置為 100%,以占滿瀏覽器寬度,而真正用于展示頂部導航欄內容的子元素 .header-container 的 width 屬性則被設置為 80%,這是因為頂部導航欄的內容并不多,左右兩側留白,視覺效果較好。
中間 .entrance左右兩部分區域對稱顯示是通過設置 position 屬性實現的,所以父元素設置為 position: relative;,同時為了保證在不同尺寸的瀏覽器窗口中均能正常顯示,寬度設置與頂部 .header 相同。
左右兩部分對稱顯示,width 屬性均為 50%,position 屬性均為 absolute,top 屬性均為 0,left 屬性則分別為 0 和 50%。
為了讓背景正常顯示,均設置 background-size: 100% 以及 background-repeat: no-repeat;,這樣背景就能在水平方向上填滿整個元素。
底部 .footer此部分的樣式設置與頂部導航欄的類似,只是需要將版權信息相關的文字在水平和垂直兩個方向上均居中對齊即可。版權文字為 .footer 內的 .copyright 之中的
標簽,所以對 .footer 設置 flex 屬性,以便讓其中的 .copyright 在兩個方向上均居中對齊。
display: flex; justify-content: center; align-items: center;樣式調整 根據窗口大小重設背景
為了保證用戶調整瀏覽器窗口之后,背景圖片能夠適應新的窗口尺寸,所以用 JS 來設置包含背景圖的元素的高度屬性,代碼如下。
上面的代碼中,viewPortHeight 之所以還要減去 90,是因為底部 .footer 高度為 90,如果不減去這個高度值,在底部 .footer 下方還會多出來一小塊空白區域,所以就加了這么一句。
目前做出來的頁面依然有小 bug,不過入口頁只是作為展示,現有的 bug 對頁面功能影響很小,所以這個 bug 先放一邊。畢竟需要做的事情還有很多,總要分一個輕重緩急,這也是工作中需要時常注意的一件事。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/54341.html
摘要:左右兩部分對稱顯示,屬性均為,屬性均為,屬性均為,屬性則分別為和。底部此部分的樣式設置與頂部導航欄的類似,只是需要將版權信息相關的文字在水平和垂直兩個方向上均居中對齊即可。 先來一張預覽圖。 showImg(https://segmentfault.com/img/bVwC3j); 接下來說一說這種頁面布局的實現思路,因為自己是從零開始的,所以著實花了好幾天功夫才實現了這么一個看起來...
摘要:左右兩部分對稱顯示,屬性均為,屬性均為,屬性均為,屬性則分別為和。底部此部分的樣式設置與頂部導航欄的類似,只是需要將版權信息相關的文字在水平和垂直兩個方向上均居中對齊即可。 先來一張預覽圖。 showImg(https://segmentfault.com/img/bVwC3j); 接下來說一說這種頁面布局的實現思路,因為自己是從零開始的,所以著實花了好幾天功夫才實現了這么一個看起來...