現在的上線網站,自適應網站占有了一定比例。作為一個菜鳥前端,這段時間編寫了一個靜態的自適應網頁。對此,寫下這篇文章。文章主要講一些自適應網頁基本原理和總結一些項目中遇見的問題。一,自適應網頁基本原理我是由2個問題出發的:
問題1:自適應網頁由什么構成?
簡單來說,自適應網頁和pc網頁,移動端網頁是一樣,都是由js、css、html構成。
問題2:如何讓網頁自適應?
我所理解的自適應網頁就是這個網頁可以兼容所有的屏幕,在用戶的屏幕上排版流利、順暢。正常顯示。不會給用戶一種別扭的感覺。
那么為了能夠讓網頁兼容各大頁面。你可以使用css的media。
下面我列舉一下最基本的主流屏幕,在css里面應該怎么寫。
這是兼容4k屏幕到手機端的寫法。
1.
這是從2560px到手機端的寫法;2.media的像素大小必須由大到小排列:
3.首先,編寫常規的格式,即清除一些css的默認樣式;再來,編寫2560px時,樣式的變化;接著,往小屏幕編寫代碼。最后,測試即可。二,總結此次項目遇見的問題此次項目主要遇見2個問題:
問題1:測試時,用戶發現在自己的pus10上沒辦常顯示。
解決方法:經過一系列的百度和搜狗。最后發現pu10它的分辨率比正常手機大很多,像素為1920*1080,因此要在編寫1920px的media之前,寫下一些代碼:
/*針對手機圖標無常比例縮放問題*/
@mediascreenand(max-device-width:2100px){
這是你要編寫的代碼
}
Ps:因為作者了解到,現在市場上流通常見的手機屏幕最大高達2100px,所以,上面的寫法可以很好的兼容(2100到最小手機端)。
問題2:關于項目中輪播圖的問題。
這個解決方法有點長,先省略。
三,分享一個干貨(自適應樣式的基本寫法)@charsetUTF-8;
/*整站樣式*/
*,:after,:before{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0!important;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-smoothing:antialiased}
body{color:#333;font-size:14px;line-height:
1.5;font-family:'MicrosoftYahei',PingFangSC,HelveticaNeue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0px;}
img{max-width:100%;border:none}
input,select,textarea{font-size:14px;color:#333;font-family:'MicrosoftYahei',PingFangSC,HelveticaNeue,Helvetica,Arial,sans-serif;border:none}
input[type=submit],input[type=button],input[type=checkbox],input[type=radio],input[type=reset],select{-webkit-appearance:none;-moz-appearance:none;appearance:none}
::-webkit-input-placeholder{color:#999}
::-moz-placeholder{color:#999}
::-ms-input-placeholder{color:#999}
select::-ms-expand{display:none}
/*定義滾動條*/
.scrollbar::-webkit-scrollbar{width:5px;height:10px;background-color:transparent;}
.scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset006pxrgba(0,0,0,0);border-radius:5px;background-color:transparent;}
.scrollbar::-webkit-scrollbar-thumb{background-color:#CCCCCC;width:5px;}
a{cursor:pointer;color:#333;text-decoration:none}
ul{list-style:none}
.fix{*zoom:1}
.fix:after,.fix:before{display:block;content:;height:0;clear:both}
table{border-collapse:collapse;border-spacing:0}
.c{clear:both}
em{font-style:normal}
.clearfix:before,.clearfix:after{content:;display:table;}
.clearfix:after{clear:both;}
.clearfix{zoom:1;}
.wrap{width:98%;margin:0pxauto;}
.ones{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.twos{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
/*基本顯示屏幕(請編寫自定義代碼)*/
請在里面編寫代碼;
/*針對手機圖標無常比例縮放問題*/
@mediascreenand(max-device-width:2100px){
請在里面編寫代碼;
}
/*基本編寫順序*/
@mediaonlyscreenand(max-width:1920px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:1660px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:1440px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:1366px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:1199px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:959px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:767px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:599px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:479px){
請在里面編寫代碼;
}
@mediaonlyscreenand(max-width:374px){
請在里面編寫代碼;
}