溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

css使用媒體查詢進(jìn)行響應(yīng)式設(shè)計的方法

發(fā)布時間:2020-08-31 10:38:04 來源:億速云 閱讀:157 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)css使用媒體查詢進(jìn)行響應(yīng)式設(shè)計的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

響應(yīng)式設(shè)計背后的理念是使用相同的代碼庫在各種設(shè)備上提供出色的體驗。這意味著我們編寫的代碼應(yīng)該與設(shè)備無關(guān)。執(zhí)行響應(yīng)式設(shè)計不是一項小任務(wù),需要我們擁抱Web的流動性,而不是努力控制它。媒體查詢是響應(yīng)式設(shè)計實現(xiàn)中不可或缺的一部分。

媒體查詢的可擴(kuò)展性允許各種復(fù)雜的媒體表達(dá),但在響應(yīng)式設(shè)計的上下文中最常用的是那些目標(biāo)width并且在較小程度上height。

從廣義上講,有兩種方法可以構(gòu)建這樣的媒體查詢。我們傾向于將min-width基于媒體的查詢稱為移動優(yōu)先。這意味著基本樣式以最小視口為目標(biāo),并在視口變大時應(yīng)用其他樣式。相反,max-width基于媒體的查詢將最大視口大小作為默認(rèn)值,并應(yīng)用其他樣式以滿足較小的視口大小。

下面我們就來通過簡單示例來說明媒體查詢?nèi)绾芜M(jìn)行響應(yīng)式設(shè)計?

假設(shè)我們需要兩列布局,其中主內(nèi)容部分占據(jù)頁面的3/4,右側(cè)的側(cè)邊欄占據(jù)頁面的1/4。然后,在具有窄視口的設(shè)備上,比如移動電話,我們希望相同的網(wǎng)頁在主要內(nèi)容下面呈現(xiàn)側(cè)欄的內(nèi)容。

.container {
  max-width: 45em;
}
.main {
  width: 67%;
  float: left;
}
.sidebar {
  width: 33%;
  float: right;
}
@media (min-width: 35em) {
  .main {
    width: 67%;
    float: left;
  }
  .sidebar {
    width: 33%;
    float: right;
  }
}
@media (max-width: 35em) {
  .main {    
    width: 100%;
    float: none;
  }
  .sidebar {
    width: 100%;
    float: none;
  }
}

簡單的最小寬度示例:

首先看看演示效果:

css使用媒體查詢進(jìn)行響應(yīng)式設(shè)計的方法

在上面的示例中,使用的查詢是:

@ media(min-width:35em){   
  / *一些CSS屬性* / 
}

我們用用簡單的代碼告訴瀏覽器,當(dāng)屏幕大于或等于 35em寬時,應(yīng)用此塊中包含的樣式,讓main元素和sidebar元素浮動,在同一行顯示。在使用最小寬度媒體查詢時,我們的基本樣式(即媒體條件不起作用時的默認(rèn)樣式)將以較窄的屏幕尺寸啟動。

對于這個特定的場景,我們甚至不必編寫任何基本樣式,因為main元素和sidebar元素是塊元素,默認(rèn)情況下瀏覽器將main元素放在頂部,而在底部呈現(xiàn)sidebar元素。這是為什么一些開發(fā)人員主張使用最小寬度媒體查詢來響應(yīng)設(shè)計的原因之一。通常,你將編寫更少的代碼。

簡單的最大寬度示例

讓我們使用max-width查詢來代替相同的場景。

css使用媒體查詢進(jìn)行響應(yīng)式設(shè)計的方法

在這種情況下使用的媒體查詢將是:

@media (max-width: 35em) {
  / *一些CSS屬性* / 
}

與最小寬度相反,最大寬度是當(dāng)屏幕小于或等于 35em寬時,此規(guī)則將應(yīng)用此塊中包含的樣式。這意味著你的基本樣式將在更寬的屏幕尺寸下生效。

這時,你需要編寫在左側(cè)呈現(xiàn)main元素和右側(cè)的側(cè)邊欄sidebar 元素的基本樣式。然后撤消媒體查詢中的樣式,以適應(yīng)窄屏幕的大小。因此,對于這個特定場景,使用“min-width”媒體查詢更有意義。

但是在一些場景下,“max-width”媒體查詢是有意義的,就像表格一樣。表格的默認(rèn)顯示在寬屏幕上很有效,但在較小的屏幕上,我們可能想要應(yīng)用'display:block;' 表格行和表格單元格,以便在狹窄的屏幕上更好地讀取內(nèi)容。

css使用媒體查詢進(jìn)行響應(yīng)式設(shè)計的方法

在這種情況下使用的媒體查詢將是:

@media screen and (max-width: 35em) {
  tr,
  td {
    display: block;
    width: 100%;
  }
}

沒有硬性規(guī)定,但指導(dǎo)原則是根據(jù)元素默認(rèn)值做出選擇。如果默認(rèn)在窄屏幕上運(yùn)行良好,則使用“min-width”媒體查詢在更寬的屏幕上添加樣式。如果默認(rèn)在寬屏幕上運(yùn)行良好,則使用“max-width”媒體查詢在較窄的屏幕上添加樣式。

感謝各位的閱讀!關(guān)于css使用媒體查詢進(jìn)行響應(yīng)式設(shè)計的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI