這篇文章給大家分享的是有關css使用媒體查詢進行響應式設計的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供靈璧企業(yè)網站建設,專注與做網站、網站建設、HTML5建站、小程序制作等業(yè)務。10年已為靈璧眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
響應式設計背后的理念是使用相同的代碼庫在各種設備上提供出色的體驗。這意味著我們編寫的代碼應該與設備無關。執(zhí)行響應式設計不是一項小任務,需要我們擁抱Web的流動性,而不是努力控制它。媒體查詢是響應式設計實現中不可或缺的一部分。
媒體查詢的可擴展性允許各種復雜的媒體表達,但在響應式設計的上下文中最常用的是那些目標width并且在較小程度上height。
從廣義上講,有兩種方法可以構建這樣的媒體查詢。我們傾向于將min-width基于媒體的查詢稱為移動優(yōu)先。這意味著基本樣式以最小視口為目標,并在視口變大時應用其他樣式。相反,max-width基于媒體的查詢將最大視口大小作為默認值,并應用其他樣式以滿足較小的視口大小。
下面我們就來通過簡單示例來說明媒體查詢如何進行響應式設計?
假設我們需要兩列布局,其中主內容部分占據頁面的3/4,右側的側邊欄占據頁面的1/4。然后,在具有窄視口的設備上,比如移動電話,我們希望相同的網頁在主要內容下面呈現側欄的內容。
.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; } }
簡單的最小寬度示例:
首先看看演示效果:
在上面的示例中,使用的查詢是:
@ media(min-width:35em){ / *一些CSS屬性* / }
我們用用簡單的代碼告訴瀏覽器,當屏幕大于或等于 35em寬時,應用此塊中包含的樣式,讓main元素和sidebar元素浮動,在同一行顯示。在使用最小寬度媒體查詢時,我們的基本樣式(即媒體條件不起作用時的默認樣式)將以較窄的屏幕尺寸啟動。
對于這個特定的場景,我們甚至不必編寫任何基本樣式,因為main元素和sidebar元素是塊元素,默認情況下瀏覽器將main元素放在頂部,而在底部呈現sidebar元素。這是為什么一些開發(fā)人員主張使用最小寬度媒體查詢來響應設計的原因之一。通常,你將編寫更少的代碼。
簡單的最大寬度示例
讓我們使用max-width查詢來代替相同的場景。
在這種情況下使用的媒體查詢將是:
@media (max-width: 35em) { / *一些CSS屬性* / }
與最小寬度相反,最大寬度是當屏幕小于或等于 35em寬時,此規(guī)則將應用此塊中包含的樣式。這意味著你的基本樣式將在更寬的屏幕尺寸下生效。
這時,你需要編寫在左側呈現main元素和右側的側邊欄sidebar 元素的基本樣式。然后撤消媒體查詢中的樣式,以適應窄屏幕的大小。因此,對于這個特定場景,使用“min-width”媒體查詢更有意義。
但是在一些場景下,“max-width”媒體查詢是有意義的,就像表格一樣。表格的默認顯示在寬屏幕上很有效,但在較小的屏幕上,我們可能想要應用'display:block;' 表格行和表格單元格,以便在狹窄的屏幕上更好地讀取內容。
在這種情況下使用的媒體查詢將是:
@media screen and (max-width: 35em) { tr, td { display: block; width: 100%; } }
沒有硬性規(guī)定,但指導原則是根據元素默認值做出選擇。如果默認在窄屏幕上運行良好,則使用“min-width”媒體查詢在更寬的屏幕上添加樣式。如果默認在寬屏幕上運行良好,則使用“max-width”媒體查詢在較窄的屏幕上添加樣式。
感謝各位的閱讀!關于css使用媒體查詢進行響應式設計的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!