精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用CSS Flexbox 構建可靠實用的網站 Header

開發 架構
在 CSS3 沒有普及的時候,創建一個網站 header 是一項既可怕又困難的任務 ?

 [[360340]]

本文已經過原作者 Shadeed 授權翻譯。

在 CSS3 沒有普及的時候,創建一個網站 header 是一項既可怕又困難的任務 ?。那時,Flexbox 還是個新東西,我們不得不使用老方法,比如 float和clearfix技術。今天,情況完全不同了,Flexbox 得到了廣泛的支持,大大的減少了我們的開發工作,同時也為我們提供了更多的可能性。

有人可能會說,現在 CSS3 這么普及,制作一個網站 header 不是很容易么 ??并非如此,因為有一些有趣的挑戰需要解決,在本文中我們會介紹其中的幾種。

簡介首先,這里所說的網站 Header 是用戶訪問網站時首先看到的內容之一。通常,它包含logo或網站名稱以及導航鏈接,如下所示:

 

不管 Header 的視覺設計如何,關鍵元素都是logo 和導航。

Flexbox

當 flexbox 應用于 Header 元素時,它將使所有子項目在同一行中。然后,你所需要做的就是應用justify-content來分配它們之間的間距。

html

 

  1. <header class="site-header"
  2.   <a href="#" class="brand">Brand</a> 
  3.   <nav class="nav"></nav> 
  4. </header> 

 

