運用@media實現網頁自適應中的幾個關鍵分辨率


運用@media實現網頁自適應中的幾個關鍵分辨率

經常為不同分辨率設備或不同窗口大小下布局錯位而頭疼,可以利用@media screen實現網頁布局的自適應,但是怎樣兼容所有主流設備就成了問題。到底分辨率是多少的時候設置呢?

  1. 先看下面的代碼,這是從bootstrap中遍歷出來的,min-width來確認分別是

    768、992、1200。當然了過去也有些設備寬度是600 480的,哪些小分辨率的我們都歸類為小於767的。為什么是小於767而不是768呢,那是因為在css中@media (min-width: 768px)表示最小是768也就是>=768,這里有等於,所以我們判斷更小的設備用@media (max-width: 767px)這邊表示<=767就不會有沖突了

    運用@media實現網頁自適應中的幾個關鍵分辨率
  2. 從上面我們可以看出有幾個臨界點的分辨率,那么我們就可以輕松的來寫自己的自適應代碼了

    @media (min-width: 768px){ //>=768的設備 }

    @media (min-width: 992px){ //>=992的設備 }

    @media (min-width: 1200){ //>=1200的設備 }

    注意下順序,如果你把@media (min-width: 768px)寫在了下面那么很悲劇,

    @media (min-width: 1200){ //>=1200的設備 }

    @media (min-width: 992px){ //>=992的設備 }

    @media (min-width: 768px){ //>=768的設備 }

    因為如果是1440,由於1440>768那么你的1200就會失效。

    所以我們用min-width時,小的放上面大的在下面,同理如果是用max-width那么就是大的在上面,小的在下面

    @media (max-width: 1199){ //<=1199的設備 }

    @media (max-width: 991px){ //<=991的設備 }

    @media (max-width: 767px){ //<=768的設備 }

  3. 經過了上面的入門學習,我們就可以靈活的來點高級的混合應用了

    @media screen and (min-width:1200px){ #page{ width: 1100px; }#content,.div1{width: 730px;}#secondary{width:310px} } 

     @media screen and (min-width: 960px) and (max-width: 1199px) { #page{ width: 960px; }#content,.div1{width: 650px;}#secondary{width:250px}select{max-width:200px} }

     @media screen and (min-width: 768px) and (max-width: 959px) { #page{ width: 900px; }#content,.div1{width: 620px;}#secondary{width:220px}select{max-width:180px} }

     @media only screen and (min-width: 480px) and (max-width: 767px){ #page{ width: 450px; }#content,.div1{width: 420px;position: relative; }#secondary{display:none}#access{width: 450px; }#access a {padding-right:5px}#access a img{display:none}#rss{display:none}#branding #s{display:none} } 

    @media only screen and (max-width: 479px) { #page{ width: 300px; }#content,.div1{width: 300px;}#secondary{display:none}#access{width: 330px;} #access a {padding-right:10px;padding-left:10px}#access a img{display:none}#rss{display:none}#branding #s{display:none}#access ul ul a{width:100px} }

  4. 4

    上面的代碼中用到了 screen這里指定了顯示器為顯示設備,也可以是print打印機等其他設備,一般我們用screen。或者干脆省略。如果想看詳細的關於media的說明可以百度一下關於media query的知識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM