1. 程式人生 > >媒體查詢使用和裝置畫素比

媒體查詢使用和裝置畫素比

首先我們在使用Media的時候需要設定下面這段程式碼,來相容移動裝置的展示效果

準備工作1:設定Meta標籤

 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> 
程式碼引數解釋:
  • width = device-width   寬度等於當前裝置的寬度
  • initial-scale = 1.0        初始縮放比例(預設1.0)
  • maximum-scale = 1.0 允許使用者縮放到最大比例(預設1.0)
  • minimum-scale =  1.0 允許使用者縮放到最小比例(預設1.0)

準備工作2:載入相容js檔案

因為IE8既不支援HTML5也不支援CSS3的Media,所以我們需要載入兩個js檔案,來保證我們實現相容效果

<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
準備工作3:設定IE的渲染方式預設為最高(可選)
<meta http-equiv="X-UA-Compatible" content="IE=edge">
還有一個更好的寫法
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

這段程式碼後面加了一個chrome=1,這個谷歌內嵌瀏覽器框架GCF,如果使用者電腦裡面裝了chrome的外掛,那就可以讓電腦裡面的IE不管是哪個版本都可以使用Webit引擎以及V8引擎進行排版及運算,無比給力,不過使用者要是沒裝這個外掛,那這段程式碼就會讓IE以最高的文件模式展現,建議加上。

進入CSS3 Media寫法:

@media screen and (max-width: 960px){
    body{
        background: #ccc;
    }
}
這算是一個Media的標準寫法,程式碼意思是:當頁面小於960px的時候執行下面的程式碼

當瀏覽器尺寸大於960px的時候程式碼

@media screen and (min-width:960px){
    body{
        background:orange;
    }
}
我們還可以混合使用上面的用法:
@media screen and (min-width:960px) and (max-width:1200px){
    body{
        background:yellow;
    }
}
這段程式碼的意思就是頁面寬度大於960px小於1200px的時候執行下面程式碼

裝置畫素比(關於手機端1畫素大小不一的問題)

在實際開發中,有時候寫的是1px,但是手機上看起來是2px,有很多種方法可以解決,通過transform: sacleY() 可以實現,也有通過背景圖,viewport實現的

下面是通過transform來實現手機端的1畫素,用的stylus語法

border-t-1px($color) //border-top
  position: relative
  &::before
    display: block
    position: absolute
    left:0
    top:0
    width:100%
    border-top:1px solid $color
    content:' '
border-b-1px($color) //border-bottom
  position: relative
  &::after
    display: block
    position: absolute
    left:0
    bottom:0
    width:100%
    border-top:1px solid $color
    content:' '

@media(-webkit-min-device-pixel-ratio: 1.5),(min-device-device-pixel-ratio: 1.5)
  .border-t-1px
    &::before
      -webkit-transform: scaleY(0.7)
      transform:scaleY(0.7)
@media(-webkit-min-device-pixel-ratio: 2),(min-device-device-pixel-ratio: 2)
  .border-t-1px
    &::before
      -webkit-transform: scaleY(0.5)
      transform:scaleY(0.5)
@media(-webkit-min-device-pixel-ratio: 2.5),(min-device-device-pixel-ratio: 2.5)
  .border-t-1px
    &::before
      -webkit-transform: scaleY(0.4)
      transform:scaleY(0.33333334)
@media(-webkit-min-device-pixel-ratio: 1.5),(min-device-device-pixel-ratio: 1.5)
  .border-b-1px
    &::after
      -webkit-transform: scaleY(0.7)
      transform:scaleY(0.7)
@media(-webkit-min-device-pixel-ratio: 2),(min-device-device-pixel-ratio: 2)
  .border-b-1px
    &::after
      -webkit-transform: scaleY(0.5)
      transform:scaleY(0.5)
@media(-webkit-min-device-pixel-ratio: 2.5),(min-device-device-pixel-ratio: 2.5)
  .border-b-1px
    &::after
      -webkit-transform: scaleY(0.4)
      transform:scaleY(0.4)


相關推薦

媒體查詢使用裝置

首先我們在使用Media的時候需要設定下面這段程式碼,來相容移動裝置的展示效果 準備工作1:設定Meta標籤 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum

裝置 devicePixelRatio

裝置畫素比 window.devicePixelRatio = 裝置物理畫素 / 裝置獨立畫素(dpi) 裝置物理畫素: 裝置裝置解析度,eg: iPhone 6  750*1334裝置獨立畫素:

關於裝置的理論知識

