精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

99视频国产精品免费观看a| 亚洲av综合一区二区| 日韩伦理电影网站| 国产成人高清视频| 91国产精品电影| 精品国产aaa| 24小时成人在线视频| 亚洲午夜激情网页| 日韩av一级大片| 精品免费久久久| 欧美亚洲一区二区三区| 色妞久久福利网| 女王人厕视频2ⅴk| 日韩高清中文字幕一区二区| 亚洲欧洲日产国码二区| 国产精品一区二区三区在线观| 一级特黄免费视频| 欧美日韩精选| 在线视频精品一| 欧美一级片黄色| crdy在线观看欧美| 日本精品一级二级| 成人一级生活片| 国产对白叫床清晰在线播放| 国产91丝袜在线18| 国产一区红桃视频| 精品国产一区二区三区四| 欧美激情91| 上原亚衣av一区二区三区| 午夜剧场免费看| 国模大尺度视频一区二区| 狠狠做深爱婷婷久久综合一区 | 日韩毛片一二三区| 免费看成人午夜电影| www.爱爱.com| 狠狠色狠狠色综合系列| 国产成人鲁鲁免费视频a| 国产精品theporn动漫| 91精品亚洲| 这里只有视频精品| av男人的天堂av| 欧美三级电影在线| 精品国产凹凸成av人网站| 亚洲黄色片免费看| 久久青草免费| 在线视频综合导航| 日韩精品一区二区三区色欲av| 国产黄色大片在线观看| 国产精品国产三级国产a| 天堂资源在线亚洲资源| 国产中文字幕在线观看| 久久久精品tv| 日本一区二区不卡高清更新| 欧美巨乳在线| 久久久久久久久97黄色工厂| 蜜桃成人在线| 欧洲伦理片一区 二区 三区| www成人在线观看| 欧美日韩另类丝袜其他| 深夜影院在线观看| 久久久午夜精品| 欧美日韩精品综合| 18视频免费网址在线观看| 欧美国产国产综合| 亚洲一区二三| 国产传媒在线播放| 亚洲欧洲成人av每日更新| 中文字幕中文字幕在线中心一区| 久操视频在线| 亚洲精品视频在线观看网站| 六月婷婷激情综合| 97人人在线视频| 欧美性69xxxx肥| 青青青国产在线视频| 国产电影一区二区三区爱妃记| 在线观看网站黄不卡| 综合色天天鬼久久鬼色| 99视频热这里只有精品免费| 91久久伊人青青碰碰婷婷| 国产成人精品白浆久久69| 国产美女精品一区二区三区| 国产精品久久久久久久久久久久冷| 理论片中文字幕| 26uuu精品一区二区| 亚洲国产一区二区精品视频| 曰本三级在线| 偷拍一区二区三区四区| 色综合手机在线| 免费看一区二区三区| 亚洲国产精品人久久电影| 成人免费无遮挡无码黄漫视频| 久久一级电影| 久久久久久久久久久av| 免费av中文字幕| 狠狠网亚洲精品| 蜜桃日韩视频| 国产激情在线| 欧美日韩激情小视频| 天天干天天av| 欧美激情网址| 日韩在线观看成人| 日韩黄色一级大片| 蜜臀久久99精品久久久画质超高清 | 欧美视频在线播放| av电影中文字幕| 亚洲自拍电影| 欧美成人激情图片网| 中文字幕黄色片| 国产裸体歌舞团一区二区| 免费试看一区| 欧美午夜大胆人体| 欧美日韩一本到| 在线免费观看成年人视频| 888久久久| 日韩美女主播视频| 亚洲欧美强伦一区二区| 中文字幕一区二区视频| 日韩在线xxx| 国产精品1luya在线播放| 中文字幕亚洲图片| 亚洲高清毛片一区二区| 国产不卡在线视频| 一本一道久久a久久精品综合| 在线高清av| 欧美成人video| 强制高潮抽搐sm调教高h| 久久蜜桃精品| 精品国产乱码久久久久久108| 精品黄色免费中文电影在线播放| 一本到三区不卡视频| 欧美肉大捧一进一出免费视频| 亚洲欧美在线专区| 国产精品男人爽免费视频1| 天堂影院在线| 亚洲成av人片在www色猫咪| 亚洲图片 自拍偷拍| 欧美特黄一级大片| 国产成人精品在线| 亚洲欧洲综合在线| 亚洲成a人v欧美综合天堂| 佐山爱在线视频| 天天插综合网| 成人av在线亚洲| av国产在线观看| 欧美三级在线播放| 国产主播av在线| 蜜桃视频一区二区三区| 五码日韩精品一区二区三区视频| 吞精囗交69激情欧美| 国产视频久久久久久久| 日韩av黄色片| 成人av免费网站| 成人免费aaa| 精品伊人久久久| 5278欧美一区二区三区| 三级在线视频| 一本大道久久a久久综合婷婷| 精品人妻一区二区三区视频| 久久亚洲欧美| 无码免费一区二区三区免费播放| 成人在线视频观看| 日韩在线视频国产| 国产欧美综合视频| 亚洲在线视频一区| 日批在线观看视频| 性高湖久久久久久久久| 日韩精品不卡| 深夜视频一区二区| 爱福利视频一区| 国产99对白在线播放| 亚洲国产日韩a在线播放| 国产精品久久无码| 日韩精品一级中文字幕精品视频免费观看| 日本在线观看一区二区| 麻豆久久久久| 欧美日本国产在线| 午夜视频www| 色菇凉天天综合网| 免费精品在线视频| 懂色一区二区三区免费观看| 日韩精品视频久久| 日韩成人精品一区| 99中文字幕| 亚洲成a人片| 久久激情视频免费观看| 殴美一级特黄aaaaaa| 91国内精品野花午夜精品| 国产稀缺精品盗摄盗拍| 99精品桃花视频在线观看| 黄色免费网址大全| 欧美成人高清| 欧美在线视频二区| 日韩精品成人在线观看| 国产成人+综合亚洲+天堂| 菠萝菠萝蜜在线视频免费观看| 亚洲国产精品va在看黑人| 波多野结衣不卡| 一区二区三区日韩在线观看| 国产美女精品久久| 国产乱码字幕精品高清av | 欧美巨胸大乳hitomi| 国产91综合网| 天天综合网日韩| 亚洲激情成人| 亚洲AV无码成人精品一区| 欧美电影在线观看免费| 91免费国产网站| 国产高清不卡| 久久久久久中文字幕| av在线收看| 日韩成人av网址| av一级黄色片| 欧美日韩视频第一区| 久久艹免费视频| 一区二区免费在线| 99在线视频免费| 久久综合九色综合欧美就去吻| 91亚洲一区二区| 免费在线观看一区二区三区| 欧美视频在线观看网站| 永久亚洲成a人片777777| 日韩免费中文专区| 老司机凹凸av亚洲导航| 91免费国产网站| 激情久久一区二区| 国产成人精品a视频一区www| 2021天堂中文幕一二区在线观| 久久精品小视频| 77导航福利在线| 国产亚洲欧美aaaa| 欧美少妇另类| 日韩精品视频免费在线观看| 隣の若妻さん波多野结衣| 日韩欧美资源站| 国产精品怡红院| 欧美男生操女生| 在线观看国产精品视频| 91黄色免费观看| 无码人妻精品一区二| 好吊成人免视频| 美日韩一二三区| 偷拍一区二区三区四区| 日本熟伦人妇xxxx| 亚洲va中文字幕| 日韩精品视频免费播放| 亚洲成av人在线观看| 日本一本高清视频| 五月激情综合色| 久久国产视频一区| 色婷婷久久久亚洲一区二区三区| 久久久精品视频网站| 色综合天天综合网天天狠天天| 成人公开免费视频| 色哟哟在线观看一区二区三区| 天天干天天色综合| 欧美无乱码久久久免费午夜一区| 中文字幕免费视频观看| 欧美日韩在线三区| 国产精品久久久久久久一区二区| 欧美精品 国产精品| 国产99对白在线播放| 精品国产免费人成电影在线观看四季 | 欧美另类久久久品| 国产男男gay体育生网站| 日韩一区二区免费在线电影| 亚洲av无码国产综合专区| 精品成人一区二区| 亚洲AV第二区国产精品| 亚洲一区二区福利| 久久bbxx| 久久久久久这里只有精品| 一本大道色婷婷在线| 国产精品一区二区3区| 曰本一区二区| 国产精品毛片va一区二区三区| 日韩黄色网络| 亚洲一区二区自拍偷拍| 黄色欧美日韩| 99精品免费在线观看| 久久精品国产亚洲高清剧情介绍 | 久久久久久久久久久久久女国产乱 | 日韩影视在线观看| 相泽南亚洲一区二区在线播放| 久久精品国内一区二区三区水蜜桃| 日韩一级免费看| 国产精品乱看| 国产一区二区在线观看免费视频| 大白屁股一区二区视频| 精品无人区无码乱码毛片国产 | 日韩一区精品| 亚洲一区二区三区在线视频 | 亚洲国产精品日韩| 欧美特黄视频| 天天干在线影院| 白白色 亚洲乱淫| 一本一本久久a久久| 偷拍与自拍一区| 国产探花精品一区二区| 亚洲男女自偷自拍图片另类| fc2ppv国产精品久久| 国产成人av在线| 一区二区三区在线免费看| 日韩片电影在线免费观看| 亚洲性视频h| 国产色视频在线播放| 91在线porny国产在线看| 秋霞欧美一区二区三区视频免费 | 在线观看视频二区| 亚洲精品97久久| h片在线播放| 国产精品久久久久国产a级| www.成人网| 精品久久免费观看| 久久久久国产精品一区三寸| 特黄特色免费视频| 国产精品精品国产色婷婷| 成年人av网站| 亚洲国产小视频| aa在线视频| 国产综合视频在线观看| 欧美美女在线观看| 免费成人午夜视频| 国产成人精品一区二| 日本爱爱小视频| 在线观看不卡一区| 精品欧美不卡一区二区在线观看 | jizz欧美| 欧美日韩精品免费在线观看视频| 亚洲图片在线| 人妻精品久久久久中文字幕69| 国产精品久久久久久久蜜臀| www.国产一区二区| 亚洲精品98久久久久久中文字幕| 青青在线视频| 99三级在线| 欧美 日韩 国产一区二区在线视频 | 欧美丰满艳妇bbwbbw| 在线播放一区二区三区| 最近高清中文在线字幕在线观看| 日韩美女激情视频| 欧美影院天天5g天天爽| 青青青免费在线| 91色porny在线视频| 99热国产在线观看| 日韩av在线播放资源| 色在线中文字幕| 免费看国产精品一二区视频| 亚洲一区中文| mm131丰满少妇人体欣赏图| 色美美综合视频| 国产高清视频免费最新在线| 国产精品久久久久久av| 久久在线播放| www,av在线| 亚洲在线视频一区| 天堂网在线资源| 国产91亚洲精品| 日韩精品一区二区久久| 在线看免费毛片| 一区二区在线观看视频在线观看| 国产高清第一页| 992tv在线成人免费观看| 尤物tv在线精品| 色悠悠久久综合网| 成人欧美一区二区三区1314| www.桃色av嫩草.com| 久久久久久久久电影| 免费看日本一区二区| 一区二区三区网址| 亚洲精品欧美专区| 神马一区二区三区| 国产成人精品午夜| 一区二区三区午夜探花| 在线看黄色的网站| 色婷婷av一区二区三区大白胸| 91社区在线观看| 91精品国产99久久久久久红楼| 亚洲精品免费观看| 欧美人与性囗牲恔配| 91精品免费观看| 蜜桃视频动漫在线播放| 日韩精品久久久毛片一区二区| 国产曰批免费观看久久久| 日本三级欧美三级| 一区二区三区国产在线观看| 蜜桃精品视频| jizz欧美激情18| 一区二区三区欧美在线观看| 男同在线观看| 91嫩草在线| 免费久久99精品国产自在现线| 精品无码一区二区三区蜜臀| 亚洲精品久久久久久久久久久| 久久精品xxxxx| 黄页网站在线观看视频| 国产精品拍天天在线| 欧美一区二区黄片| 国产精品爽黄69| 最新亚洲视频| 日本黄色免费片|