亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本篇文章和大家談?wù)刢ss媒體查詢中device-width與width的區(qū)別。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。


淺談css3 device-width和width之間的差異


1.device-width

定義:定義輸出設(shè)備的屏幕可見(jiàn)寬度。

不管你的網(wǎng)頁(yè)是在safari打開(kāi)還是嵌在某個(gè)webview中,device-width都只跟你的設(shè)備有關(guān),如果是同一個(gè)設(shè)備,那么他的值就不會(huì)變。

比如iphone6的device-width*device-height為375*667,而跟他的dpr等無(wú)關(guān)。

2.width

定義:定義輸出設(shè)備中的頁(yè)面可見(jiàn)區(qū)域?qū)挾取?/p>

輸出的是你的網(wǎng)頁(yè)可見(jiàn)區(qū)域的寬高,假設(shè)你的網(wǎng)頁(yè)是移動(dòng)端網(wǎng)頁(yè)嵌套在某個(gè)webview中,width實(shí)際上就是webview的寬高,如果在不同的瀏覽器中,width和height也有可能不一樣,又假如,你的頁(yè)面用的rem布局,并且對(duì)于retina屏來(lái)說(shuō)dpr>1,meta標(biāo)簽中設(shè)置了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,因?yàn)椴挥每紤]橫屏的情況

比如說(shuō)適配iphoneX,你已經(jīng)明確知道了iphoneX(375*812)的尺寸就可以用下面語(yǔ)句:

/*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在一個(gè)設(shè)備中是不會(huì)變的,他的值跟設(shè)備寬度有關(guān),width在不同的布局方案或者不同的容器中展示都有可能不一樣,這里我覺(jué)得device-width就相當(dāng)于js的window.screen.width,width相當(dāng)于js的document.body.clientWidth了。

另外記錄一下我這里適配華為折疊屏的情況,由于此時(shí)還沒(méi)真機(jī),我只知道華為展開(kāi)情況下的分辨率為2200*2480,dpr什么的還不清楚,因此不知道device-width和device-height(我這邊不能用width來(lái)做查詢,原因關(guān)系到業(yè)務(wù)邏輯),因此選了device-aspect-ratio,

最開(kāi)始我在我的less中是這樣寫(xiě)的

@media (device-aspect-ratio: 55/62) {
    /*適配*/
}

然后css中device-aspect-ratio被計(jì)算成小數(shù)了

@media (device-aspect-ratio: 0.887097) {
    /*適配*/
}

device-aspect-ratio是不支持小數(shù)的,因此匹配不上

所以查了一下怎么讓less不執(zhí)行55/62的結(jié)果,發(fā)現(xiàn)將屬性用引號(hào)包起來(lái),并且前面加上波浪號(hào)就可以了,像這樣:

@media (device-aspect-ratio: ~"55/62") {
    /*適配部分*/
}

問(wèn)題解決!

不過(guò)MDN上已經(jīng)不推薦使用device-aspect-ratio了,這個(gè)屬性將會(huì)被逐廢棄,如果找到了更好的解決方案我也會(huì)用替代方案。


分享到:
標(biāo)簽:css3 device-width width之間的差異
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定