中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

響應式網頁設計|如何讓你的網頁完美適配各種屏幕

2022-11-28    分類: 網站建設

由于移動設備(手機,平板電腦等)的流行,越來越多的網站開始使用響應式設計來設計網站。其核心歸結為一句話就是,在不同設備上自動適配不同的內容(如下圖所示)。而我們為了讓網站樣式能夠支持響應式設計,其中最關鍵的因素就是 CSS 中的 media queries,media queries 允許我們定義在不同內容和尺寸的設備上的樣式。

如何使用 Media Queries

上面我們說到 media queries 可以幫助我們定義不同尺寸設備上的內容顯示,那么我們只需要在我們現有的樣式中增加針對特定內容在特定設備或者尺寸的樣式即可,例如:

div.container { width: 100%; } @media screen only and (min-width: 480px) { div.container {width: 40%; } }

上面的例子中,我們的定義了只在屏幕(screen only)寬度最小值大于 480px 的時候將寬度從 100% 變成 40%,而這個480px就是我們通常所說的 Break Point 。其中關于更多的 media queries 的屬性可以去參考下 Mozilla 的文檔。不過這個時候大家可能會有所疑問,這里的 480px 真的會預期一樣么?

Break Point 介紹

首先我們要知道,上面的例子中 media queries 針對的是內容的寬度,而通常一個父級元素的寬度是由它包含的子類元素確定的,當然我們也可以制定一個絕對值。當元素的寬度超過屏幕的寬度時我們的內容就會出現水平可滾動的效果,類似下面這種效果:

同樣高度也會出現類似的情況,但是一般從網頁交互和用戶體驗的角度來考慮,我們不會對特定的高度做限定,因為網頁的內容是自上而下滾動的,高度可以自由延展。這是可能會想那我定義個 max-width:280px 不就好了嘛。是的,這確實解決了我們的問題,但是隨之而來的問題是如果用戶改變了他的瀏覽器的默認字體大小怎么辦?在我的上一篇博客中「font-size 的常用長度單位」我介紹了 CSS 中的幾種常見單位,其中的單位對于我們做響應式設計中依然至關重要,那具體是怎么表現的呢?

在這個例子中當寬度變化時,div 標簽的背景透明度將發生改變,我們將從不同維度來看break point 的變化:

更改系統字體大小,縮放屏幕大小

不同瀏覽器

注:我使用的瀏覽器版本為 Chrome Version 55.0.2883.95 (64-bit) 和 Safari Version 10.0.2 (12602.3.12.0.1)

正常狀態

Chrome

我們可以看到在我拖拽的過程中,隨著寬度的縮小三個div標簽的背景顏色同時變化,那是因為在不改變系統字體大小并且指定html { font-size: 62.5%; }的時候,在 Chrome 下480px = 30em = 30rem。

Safari

我們可以看到其顯示的效果和 Chrome 下卻有所不同,在寬度小于480px=30em時紅色塊和綠色塊顏色透明度減小,而當寬度小于300px=30rem時藍色塊才開始變化。

更改字體大小

Chrome

Chrome 下可以通過設置>高級設置>網頁內容 更改字體大小,我們將字體大小從Medium更改到Large,這時 Chrome 的頁面內容正常情況下1rem=20px,而當加載html { font-size:62.5%; }后字體大小變成1rem=12.5px。

我們可以看到其中字體明顯變大了,這時候紅色色塊依然在寬度小于480px的時候顏色變化,而綠色和藍色色塊都同時在30rem=30em=600px時候顏色發生變化。

Safari

Safari 下通過點開視圖(View)菜單后按住Option鍵后點擊放大或者縮小頁面字體。這時我們將字體像 Chrome 下一樣增加字體大小后1rem=19.2px,而當加載html { font-size:62.5%; }后字體大小變成1rem=12px。

文字大小和 Chrome 下一樣都明顯被放大了,而這時候紅色色塊也一樣在寬度小于480px的時候改變了顏色,而綠色色塊在寬度小于30em=12*1.6*30px=576px時候改變了顏色,藍色塊在寬度小于30rem=12*30px的時候顏色發生變化。

定義 Break Point

從上面的這幾個例子我們可以看到,就算在同一個設備不同的瀏覽器下不同的單位也會有不同的表現,雖然px在不同的瀏覽器甚至是不同的設備中的表現都是一樣的,但是當用戶希望改變頁面的展示形式(字體大小)或者在一個不同的設備上時,他所希望的就是他瀏覽的網頁隨著這種改變而改變,所以我們不應該選取px這種非響應式的單位,而且不同瀏覽器下rem的定義不一致導致我們很難對最終的寬度很有個預測,因此建議選取em做為單位。如果我們在使用 SASS這種預編譯 CSS 時,我們可以使用類似 sass-mq 這種工具庫去方便使用各種 media queries,如:

$mq-breakpoints: ( mobile: 20em, tablet: 46.24em, desktop: 61.25em, wide:81.25em ); @import 'mq'; .foo { @include mq($from: mobile, $until: tablet) {background: red; } @include mq($from: tablet) {background: green; } }

文章名稱:響應式網頁設計|如何讓你的網頁完美適配各種屏幕
路徑分享:http://m.2m8n56k.cn/news17/217317.html

成都網站建設公司_創新互聯,為您提供網站收錄網站營銷營銷型網站建設電子商務用戶體驗域名注冊

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 国产真实生活伦对白 | 国产精品免费观看视频播放 | 最近中文在线中文 | 成人欧美视频免费看黄黄 | 国产精品一区在线观看 | 久草热久 | 国产精品毛片久久久久久久 | 玖玖在线免费视频 | 国产高清自拍一区 | 亚洲国产成人综合精品2020 | 久久国产成人福利播放 | 国产日韩久久久久69影院 | 色婷婷久久综合中文久久蜜桃 | 亚洲欧美日韩高清在线看 | 99久久精品免费看国产一区二区 | a级片在线观看免费 | 三级国产在线 | 在线毛片一区二区不卡视频 | 成年女人免费观看 | 538prom精品视频在放免费 | 日本国产欧美色综合 | 在线中文字日产幕 | 岛国大片在线播放免费 | 成年免费大片黄在线观看一 | 久久精品国产免费观看99 | 欧美一级毛片免费看视频 | 欧美午夜不卡在线观看最新 | 精品午夜寂寞黄网站在线 | 亚洲男人在线天堂 | 国产在线精品香蕉综合网一区 | 狠狠色丁香久久婷婷综合_中 | 日本a级特黄三级三级三级 日本a一级片 | 久久久香蕉视频 | 国产成人丝袜网站在线看 | 欧美观看一级毛片 | 国产一区二区三区在线观看视频 | 女人张开腿给男人桶爽免费 | 亚洲丝袜另类 | 欧美在线黄 | www.a级片| 日本人的色道www免费一区 |