css

  1. .site-header { 
  2.   display: flex; 
  3.   justify-content: space-between
  4.   align-items: center; 

很簡單,對吧?對于這樣的用例,是的,可能會比這更復雜。

Header Wrapper

在上面的 lago 和 nav 外沒有包含一層 wrapper,這在大屏幕可能會出現問題。

 

從上可以看到第一個Header太寬了,因為它沒有內部 wrapper 相比第一個,第二個看起來好多了。所以,我們可以對 HTML 進行如下調整。

 

 

flexbox應該移動到.site-header__wrapper元素中。

  1. .site-header__wrapper { 
  2.   display: flex; 
  3.   justify-content: space-between
  4.   align-items: center; 

使用 flex-wrap當屏幕很小的時候,可以水平滾動。見下圖

 

如果沒有設置flex-wrap: wrap,當屏幕過小的時候就會出現水平滾動,如果不想這樣,可以加上 flex-wrap: wrap` ?。

Header 的多種形式

我喜歡使用flexbox的原因是它可以很容易地處理 header 設計的多種變化。基于前面的 header 設計,我擴展了 header 元素的一些選項,如添加按鈕、搜索輸入和更改子項目的順序。

Header 變化 1

 

假設我想要在導航鏈接旁邊添加了一個按鈕。這應該如何處理?我們應該把它作為鏈接添加到導航欄中嗎?還是應該和導航分開?我更喜歡這樣做。

 

 

這種情況下,我們不能在用 justify-content: space-between來處理間隙,相反,我會在 nav 元素上使用 margin-left: auto,

這樣,它就會自動向右靠齊。

 

將導航和 track 按鈕分開對于移動設備非常有用,因為我們需要保留該按鈕并在其旁邊顯示一個移動切換按鈕。

 

Header 變化 2

 

與第一個變化類似,這個變化增加了一個搜索輸入,占用了剩余的可用空間。對于flexbox,這可以通過使用flex屬性來實現。

html

  1. <header class="site-header"
  2.   <div class="wrapper site-header__wrapper"
  3.     <a href="#" class="brand"><img src="logo.svg" alt="brand" /></a> 
  4.     <div class="search"></div> 
  5.     <nav class="nav"></nav> 
  6.     <a href="/track-shipment" class="button">Track</a> 
  7.   </div> 
  8. </header> 

 

css

  1. .search { 
  2.   flex: 1; 

現在,搜索輸入將填充 brand 和nav 之間的可用空間。但是,這有一些限制。在較小的視口上,header 將如下所示:

 

搜索輸入寬度不應小于此寬度,因為這樣很難輸入和查看全文。下面有兩種解決方案:

 

我更喜歡第二種解決方案,因為它不會過早隱藏導航。一般來說,如果元素不影響布局,我會盡量避免隱藏它。

Header 變化 3

 

對于這個示例,HTML標記是相同的,但是 header 里的元素順序是不同的。我們如何才能做到這一點? 你可能想到用 order 屬性來解決這個問題 ?

html

  1. <header class="site-header"
  2.   <div class="wrapper site-header__wrapper"
  3.     <a href="#" class="brand"><img src="logo.svg" alt="brand" /></a> 
  4.     <nav class="nav"></nav> 
  5.     <a href="/track-shipment" class="button">Track</a> 
  6.   </div> 
  7. </header> 

 

css

  1. .site-header { 
  2.   display: flex; 
  3.   justify-content: space-between
  4.  
  5. .nav { 
  6.   order: -1; 

 

這樣有個問題,間隔空間不會使 logo 居中,它只是分散項目之間的空間。

解決方案是給每個子項一個flex: 1,這將在它們之間分配可用空間。

  1. .brand, 
  2. .nav, 
  3. .button { 
  4.   flex: 1; 

 

這樣,由于flex: 1,按鈕元素變寬了, 解決此問題的唯一方法是將其包裹到另一個元素中。

HTML

  1. <header class="site-header"
  2.   <div class="wrapper site-header__wrapper"
  3.     <a href="#" class="brand"><img src="logo.svg" alt="brand" /></a> 
  4.     <nav class="nav"></nav> 
  5.     <div class="button-wrapper"
  6.       <a href="/track-shipment" class="button">Track</a> 
  7.     </div> 
  8.   </div> 
  9. </header> 

 

這樣,我們就可以將下面的logo和按鈕居中。

.logo { text-align: center;}/* 不要介意這里的命名,這只是出于演示*/.button-wrapper { text-align: end; /* end 等同于LTR語言中的right */}

 

但是,如果添加了更多導航鏈接,這種方法很容易失敗。我們需要確保導航鏈接的數量不會超過特定的限制。下面一個logo偏離中心的例子 ?:

 

 


 

 

正如在上圖中看到的,logo沒有居中。所以要記住這一點,以避免這種意想不到的問題 ?。

使用 Flexbox 構建 Header 的有用技巧flex-basis

如果某個元素需要在移動設備上占據整個寬度(不能隱藏的重要導航),我會使用flex-basis: 100% ?。


 

 

從上面的模型看,做起來可能很簡單。實際上不是。通常,header 可能有一個內部間距(padding),當我們強制某項占據全部寬度時,除非清除padding ,否則它不會生效。但是,刪除padding不切實際,因為它將影響設計中的其他元素 ?。

下面解決此問題的一種解決方法 ?:

  1. 將flex: 1 0 100%添加到導航元素。
  2. 如有需要,請更改其order。有時,可能還有其他元素,我們想確保導航是最后一個。
  3. 加上一個等于寬度等于 padding 的負 margin,這也會讓導航占據整個寬度。
  4. 在導航中添加 padding,這會增加一些適當的空間。
  5. 最后,使用了justify-content: center將導航項居中(不重要)
  1. .nav { 
  2.   flex: 1 0 100%; /* [1] */ 
  3.   order: 2; /* [2] */ 
  4.   margin: 1rem -1rem -1rem -1rem; /* [3] */ 
  5.   padding: 1rem; /* [4] */ 
  6.   display: flex; /* [5] */ 
  7.   justify-content: center; /* [5] */ 

 

間距

著 Chrome 和 Firefox 支持flex gap屬性,現在在flex項目之間添加間距比以往任何時候都容易。考慮以下標題


 

 

要做到上圖的高亮間距,只需將gap: 1rem添加到flex父節點。沒有了gap,我們還是需要用舊的方式來間隔 ?。

  1. /* 老的方式 */ 
  2. .brand { 
  3.   margin-right: 1rem; 
  4.  
  5. .sign-in { 
  6.   margin-right: 1rem; 
  7.  
  8. /* 新的方式 */ 
  9. .site-header { 
  10.   /* Other flexbox styles */ 
  11.   gap: 1rem; 

作者:Shadeed 譯者:前端小智 來源:ishadeed原文:https://ishadeed.com/article/website-headers-flexbox/

 本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2017-10-10 15:52:17

前端FlexboxCSS Grid

2025-07-10 00:00:00

2021-10-12 15:00:00

Jekyll網站生成器開源

2017-07-10 13:09:45

前端Flexbox

2023-10-23 10:06:53

數據性能

2023-06-01 15:14:55

架構Python微服務

2025-06-05 08:00:00

Go事件驅動系統編程

2022-11-14 11:41:13

SVG開發組件

2023-02-13 15:09:01

開發webCSS技巧

2022-07-21 07:05:13

粒子動畫CSS

2023-12-19 13:31:00

CSS前端技巧

2010-08-27 10:12:53

CSS

2010-08-24 10:26:47

DIV+CSS

2024-12-12 08:55:25

CSS代碼模式

2024-02-26 08:20:00

CSS開發

2020-10-26 08:06:59

網絡技巧CSS

2010-09-14 17:33:55

DIV+CSS布局

2010-08-16 13:46:20

DIV+CSS

2014-02-21 15:35:30

應用交付高頻交易

2024-07-26 08:45:54

點贊
收藏

51CTO技術棧公眾號

日韩av片在线| 国产毛片视频网站| 国产理论视频在线观看| 欧美阿v一级看视频| 精品美女在线播放| 久久久久免费看黄a片app| 免费人成在线观看网站| 日韩中文字幕亚洲一区二区va在线 | 精品国产1区2区3区| 日本黄色三级大片| 国产三级在线播放| 91在线你懂得| 成人国内精品久久久久一区| 日韩乱码一区二区| 欧美肉体xxxx裸体137大胆| 欧美videos大乳护士334| 亚洲人成色77777| 直接在线观看的三级网址| 久久久亚洲高清| 97中文在线观看| 5858s免费视频成人| 久久伊人免费视频| 97精品人妻一区二区三区蜜桃| 欧美13videosex性极品| 国产精品福利电影一区二区三区四区| 999精品视频一区二区三区| 国产欧美在线看| 国产视频精品免费| 亚洲精品3区| 欧美xxxxxxxx| 天美一区二区三区| 成人激情视屏| 日韩欧美一区视频| 日韩人妻无码精品久久久不卡| 亚洲1卡2卡3卡4卡乱码精品| 久久亚洲一区二区三区明星换脸 | 不卡一区二区在线| 91免费人成网站在线观看18| 国产一卡二卡三卡| 国产精品美女| 992tv在线成人免费观看| 成人在线观看小视频| 日韩毛片视频| 一区二区三区高清国产| 国产精品无码一区二区三区免费| 一本一道久久a久久| 欧美一区二区三区精品| 日韩在线一区视频| 国产精品麻豆成人av电影艾秋| 色哟哟亚洲精品| 99精品视频在线看| 国产中文在线播放| 午夜欧美视频在线观看| 国产欧美日韩小视频| 久草成色在线| 亚洲成人免费影院| www在线观看免费| 91资源在线观看| 亚洲va国产va欧美va观看| 青青青青在线视频| 91探花在线观看| 偷拍日韩校园综合在线| 国产网站免费在线观看| 天天综合av| 一本色道亚洲精品aⅴ| 韩国日本在线视频| 成人做爰免费视频免费看| 欧美亚洲一区二区在线| 99热一区二区| 国产日韩欧美中文在线| 精品免费99久久| 国产精品久久不卡| 九九久久婷婷| 最新的欧美黄色| 国产高潮流白浆| 亚洲性色视频| 日本高清不卡在线| 中文字幕乱码视频| 国产剧情在线观看一区二区| 国产精品初高中精品久久| 天堂av资源网| 中文成人综合网| 艳母动漫在线观看| 2020国产在线| 欧美系列亚洲系列| 国产一级二级av| 亚州精品视频| 精品国产一区二区三区在线观看| 午夜免费激情视频| 99国产精品| 国产久一一精品| 亚洲国产精品二区| 久久精品亚洲精品国产欧美kt∨ | 性欧美丰满熟妇xxxx性仙踪林| 精品国产乱码久久久久久果冻传媒| 日韩中文字幕久久| 欧美亚洲天堂网| 奇米影视一区二区三区| 国产成人一区二区三区免费看| 青青草超碰在线| 亚洲三级在线免费观看| 日本wwww视频| 看亚洲a级一级毛片| 亚洲欧美日韩在线高清直播| 91九色丨porny丨极品女神| 噜噜噜在线观看免费视频日韩| 成人黄在线观看| av女名字大全列表| 综合电影一区二区三区 | 久88久久88久久久| 久久国产精品高清| 97caopron在线视频| 色婷婷综合久久久中文字幕| 少妇丰满尤物大尺度写真| 亚洲自拍电影| 久久久久久综合网天天| 一级片在线免费观看视频| 久久综合狠狠综合| 无码人妻精品一区二区蜜桃网站| 欧美色片在线观看| 亚洲精品国产精品久久清纯直播| 国产又粗又硬又长又爽| 玖玖玖国产精品| 国产日本一区二区三区| jizzjizz亚洲| 欧美日韩国产一二三| 人人妻人人藻人人爽欧美一区| 欧美fxxxxxx另类| 国产日韩欧美另类| 成全电影播放在线观看国语| 丁香五六月婷婷久久激情| 中文字幕乱码在线人视频| 日韩精品一区二区三区免费观看| 欧美在线一级视频| 五十路在线视频| 亚洲一区二区免费视频| 日韩欧美中文视频| 国产精品99久久| 国产精品直播网红| 91在线观看| 欧美吞精做爰啪啪高潮| 黄色片网站免费| 久久久久一区| 日本一区二区在线视频观看| 成人免费直播| 亚洲精选在线观看| 视频一区二区三区四区五区| 91丨九色丨尤物| 九九爱精品视频| 免费成人三级| 国产91av在线| 日本视频在线观看一区二区三区| 亚洲一二三四区| 天天躁日日躁狠狠躁免费麻豆| 欧美天天视频| 国产一区二区免费在线观看| 国产拍在线视频| 日韩成人在线视频| 精品国产一区二区三区四| 91麻豆成人久久精品二区三区| 久久国产乱子伦免费精品| 国产欧美日韩一区二区三区四区| 国产精品91视频| 在线免费看av| 91精品在线麻豆| 欧美日韩成人免费观看| 成人黄色大片在线观看| 免费黄色日本网站| 国内成人精品| 91亚洲国产成人久久精品网站| 丝袜在线观看| 亚洲精品成人久久| 奴色虐av一区二区三区| 亚洲欧洲成人精品av97| 中文字幕乱妇无码av在线| 日韩午夜免费视频| 视频二区一区| 欧美a在线观看| 97avcom| 成人在线免费电影| 91麻豆精品国产综合久久久久久 | 亚洲在线视频观看| 不卡av免费观看| 亚洲欧美日韩一区二区三区在线| 亚洲在线观看av| 洋洋成人永久网站入口| 中文字幕日韩三级片| 日本不卡一区二区| 69精品丰满人妻无码视频a片| 欧美一级色片| 成人国内精品久久久久一区| 国产一线二线在线观看| 亚洲天堂第一页| 国产人妻精品一区二区三| 天天操天天综合网| av在线免费播放网址| 成人免费视频caoporn| 欧美在线观看视频网站| 欧美精品导航| 日韩精品欧美专区| 91成人噜噜噜在线播放| 国产精品久久久久久久久久新婚| 亚洲按摩av| 在线看国产精品| 人妻少妇一区二区三区| 欧美日韩亚洲综合| 国产又黄又爽又色| 亚洲毛片av在线| 成人无码av片在线观看| 懂色av中文字幕一区二区三区| 日本888xxxx| 伊人成人网在线看| 91xxx视频| 欧美日中文字幕| 久久婷婷国产综合尤物精品| 日本精品在线观看| 国产精品网站视频| 亚洲十八**毛片| 久久久欧美一区二区| 精品国产丝袜高跟鞋| 亚洲小视频在线观看| 三级网站在线看| 日韩你懂的在线观看| 亚洲视频在线观看一区二区 | 欧美精品福利视频| 免费人成在线观看播放视频| 亚洲欧美日韩国产中文| 天堂在线资源8| 日韩欧美国产1| 国产三级漂亮女教师| 欧美综合亚洲图片综合区| 日本三级小视频| 偷拍与自拍一区| 91久久国产视频| 亚洲一卡二卡三卡四卡| 在线观看成人毛片| 亚洲六月丁香色婷婷综合久久 | 一本大道av一区二区在线播放| 精品无码久久久久| 一区二区三区精品| 校园春色 亚洲| 亚洲激情图片qvod| 最新黄色av网址| 国产精品护士白丝一区av| 国产又黄又粗视频| 国产欧美日韩亚州综合| jizz中文字幕| 欧美韩国日本不卡| 日本一道本视频| 国产精品视频一二三| 精品日韩在线视频| 中文字幕免费观看一区| 亚洲色图日韩精品| 最新不卡av在线| 国产一区二区三区在线视频观看| 国产精品久久久久天堂| 永久免费看片直接| 亚洲黄色免费网站| 久草视频精品在线| 欧美性高潮床叫视频| 日韩熟女一区二区| 欧美三区在线观看| 一二三区在线播放| 日韩午夜精品视频| 丰满肉肉bbwwbbww| 日韩福利在线播放| 国产h在线观看| 久久精品人人爽| 手机在线免费av| 欧美性视频网站| 成人高清一区| 91在线免费看网站| 99久久免费精品国产72精品九九| 精品亚洲第一| 精品久久影视| 国产精品啪啪啪视频| 亚洲第一精品影视| 国产免费人做人爱午夜视频| 麻豆国产精品一区二区三区| 先锋资源在线视频| 2020国产精品自拍| 精品一区二区在线观看视频| 亚洲午夜久久久| 日日夜夜操视频| 欧美一级二级三级乱码| 天天干视频在线| 中文字幕日韩免费视频| 金瓶狂野欧美性猛交xxxx | 欧美男人天堂网| 日韩一区二区影院| 四虎精品在线| 久久五月天综合| 国模冰冰炮一区二区| 亚洲free性xxxx护士hd| 五月天亚洲色图| 国产人妻互换一区二区| 国产精品一区毛片| 午夜激情影院在线观看| 久久先锋影音av| 久草视频中文在线| 在线免费观看视频一区| 亚洲精品字幕在线| 中文字幕欧美日韩在线| 久热在线观看视频| 亚洲www视频| 成人精品中文字幕| 色综合久久久久无码专区| 国产一区二区视频在线| 免费在线观看你懂的| 亚洲一区在线视频观看| 一二三区在线播放| 亚洲精品永久免费精品| 欧洲性视频在线播放| 国产欧美一区二区三区在线| 三级小说欧洲区亚洲区| 国产欧美123| 美女一区二区三区| 免费观看av网站| 亚洲1区2区3区视频| 99久久精品国产一区二区成人| 亚洲视频国产视频| 华人av在线| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 欧美激情xxxx性bbbb| 亚洲人体在线| 亚洲国产高清国产精品| 久久久一二三| 97人妻精品一区二区三区免 | 成人福利一区| 国产精品99久久久久久大便| 免费成人av资源网| 熟女俱乐部一区二区| 疯狂欧美牲乱大交777| 免费a级片在线观看| 九色成人免费视频| 精品国产亚洲一区二区三区在线 | 情侣偷拍对白清晰饥渴难耐| 欧洲一区二区av| 国自产拍在线网站网址视频| 欧美诱惑福利视频| 亚洲日本三级| jizzjizzxxxx| 久久久精品2019中文字幕之3| 二区视频在线观看| 日韩精品在线免费观看视频| 美女av在线免费看| 精品乱色一区二区中文字幕| 日韩视频二区| 女人被狂躁c到高潮| 欧美午夜性色大片在线观看| 午夜在线视频免费| 欧美综合一区第一页| 亚洲深夜福利在线观看| 欧美视频第一区| 欧美韩日一区二区三区四区| 中文天堂在线播放| 色悠悠久久久久| 伊人久久一区| 精品视频在线观看一区二区| 成人污视频在线观看| 日韩免费一级片| 精品亚洲一区二区三区四区五区| 欧美天堂视频| 亚洲免费不卡| 国产一区二区0| 国产成年人免费视频| 日韩av网站大全| 欧美成人免费电影| 永久免费精品视频网站| 国产高清精品在线| 午夜精品久久久久久久久久久久久蜜桃| 日韩精品在线观看一区二区| 日本欧美韩国| japanese在线播放| eeuss国产一区二区三区 | 日韩经典一区二区| jizz日本在线播放| 欧美mv日韩mv| 欧美大胆成人| 蜜桃视频一区二区在线观看| zzijzzij亚洲日本少妇熟睡| 国产精品传媒在线观看| 超碰日本道色综合久久综合| 女人抽搐喷水高潮国产精品| 三级a三级三级三级a十八发禁止| 亚洲黄色av一区| 国产系列电影在线播放网址| 亚洲a∨日韩av高清在线观看| 亚洲韩日在线| 91禁男男在线观看| 亚洲成人久久网| 懂色aⅴ精品一区二区三区| 欧美久久在线观看| 国产精品色在线观看| 天堂中文网在线| 亚洲综合一区二区不卡| 久久xxxx| 国产精品99re| 色婷婷久久av| 妖精一区二区三区精品视频 |