<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      關(guān)于響應(yīng)式布局,你需要了解的知識點

      大家好,我是樹哥。

      相信大家都知道我最近在學(xué)習(xí)前端知識,最近學(xué)到了響應(yīng)式這塊的內(nèi)容。既然學(xué)到這塊內(nèi)容,那我必然會遵循「理論 - 實踐 - 總結(jié)」的學(xué)習(xí)方法,這篇文章就是我對響應(yīng)式知識的簡單總結(jié)。

      什么是響應(yīng)式布局?

      響應(yīng)式布局,就是根據(jù)不同設(shè)備展示不同的布局,以免更方便用戶瀏覽頁面。 舉個很簡單的例子,我們在電腦上瀏覽網(wǎng)頁,屏幕非常大,這時候可能采用的是如下圖所示的布局方式。這種布局方式很寬敞,能夠容納的內(nèi)容也很多,能夠最大程度地傳遞信息。

      美團官網(wǎng)PC屏幕

      如果是在類似于 iPad Pro 的平板電腦上,由于屏幕大小原因,我們會使用不一樣的布局。對于美團官網(wǎng)來說,他們就把頂部的導(dǎo)航欄隱藏起來,需要通過點擊左上角的菜單按鈕才能顯示,如下圖所示。

      美團官網(wǎng)iPad屏幕

      如果是在更小的手機屏幕上,那不僅導(dǎo)航欄要隱藏起來,就連下面的文章列表也只能一行顯示一篇文章,如下圖所示。

      美團官網(wǎng)iPhone屏幕

      總結(jié)一下,所謂的響應(yīng)式布局,就是根據(jù)不同的瀏覽介質(zhì),制定不同的布局方案,以便于用戶更好地瀏覽信息。

      快速入門

      了解完響應(yīng)式布局原理,我們從代碼層面來看看如何實現(xiàn)這樣的響應(yīng)式布局。

      在 CSS3 中,定義了 @media 這個屬性來實現(xiàn)響應(yīng)式效果。例如我們希望在屏幕尺寸低于 768px 的時候顯示黑色,大于 768px 的時候顯示紅色,那么我們可以這么寫。

      <!DOCTYPE html>
      <html>
      <head>
      	<meta charset="utf-8">
      	<meta name="viewport" content="width=device-width, initial-scale=1">
      	<title>響應(yīng)式布局例子</title>
      	<style type="text/css">
      		body {
      			background-color: black;
      		}
      		@media (min-width:768px) {
      			body {
      				background-color: red;
      			}
      		}
      	</style>
      </head>
      <body>
      
      </body>
      </html>
      

      上面代碼的運行效果如下圖所示。我們手動改變窗口的大小,當(dāng)窗口的大小大于 768px 的時候,窗口的背景顏色變成了紅色。當(dāng)窗口大小小于 768px 的時候,窗口背景顏色變回了黑色。

      20231214195709

      在上面的代碼中,最核心的代碼是如下這段代碼,如下代碼所示。

      @media (min-width:768px) {
      	body {
      		background-color: red;
      	}
      }
      

      上面這段 CSS 表示:當(dāng)寬度最小為 768px 的時候,窗口的背景顏色設(shè)置為紅色。

      這個例子只是為了簡潔地向大家解釋響應(yīng)式布局的使用,在實際的項目使用中,響應(yīng)式布局的使用會更加復(fù)雜一些。但無論如何復(fù)雜,它都是由最基本的單元組成。你理解了這個例子,你就能理解實戰(zhàn)項目中的響應(yīng)式布局。

      實戰(zhàn)案例

      上面舉了一個小案例,向大家簡單說明了如何使用 @media 實現(xiàn)響應(yīng)式布局。這里我再舉一個實戰(zhàn)項目的例子,讓大家更深刻地理解響應(yīng)式布局。

      我們還是舉美團官網(wǎng)這個例子:美團官網(wǎng)在瀏覽器寬度小于 1280px 的時候,會將導(dǎo)航欄隱藏起來。在導(dǎo)航欄寬度大于 1280px 的時候,會講導(dǎo)航欄顯示出來,如下圖所示。

      美團官網(wǎng)導(dǎo)航欄-PC與iPad對比

      為了較好地解釋實現(xiàn)原理,我們用如下的 html 代碼代表美團導(dǎo)航欄的實現(xiàn)。

      <div>
          <div class="pc"></div>
          <div class="ipad"></div>
      </div>
      

      那么美團官網(wǎng)是如何去實現(xiàn)這樣的響應(yīng)式效果的呢?

      其實實現(xiàn)這樣的效果很簡單,只需要實現(xiàn)這樣的邏輯即可:默認情況下,顯示 ipad 類對應(yīng)的 div 塊,隱藏 pc 類對應(yīng)的 div 塊。當(dāng)瀏覽器的寬度大于 1280px,那就隱藏 ipad 類對應(yīng)的 div 塊,顯示 pc 類對應(yīng)的 div 塊。實現(xiàn)的 CSS 代碼如下所示。

      .pc {
        display: none;
      }
      .ipad {
        display: block;
      }
      @media (min-width:1280px) {
          .pc {
            display: block;
          }
          .ipad {
            display: none;
          }
      }
      

      隨后,我們再繼續(xù)在 pcipad 對應(yīng)的 div 塊中實現(xiàn)相應(yīng)的 html 結(jié)構(gòu)和 CSS 樣式即可。在這個過程中,可能不僅涉及到隱藏,還會涉及到其他的布局變動,例如:在小屏幕時是 display: block,而在大屏幕的時候則是 display: flex。在小屏幕的時候可能是 flex-direction: column,而在大屏幕的時候則是 flex-direction: row等等。

      對于設(shè)計師來說,響應(yīng)式布局就是針對不同的屏幕媒介,設(shè)計不同的布局方式,讓用戶更簡單方便地閱讀信息。對于開發(fā)者來說,響應(yīng)式布局就是使用 @mediadisplay:nonedisplay: flex 等各種工具,來實現(xiàn)設(shè)計師想要的各種布局方式。

      響應(yīng)式語法

      弄清楚了響應(yīng)式布局的道,我們還需要弄清楚響應(yīng)式布局的術(shù) —— 也就是語法!

      對于響應(yīng)式布局來說,它就只有一個語法 —— @media,它的語法格式如下所示。

      @media not|only mediatype and (mediafeature and|or|not mediafeature) {
        CSS-Code;
      }
      

      上述語法可以分為兩部分,分別是 mediatype 部分和 mediafeature 部分。

      mediatype

      mediatype 代表媒體類型,例如:電腦屏幕、平板電腦、打印機等。對于 mediatype 部分來說,其前面可以加上 not 或者 only 修飾符來分別表示「否」或者「只有」的意思。mediatype 常用取值有如下幾個:

      • all 用于所有設(shè)備
      • print 用于打印機和打印預(yù)覽
      • screen 用于電腦屏幕,平板電腦,智能手機等。
      • speech 應(yīng)用于屏幕閱讀器等發(fā)聲設(shè)備
      • 等等

      更多的媒體類型取值可參考:@media - CSS: Cascading Style Sheets | MDN

      舉個很簡單的例子,我們只想針對打印機或打印機預(yù)覽使用某些 CSS 樣式,那么我們可以這么寫:

      @media print {
        /* … */
      }
      

      如果我們只想對除了打印機或打印機預(yù)覽之外的其他所有設(shè)備適用,那么我們可以這么寫:

      @media not print {
        /* … */
      }
      

      mediatype 部分可以不填,不填的時候默認取 all 值,表示對于所有設(shè)備都適用。

      mediafeature

      mediafeature 代表媒體特性,例如:顏色、寬度、高度等。對于 mediafeature 部分來說,其可以使用 and、or、not 來組成一組判斷語句,從而實現(xiàn)更加復(fù)雜的功能。mediafeature 常用取值有如下幾個:

      • height 定義輸出設(shè)備中的頁面可見區(qū)域高度
      • height 定義輸出設(shè)備中的頁面可見區(qū)域高度
      • min-resolution 定義設(shè)備的最小分辨率
      • max-resolution 定義設(shè)備的最大分辨率
      • grid 用來查詢輸出設(shè)備是否使用柵格或點陣
      • 等等

      更多的媒體特性取值可參考:@media - CSS: Cascading Style Sheets | MDN

      舉個很簡單的例子,我們想針對所有屏幕寬度小于768px的設(shè)備應(yīng)用某些樣式,那么我們可以這么寫:

      @media (max-width:768px) {
        /* … */
      }
      

      如果我們想針對所有屏幕寬度小于 768px 并且屏幕高度小于 500px 的設(shè)備應(yīng)用某些樣式,那么我們可以這么寫:

      @media (max-width:768px and max-height: 500px) {
        /* … */
      }
      

      總結(jié)

      看到這里,相信大家都已經(jīng)能理解響應(yīng)式布局的含義了。

      其實響應(yīng)式布局并不難,其語法也很簡單,更重要的是理解響應(yīng)式布局背后的重要意義 —— 信息傳遞。在不同的信息傳遞媒介,為了閱讀者地體驗,我們應(yīng)該設(shè)計不同的布局方式,需要思考應(yīng)該傳遞哪些信息。我們只有擁有了這樣的意識,我們才能做出讓用戶拍手叫好的產(chǎn)品,做出讓用戶用著感覺酣暢淋漓的作品!

      按我自己的理解,目前響應(yīng)式布局更多還是在各類官網(wǎng)的使用上,因為這些場景更看懂信息的傳遞,需要在不同的信息傳遞媒介都能有很好的體驗效果。除此之外,其他的類似于管理后臺、工具類站點,使用到響應(yīng)式布局的需求還是非常少的。

      這次關(guān)于響應(yīng)式布局的分享就到此結(jié)束,如果你喜歡這篇文章,那就點贊支持轉(zhuǎn)發(fā)支持我吧!

      參考資料

      posted @ 2023-12-14 21:06  陳樹義  閱讀(643)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 国产熟女真实乱精品51| 汉寿县| 亚洲精品不卡av在线播放| 亚日韩精品一区二区三区| 丰满老熟妇好大bbbbb| 青青草原国产精品啪啪视频| 日本无码欧美一区精品久久| 国产女人被狂躁到高潮小说| 久久99精品久久久久久琪琪| 国产色视频网站免费| 精品人妻av中文字幕乱| 国产激情第一区二区三区| 无码成a毛片免费| 福利网午夜视频一区二区| 四虎库影成人在线播放| 沐川县| 亚洲国产日韩欧美一区二区三区 | 国产精品一区二区三区自拍| 日韩精品亚洲专在线电影| 女人高潮流白浆视频| 日韩熟女精品一区二区三区| 色综合久久天天综线观看| 国产精品中文字幕第一区| 午夜免费无码福利视频麻豆| 亚洲一区av无码少妇电影| 久久精品免费自拍视频| 国产亚洲精品自在久久蜜TV| 浮山县| 久热这里只有精品12| 午夜精品区| 亚洲午夜无码久久久久蜜臀av| 亚洲熟妇丰满多毛xxxx| 亚洲av成人一区二区| 国内精品无码一区二区三区 | 亚洲欧洲色图片网站| 国产午夜精品亚洲精品国产| 国产成人AV在线免播放观看新| 亚洲va久久久噜噜噜久久狠狠| 亚洲天堂男人影院| 精品一区二区三区在线播放视频| 国产精品视频全国免费观看|