理解CSS Media媒體查詢

                      2020/11/7 11:20:46   閱讀:1301    發布者:1301
                      在CSS2中,媒體查詢只使用于和標簽中,以media屬性存在

                      media屬性用于為不同的媒介類型規定不同的樣式
                      screen         計算機屏幕(默認值) 
                      tty            電傳打字機以及使用等寬字符網格的類似媒介
                      tv             電視類型設備(低分辨率、有限的屏幕翻滾能力)
                      projection     放映機
                      handheld       手持設備(小屏幕、有限的帶寬)
                      print          打印預覽模式 / 打印頁
                      braille        盲人用點字法反饋設備
                      aural          語音合成器
                      all            適合所有設備

                      真正廣泛使用且所有瀏覽器都兼容的媒介類型是'screen'和'all'

                      媒體屬性是CSS3新增的內容,多數媒體屬性帶有“min-”和“max-”前綴,用于表達“小于等于”和“大于等于”。這避免了使用與HTML和XML沖突的“<”和“>”字符

                      [注意]媒體屬性必須用括號()包起來,否則無效

                      下表中列出了所有的媒體屬性

                      width | min-width | max-width
                      height | min-height | max-height
                      device-width | min-device-width | max-device-width
                      device-height | min-device-height | max-device-height
                      aspect-ratio | min-aspect-ratio | max-aspect-ratio
                      device-aspect-ratio | min-device-aspect-ratio | max-device-aspect-ratio
                      color | min-color | max-color
                      color-index | min-color-index | max-color-index
                      monochrome | min-monochrome | max-monochrome
                      resolution | min-resolution | max-resolution
                      scan | grid

                      分辨率(resolution)

                      分辨率指定輸出設備的分辨率(像素密度)。分辨率可以用每英寸(dpi)或每厘米(dpcm)的點數來表示
                      and

                      and操作符用來把多個媒體屬性組合起來,合并到同一條媒體查詢中。只有當每個屬性都為真時,這條查詢的結果才為真

                      [注意]在不使用not或only操作符的情況下,媒體類型是可選的,默認為all

                      滿足橫屏以及最小寬度為700px的條件應用樣式表

                      @media all and (min-width: 700px) and (orientation: landscape) { ... }
                      由于不使用not或only操作符的情況下,媒體類型是可選的,默認為 all,所以可以簡寫為

                      @media (min-width: 700px) and (orientation: landscape) { ... }
                      or

                      將多個媒體查詢以逗號分隔放在一起;只要其中任何一個為真,整個媒體語句就返回真,相當于or操作符

                      滿足最小寬度為700像素或是橫屏的手持設備應用樣式表

                      @media (min-width: 700px), handheld and (orientation: landscape) { ... }
                      not

                      not操作符用來對一條媒體查詢的結果進行取反

                      [注意]not關鍵字僅能應用于整個查詢,而不能單獨應用于一個獨立的查詢

                      @media not all and (monochrome) { ... }
                      //等價于
                      @media not (all and (monochrome)) { ... }
                      only

                      only操作符表示僅在媒體查詢匹配成功時應用指定樣式??梢酝ㄟ^它讓選中的樣式在老式瀏覽器中不被應用

                      media="only screen and (max-width:1000px)"{...}
                      上面這行代碼,在老式瀏覽器中被解析為media="only",因為沒有一個叫only的設備,所以實際上老式瀏覽器不會應用樣式

                      media="screen and (max-width:1000px)"{...}
                      上面這行代碼,在老式瀏覽器中被解析為media="screen",它把后面的邏輯表達式忽略了。所以老式瀏覽器會應用樣式

                      所以,在使用媒體查詢時,only最好不要忽略
                      AV未满十八禁免费网站