這篇文章和大家談談css媒體查詢中device-width與width的差別。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
【推薦教學:CSS影片教學 】
1.device-width
定義:定義輸出裝置的螢幕可見寬度。
不管你的網頁是在safari打開還是嵌在某個webview中,device-width都只跟你的設備有關,如果是同一個設備,那麼他的值就不會變。
例如iphone6的device-width*device-height為375*667,而跟他的dpr等無關。
2.width
定義:定義輸出裝置中的頁面可見區域寬度。
輸出的是你的網頁可見區域的寬高,假設你的網頁是行動裝置網頁嵌套在某個webview中,width其實就是webview的寬高,如果在不同的瀏覽器中,width和height也有可能不一樣,又假如,你的頁面用的rem佈局,並且對於retina屏來說dpr>1,meta標籤中設置了content="width=device-width, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5, user-scalable=no,viewport-fit=cover",你的iphone6上的width大小就為750px了。
我這裡用得比較用得多的是device-width和device-height,因為不用考慮橫屏的情況
比如說適配iphoneX,你已經明確知道了iphoneX( 375*812)的尺寸就可以用下面語句:
/*iphone x*/ @media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3) { .foriphoneX() }
又例如最新的三星折疊螢幕
@media screen and (device-width: 586px) and (device-height: 820px){ html{ font-size: 110px !important; } }
總之,device-width在一個裝置中是不會變的,他的值跟裝置寬度有關,width在不同的佈局方案或不同的容器中展示都有可能不一樣,這裡我覺得device-width就相當於js的window.screen.width,width相當於js的document .body.clientWidth了。
另外錄下我這裡適配華為折疊螢幕的情況,由於此時還沒真機,我只知道華為展開情況下的解析度為2200*2480,dpr什麼的還不清楚,因此不知道device-width和device-height(我這邊不能用width來做查詢,原因關係到業務邏輯),因此選了device-aspect-ratio,
最開始我在我的less中是這樣寫的
@media (device-aspect-ratio: 55/62) { /*适配*/ }
然後css中device-aspect-ratio被計算成小數了
@media (device-aspect-ratio: 0.887097) { /*适配*/ }
device-aspect-ratio是不支援小數的,因此匹配不上
所以查了一下怎麼讓less不執行55/62的結果,發現將屬性用引號包起來,並且前面加上波浪號就可以了,像這樣:
@media (device-aspect-ratio: ~"55/62") { /*适配部分*/ }
問題解決!
不過MDN上已經不推薦使用device-aspect-ratio了,這個屬性將會被逐廢棄,如果找到了更好的解決方案我也會用替代方案。
更多程式相關知識,請造訪:程式設計入門! !
以上是淺談css3 device-width和width之間的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

我知道,我知道:有大量的內容管理系統選項可用,而我進行了幾個測試,但實際上沒有一個是一個,y'知道嗎?怪異的定價模型,艱難的自定義,有些甚至最終成為整個&

鏈接CSS文件到HTML可以通過在HTML的部分使用元素實現。 1)使用標籤鏈接本地CSS文件。 2)多個CSS文件可通過添加多個標籤實現。 3)外部CSS文件使用絕對URL鏈接,如。 4)確保正確使用文件路徑和CSS文件加載順序,優化性能可使用CSS預處理器合併文件。

選擇Flexbox還是Grid取決於佈局需求:1)Flexbox適用於一維佈局,如導航欄;2)Grid適合二維佈局,如雜誌式佈局。兩者在項目中可結合使用,提升佈局效果。

包含CSS文件的最佳方法是使用標籤在HTML的部分引入外部CSS文件。 1.使用標籤引入外部CSS文件,如。 2.對於小型調整,可以使用內聯CSS,但應謹慎使用。 3.大型項目可使用CSS預處理器如Sass或Less,通過@import導入其他CSS文件。 4.為了性能,應合併CSS文件並使用CDN,同時使用工具如CSSNano進行壓縮。

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重構自己的代碼看起來是什麼樣的?約翰·瑞亞(John Rhea)挑選了他寫的一個舊的CSS動畫,並介紹了優化它的思維過程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具