一、視網膜螢幕視網膜螢幕是解析度超過人眼識別極限的高解析度螢幕。蘋果這個術語用在iphone 4手機上,自此一直沿用,它將960×640的畫素壓縮到一個3.5英寸的顯示屏內。也就是說,該螢幕的畫素密度達到326畫素/英寸(ppi),稱之為“視網膜螢幕”。ppi(pixels

手機端適配方案 媒體查詢flexbale

b- port rac bject cti span key object keyword 方法一 flexible 一、npm 包安裝 lib-flexible 淘寶適配方案 px2rem px自動轉rem npm install lib-flexible --save

UnityShader 漫反射(蘭伯特與半蘭伯特光照模型-逐頂點光照)

漫反射效果 漫反射 是指投射在粗糙表面上的光向各個方向反射的現象。當一束平行的入射光線射到粗糙的表面時,表面會把光線向著四面八方反射,所以入射線雖然互相平行,由於各點的法線方向不一致,造成反射光線向不同的方向無規則地反射,這種反射稱之為“漫反射”或“漫射”。這種反射的光稱為漫射光。很

[demo]自定義響應式網頁:利用css3媒體查詢window.matchMedia實現

需求: 自定義響應式網頁,需要針對不同的螢幕尺寸做不同的處理。 分析: 1,樣式處理,必須是css3媒體查詢,簡單有效; 2,行為和結構的處理,我們選用window.matchMedia函式處理

rem適配的兩種方式(css媒體查詢js控制)

css媒體查詢:(根字型大小100px,如果10px大小,寫成0.1rem) html { font-size : 100px; } @media only screen and (min-width: 320px) and (max-width

css中的px em rem rpx,以及物理邏輯的區別

前言 px,em,rem的解釋是來自於 px px畫素(Pixel)。相對長度單位。畫素px是相對於顯示器螢幕解析度而言的。(引自CSS2.0手冊) PX特點 IE無法調整那些使用px作為單位的字型大小; 國外的大部分網站能夠調整的原因在於其使用

響應式佈局 css3 media 媒體查詢 js+rem

一:媒體查詢 1.使用media的時候需要先設定<meta>標籤來相容移動裝置的展示。 <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,

獲取圖片的寬高()

* 方法一 cImg = Getpict() && 獲取 bmp, jpg, gif xImgObj = LoadPicture(cImg) With xImgObj lnWidth = Int(.Width/26.458) lnHei

關於,解析度,viewport,裝置,css,Retina

做移動的響應式開發也有段時間了,但對於標題所說的一個關鍵字,並沒有每個都完全弄清楚,利用空閒時間好好做個整理(以iphone4s為例說明)。 1. 先說一下畫素的概念 畫素是度量的單位,可以理解為點。點組成線,線組成面,一個頁面也就是有n多個畫素點組成。 2. 解析度 畫

Unity3D之如何建立正確的在螢幕上

       關於這篇文章的命名,實在不知道怎麼命名好,大概功能就是:比如一張寬高為100x100的圖片顯示在螢幕上,那2D攝像頭的Size值為多少時,螢幕上顯示出來圖片大小和圖片的實際畫素一致。 這裡涉及到一個GL座標和畫素座標值的轉換比,這個比值我們可以自己設定~之後

HTML5利用Canvas繪製圖形(使用影象、裁剪區域、使用文字。陰影效果操作)

使用影象 在canvas中插入影象 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</t

Direct3D基礎——預備知識:多重取樣、格式、記憶體池、交換鏈頁面置換、深度快取、頂點運算、裝置效能

多重取樣 用畫素矩陣表示影象的時候往往會出現塊狀效應,多重取樣便是一項用於平滑塊狀影象的技術。 圖片來自:DirectX9.03D遊戲開發程式設計基礎 左邊那條是一條鋸齒線,右邊是一條經過取樣的反走樣線,看上去要平滑的多。 D3DMULTISAMPLE_TYPE列舉型別包含

讓瀏覽器相容H5元素媒體查詢的程式碼

1 <!--[if lt IE 9]> 2 <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 3 <s

影象點讀取賦值

//取IplImage影象畫素值 int main() {     IplImage* src = cvLoad("filename",0); //-1預設讀取原通道,0 灰度圖,1彩色圖     if(src!=0)  &nb

css 手機裝置上的適配

原文連結:github文章地址  曾幾何時為了相容IE低版本瀏覽器而頭痛,以為到Mobile時代可以跟這些麻煩說拜拜。可沒想到到了移動時代,為了處理各終端的適配而亂了手腳。對於混跡各社群的偶,時常發現大家拿手機淘寶的H5頁面做討論——手淘的H5頁面是如何實現多終端的適配? 那麼趁此

載入影象遍歷(OpenCV)

#include <iostream> using namespace std; #include <opencv2\opencv.hpp> using namespace cv; void main() { Mat imgMat = imread("0_depth.png

可移植圖格式 PPM,灰度圖格式 PGM,點陣圖格式 PBM 的介紹 -- 視訊影象程式設計基礎之一

可移植畫素圖格式 PPM,灰度圖格式 PGM,點陣圖格式 PBM 的介紹 簡介 可移植畫素圖格式(PPM),可移植灰度圖格式(PGM)和可移植點陣圖格式(PBM)是便於跨平臺的影象格式。有時候也被統稱為 PNM 格式 檔案格式描述 這三種格式其實是一樣的描述方法,只

,css,物理裝置獨立,解析度大亂鬥

本文主要闡述移動端佈局中常遇到的一些基本概念,這些概念也適用於PC端,這些概念大概有:畫素(pixel),ppi,解析度,物理畫素(physical pixel), CSS畫素,裝置獨立畫素(devicedependent pixel) 畫素 畫素是影象顯示的基本單