日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

响应式网页布局 - W3Schools How-Tos 01

發布時間:2023/12/10 HTML 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 响应式网页布局 - W3Schools How-Tos 01 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

W3Schools教學系列

W3Schools是知名的網頁設計/前端開發教學網站,不僅提供HTML、CSS、JavaScript等的詳盡教學,還可以把它當作說明文件(Documents)。有經驗的前端或多或少已經接觸過這個網站,因為它經常出現在搜索結果的前幾項。其中,它的How To部分更是包含了大量非常實用的例子,例如,如何制作SlideShow(圖片輪播)、Lightbox、Parallax(視差效果)等等。因此我想做一系列的影片專門介紹這些How To。

視頻連結

  • B站
  • YouTube

響應式網頁布局

今天已經是2019年,基本上所有新建的網頁都會是響應式(Responsive),以適應在手機顯示。而實現響應式網頁布局主要有3種方法:

  • Float
  • Flexbox
  • CSS Grid
  • 當然,以上三者都需要搭配Media Query使用。

    其中CSS Grid是最新,也是我最推崇的,但由于太新,較舊的瀏覽器并不支持。不過,大部分的瀏覽器其實都已經支持了,我個人不會太擔心。要想知道哪些瀏覽器支持CSS Grid(或其他新功能),可以前往Can I Use查詢。CSS Grid完全就是為了網頁布局及其他二維(橫向加縱向)布局而設計的,相信未來的網頁都會采用這一設計。

    Flexbox也算新,但瀏覽器支持的情況比CSS Grid要好點。基本上,目前主流已經轉向Flexbox,Bootstrap就是很好的例子。但其實,Flexbox是為一維布局設計的(橫向或縱向),而網頁布局往往是二維的,Flexbox并非最佳選擇,但由于CSS Grid來得太遲,Flexbox又能完成任務,現在不少新的網頁以及前端框架采用Flexbox。

    Float原來是設計來處慮理文繞圖之類的問題,后來被用于布局設計。Float布局有著各種各樣的問題,已經在逐漸淘汰中,但由于過去應用太普遍,相信短時間內并不會消失,因此也有必要瞭解。

    這三種設計,W3Schools都有介紹。我會分成三篇來講,今天先從最古老的Float開始。

    Float網頁布局

    Float布局的重點是

  • 讓元素靠向同一個方向(左或右)
  • 用百分比控制每一個元素的寬度
  • 透過Media Query改變元素寬度以適應不同屏幕尺寸
  • W3Schools的例子

    這個例子的重點有兩處,一是設定左右兩柵都向左float,寬度分別為75%和25%:

    /* Left column */ .leftcolumn { float: left;width: 75%; }/* Right column */ .rightcolumn {float: left;width: 25%;background-color: #f1f1f1;padding-left: 20px; }

    二是Media Query設定當屏幕尺寸小于800px時,讓左右兩柵的寬度都變成100%,以實現響應式設計(Responsive Design):

    @media screen and (max-width: 800px) {.leftcolumn, .rightcolumn { width: 100%;padding: 0;} }

    或許你會注意到導航欄(.topnav)也進行了類似的處理,由于原理一樣,就不多說了。

    改進:移動優先原則(Mobile First)

    之前介紹過移動優先原則,即先設計小屏幕版,再透過Media Query設定桌面版。W3Schools的這個例子并沒有采取這一原則,我們可以自行修改,使之符合。方法很簡單,只要將Median Query里的內容和外面相應的內容反過來即可,不要忘了把Media Query從max-width改為min-width。

    /* Left column */ .leftcolumn { float: left;width: 100%; }/* Right column */ .rightcolumn {float: left;width: 100%;background-color: #f1f1f1;padding: 0; } @media screen and (min-width: 800px) {.leftcolumn { width: 75%;}.rightcolumn {width: 25%;padding-left: 20px;} }

    你可以試著自行將.topnav也修改一下,要注意,width如果沒有特別指定便是auto,另外,我發現原本例子采用的400px作為斷點,換成min-width之后沒有反應,需要改為500px。具體原因,我也不太確定,如果你知道的話,歡迎告知。

    我開了一個GitHub的倉庫專門放W3Schools系列的代碼,要查看Mobile First版的代碼請移步:W3Schools GitHub

    總結

    以上是生活随笔為你收集整理的响应式网页布局 - W3Schools How-Tos 01的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。