網頁在不一樣尺寸的設備上,都有良好的顯示效果,叫作"響應式設計", 響應式圖像的解決方案有不少,JavaScript 和 CSS 均可以實現。html
媒體查詢就是對設備按照某些條件進行查詢,使符合查詢條件的設備顯示對應的樣式,從而達到不一樣設備顯示不一樣樣式的效果。前端
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>媒體查詢</title>
<style>
@media (max-width: 768px){ /*0~768*/
body{
background: red;
}
}
@media (max-width: 425px){ /*0~425*/
body{
background: yellow;
}
}
@media (max-width: 375px){ /*0~375*/
body{
background: blue;
}
}
@media (max-width: 320px){ /*0~320*/
body{
background: pink;
}
}
@media (min-width: 769px){ /*769~+∞*/
body{
background: green;
}
}
</style>
</head>
<body>
</body>
</html>
複製代碼
經過百分比單位 " % " 來實現響應式的效果。 好比當瀏覽器的寬度或者高度發生變化時,經過百分比單位,可使得瀏覽器中的組件的寬和高隨着瀏覽器的變化而變化,從而實現響應式的效果git
// 簡單一個demo,實現一個4:3比列的長方型,不小隨窗口大小2而改變比列
<div class="trangle"></div>
.trangle{
height:0;
width:100%;
padding-top:75%; //相對寬度爲75%
}
複製代碼
其中,子元素的padding若是設置百分比,不管是垂直方向或者是水平方向,都相對於直接父親元素的width,而與父元素的height無關。github
REM是CSS3新增的單位,而且移動端的支持度很高,rem單位都是相對於根元素html的font-size來決定大小的,根元素的font-size至關於提供了一個基準,當頁面的size發生變化時,只須要改變font-size的值,那麼以rem爲固定單位的元素的大小也會發生響應的變化web
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
/* pc width > 1100px */
html {
font-size: 100%;
}
body {
background-color: yellow;
font-size: 1.5rem;
}
/* ipad pro */
@media screen and (max-width: 1024px) {
body {
background-color: #ff00ff;
font-size: 4rem;
}
}
/* ipad */
@media screen and (max-width: 768px) {
body {
background-color: green;
font-size: 3rem;
}
}
/* iphone6 7 8 plus */
@media screen and (max-width: 414px) {
body {
background-color: blue;
font-size: 2rem;
}
}
/* iphoneX */
@media screen and (max-width: 375px) and (-webkit-device-pixel-ratio: 3) {
body {
background-color: #0ff000;
font-size: 1rem;
}
}
/* iphone6 7 8 */
@media screen and (max-width: 375px) and (-webkit-device-pixel-ratio: 2) {
body {
background-color: #0ff000;
font-size: .5rem;
}
}
/* iphone5 */
@media screen and (max-width: 320px) {
body {
background-color: #0ff000;
font-size: 0.75rem;
}
}
</style>
</head>
<body>
<h1>rem佈局</h1>
</body>
</html>
複製代碼
根據CSS3規範,視口單位主要包括如下4個:瀏覽器
視口單位區別於%單位,視口單位是依賴於視口的尺寸,根據視口尺寸的百分比來定義的;而%單位則是依賴於元素的祖先元素。bash
以上是經常使用的四種響應式解決措施,而後具體問題具體對待:iphone
我本身的博客佈局
能夠切換爲手機模式和iPad模式在瀏覽器預覽!post