久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

響應式開發的心得

2022-11-23    分類: 網站建設

網站建設 - 建站教程 - 網站定制開發 - 響應式開發的心得

成都網站建設

什么是響應式?響應式的頁面在不同的屏幕有不同的布局,換句話說,使用相同的html在不同的分辨率有不同的排版。如下圖所示:

成都網站建設

響應式布局是為了解決適配的問題,傳統的開發方式是PC端開發一套,手機端再開發一套,而使用響應式布局只要開發一套就好了。因為它是用的同樣html,所以它的JS邏輯交互也只需寫一套就好了,缺點是CSS比較重。
傳統的手機端適配常見有三種解決方案,種是bootstrap的columns布局;第二種是使用全局的rem,先根據屏幕換算1rem等于多少個px,然后設置html標簽的font-size為多少個rem,屏幕越大,則font-size越大,然后頁面所有的元素的寬高和字體大小都用rem等比例縮放;第三種是阿里的flex box,這種方案和第二種類似,不同點是頁面內容的字體大小是用的px,而不是比例縮放的rem。種需要額外引入一個框架。第三種相對第二種來說應該更合理點,因為正文的字體常用的為14px或者16px,如果一個頁面在這個手機字號是15.5px,在另外一個手機又變成了14.9px,這樣可能會有點奇怪。
而使用響應式布局就不需要進行rem的換算,下面通過上圖的那個例子一步一步地分析怎么做響應式。
1.設置不同分辨率頁面兩邊留白

先一個頁面的主體內容有大的寬度,當屏幕超過這個寬度時這個中間的主體內容大就這么大了,不會再變大了,也就是說它固定一個大寬度,然后居中顯示,如大為1080px。然后當大于1024px時,頁面主體內容小寬為960px,兩邊自動留白;在500px到1024px之間兩邊保持留白40px;而當小于500px時就認為是手機,兩邊留白20px。所以計算一下,container的代碼如下:

成都網站建設

總體的思想是留白要合適,既不能留太多,導致中間內容太窄,也不能讓中間的內容顯得太大。這個其實和bootstrap的container思想一致,只是你可能要根據你自己的業務特點、用戶人群等做不同留白策略。
2.屏幕變小時,一頭變窄,另一頭不變

當屏幕變小或者瀏覽器窗口拉小時,中間內容的寬度就不能保持1080px,它得跟著變小,而在變小的過程中,往往要保持一邊不變,另一邊隨頁面變窄,如下圖所示:

成都網站建設

右邊的結果欄寬度保持不變,左邊的表單欄寬度縮小。因為右邊一旦就窄不好看了,如果右邊變窄,那么字體也要相應縮小,字號一縮小,右邊上下留白就變得太大,這樣就不美觀了,所以只能采取右邊保持不動的策略去縮小左邊的內容。這種場景比較常見,右邊如果是一個頭像的話,它也不能跟著縮小,它一縮小高度也要跟著縮小,導致上下太空,所以這種情況也不能動。
3.保持中間留白固定,縮小內容寬度

左欄的寬度變小應該怎么變呢?有一個原則,就是要保持中間的間距固定,而兩邊的內容寬度相應縮小,如下圖所示:

所以就要借助CSS3的calc,如下所示:
1
2
3
input{
width:calc((100%-20px)/2)
}
calc的兼容性IE10及以上支持,android 4及以下不支持,所以考慮到不支持的設備,可以簡單做個兼容,如下代碼所示:
1
2
3
4
input{
width:48%;
width:calc((100%-20px)/2);
}
如果不支持calc就用48%,這樣差別其實不是很大,就是不是很精確。真的需要的話,你可以多寫幾個媒體查詢變得更精確。
4.左右布局變成上下布局
當屏幕拉得很小的時候,左欄已經縮得很小了,再變小就不協調了,所以這個時候要把左右布局改成上下布局,把右邊的內容往下面放。因為右欄在大屏的時候是float:right,所以在中屏的時候覆蓋掉這個浮動的屬性,變成float:none就可以了。原本右欄的內容有四行,都比較短,可以考慮把它下面的三行排成一行,即讓它們浮動。如下面代碼所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.cal-result{
float:right;
width:330px;
}
1
media(max-width:800px){
.cal-result{
float:none;
width:100%;
}
.cal-result.result{
float:left;
width:33%;
}
}

讓每一個result占1/3,然后浮動,效果如下:

成都網站建設

5.寬度太小時,自動換行
特別是當內容是列表ul形式的時候,排不下的li應當自動換到下一行。當然也可以手動控制,如下:
1
2
3
4
5
6
7
8
9
10
11
media(max-width:800px){
.result{
width:33%;
}
}
1
media(max-width:400px){
.result{
width:50%;
}
}
在屏幕寬度小于400的時候,每個結果就占50%,這樣就排成兩行了。這也是一種常用的辦法,但是在我們這個例子,如果數字比較小,在iPhone6 375px的屏幕上還是排得下的,如果能保持在一行相對比較美觀。而且固定50%,如果當數字比較大時也有可能會有重疊的危險,這個也有辦法,就是別寫死寬度,而是寫死min-width為50%,這樣當內容比較長時,float的元素同一行排不下就會自動換行。但是知名還是要個辦法讓它能根據內容長度自動換行,當然可以用JS計算,但是有點麻煩。
這個時候flex就派上用場了,很簡單,只要設置兩個屬性:
1
2
3
4
5
.result-container{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}

space-between讓子元素挨著容器的兩邊等間距排列,而wrap屬性讓子元素自動換行,當容器寬度不夠的時候,就有了以下的效果:

成都網站建設

這樣還有一個小問題,就是當內容如果剛剛好占滿時,兩個項之間就沒有間距了,如下圖所示:

成都網站建設

這樣就貼在一起了,由于flex的space-between不能指定小的space,所以只通過margin或者padding的方法,如給元素添加margin-right:
1
2
3
.result:not(:last-child){
margin-right:10px;
}

效果如下:

成都網站建設

這樣比貼在一起顯示的效果好。
還有從大屏變成成小屏的時候有些字號主要是標題的字號和間距要相應調小,這種變小是階梯變化的,而不是像rem一樣連續變化,而且這種階梯一般只要有兩個就夠了,一個大屏的,一個小屏的。如果你需要做很多階梯的話,那你的排版很可能有問題。
6.使用響應式圖片
如相同的頭圖,在電腦上需要使用大圖,但是手機上面使用小圖就好了,不然會造成手機上加載慢浪費流量等問題,一個辦法是使用backgound-image結合媒體查詢,如下所示:
1
2
3
4
5
6
7
.banner{
background-image:url(/static/large.jpg);
}
media(max-width:500px){
background-image:url(/static/small.jpg);
}
這種方法的缺點是對SEO不太友好,因為如果使用img標簽還可以寫個alt屬性。
第二種常用辦法是使用img的srcset或者picture標簽做響應式圖片,這個我在《Effective前端7:加快頁面打開速度》已經提到,這里不再重復。
這種響應式圖片除了大小屏之外,還可以兼顧視網屏即dpr為2及以上的和普通屏dpr為1的屏幕,即在高dpr的屏幕使用2倍圖,而普通屏幕使用1倍圖。
7.其它問題處理
有些地方大小屏的排版差異比較大,例如有些內容大屏的時候是挨在一起,而小屏離得比較遠,這個時候你可能得重復html,寫兩份的標簽,大屏的時候隱藏掉小屏的html標簽,小屏的時候隱藏掉大屏的html標簽。并且這種情況不應該是常例,如果你經常要寫兩套,那說明你這個頁面可能不太適合寫響應式,還不如直接寫兩套呢。
還有個問題,有時候你可能要借助rem/transform:scale做大小縮放,但這一定是下策,我們的原則還是要保持字號和間距不變,當屏幕的跨度不是很大的時候。使用transform的后果是屏幕拉小的時候,內容跟著變小了,但是由于transform不會造成重排,它占據的高度還是那么大,下面的內容不會跟上來。這樣就得手動計算內容的高度。另外如果使用rem,就和響應式的思想沖突了。如果頁面的一部分字號使用了rem,另一部分字號使用了px,這樣就不協調了,如果你全部寫rem那就不需要使用響應式開發了。這個時候你可能要想一想,是不是UI出得有問題。讓UI重新調整。
還有,有時候可能會用到高度的媒體查詢,例如在高度小于多少的時候,不能讓彈框超出頁面的高度;在高度大于多少的時候,讓footer的定位fixed在底部,不然footer的下面可能會留白。

當前名稱:響應式開發的心得
URL標題:http://www.js-pz168.com/news0/216100.html

成都網站建設公司_創新互聯,為您提供品牌網站制作面包屑導航搜索引擎優化、微信公眾號、服務器托管、虛擬主機

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
亚洲在线一区二区三区| av在线播放一区二区三区| 9色porny自拍视频一区二区| 狠狠色综合欧美激情| 色婷婷久久久综合中文字幕 | 国产私拍一区| 91国偷自产一区二区三区观看| 精品久久人人做人人爱| 有码一区二区三区| 国产不卡在线视频| 欧美人与物videos另类| 91精品福利在线一区二区三区 | 国产欧美一二三区| 日韩二区三区四区| 91亚洲精华国产精华精华液| 天堂va久久久噜噜噜久久va| 日韩美女视频一区二区在线观看| 亚洲欧美色图小说| 高清shemale亚洲人妖| 欧洲一区二区在线观看| 日韩精品一区二区三区在线观看 | 国产福利精品一区二区| 免费看污久久久| 日韩一区二区在线看片| 亚洲影视资源网| 97超碰欧美中文字幕| 色国产精品一区在线观看| 国产精品午夜电影| 久久国产婷婷国产香蕉| 久久综合给合久久狠狠色| 欧美一级高清片| 午夜视频久久久久久| 51蜜桃传媒精品一区二区| 欧洲一区二区av| ●精品国产综合乱码久久久久| 国产乱码精品1区2区3区| 日本亚洲自拍| 久久久久久久性| 久久国产三级精品| 欧美日产一区二区三区在线观看| 欧美不卡在线视频| 免费不卡在线视频| 久久久综合香蕉尹人综合网| 日韩欧美激情一区| 日本伊人午夜精品| 美国av一区二区三区| 欧美精品一区二区三区视频| 免费成人在线观看| 蜜桃久久精品乱码一区二区| 欧美精品一区二区在线播放| 看片网站欧美日韩| 色女孩综合网| 国产精品免费视频一区| 风流少妇一区二区| 欧洲一区二区三区在线| 亚洲精品国产成人久久av盗摄| 91在线观看污| 91精品国产麻豆| 日韩av电影天堂| 欧美日韩综合精品| 中文天堂在线一区| 不卡视频免费播放| 欧美情侣在线播放| 日韩av电影天堂| 三区精品视频| 亚洲视频一二区| 99porn视频在线| 日韩欧美国产麻豆| 国内成人自拍视频| 色老综合老女人久久久| 一卡二卡欧美日韩| 精品国产免费一区二区三区| 久久久精品欧美丰满| 国产91精品一区二区| 欧美三级一区二区| 日韩精品一二三四| 亚洲不卡1区| 伊人婷婷欧美激情| 精品国产一区二区三区免费| 国产亚洲综合av| 北岛玲一区二区三区四区| 91麻豆精品91久久久久久清纯| 蜜桃久久久久久| 一区二区三区欧美在线| 亚洲在线免费播放| 欧美日韩一区综合| 亚洲日本欧美天堂| 久久99国产精品| 国产精品久久久久影院色老大| 91精品婷婷国产综合久久蝌蚪| 精品国产一二三| 成人性生交大片免费| 欧美一卡二卡在线| 国产成人亚洲综合a∨婷婷图片 | 激情深爱一区二区| 欧美色图12p| 久久99九九99精品| 欧美色爱综合网| 精品一区二区三区免费观看| 欧美性感一区二区三区| 久久精品国产精品青草| 欧美色图片你懂的| 极品销魂美女一区二区三区| 欧美日韩国产乱码电影| 国精产品一区一区三区mba桃花 | 久久91精品久久久久久秒播| 在线观看国产精品网站| 九九精品视频在线看| 欧美乱熟臀69xxxxxx| 国产精选一区二区三区| 欧美一区二区女人| av毛片久久久久**hd| 久久久www成人免费无遮挡大片| 91在线免费看| 国产精品色在线观看| 久久国产一区| 一区二区国产视频| 一本色道婷婷久久欧美| 日本不卡在线视频| 欧美日韩精品欧美日韩精品一| 国产精一区二区三区| 精品国产网站在线观看| av电影成人| 亚洲欧洲色图综合| 日韩亚洲一区在线播放| 日韩精品久久理论片| 欧美日韩一二三区| 国产成人av福利| 久久久青草青青国产亚洲免观| 国产乱码一区| 亚洲综合色婷婷| 在线国产电影不卡| 粉嫩久久99精品久久久久久夜| 久久综合色天天久久综合图片| 国产精品xxx在线观看www| 亚洲精品乱码久久久久久黑人| 亚洲一区二区三区乱码| 国产视频在线观看一区二区三区| 俄罗斯精品一区二区三区| 久久亚洲春色中文字幕久久久| 99热这里都是精品| 亚洲一区二区三区四区不卡| 国产精品视频一二三区| 久久久久久九九九九| 亚洲成人综合在线| 精品视频999| 成人av电影观看| 成人免费在线视频观看| 亚洲日本精品一区| 国产一区二区在线免费观看| 久久蜜桃av一区二区天堂| 精品日产一区2区三区黄免费| 午夜欧美在线一二页| 欧美一区二区视频在线观看2022| 91原创国产| 亚洲无线码一区二区三区| 欧美日韩亚州综合| 91麻豆免费观看| 亚洲午夜成aⅴ人片| 欧美人与禽zozo性伦| 97人摸人人澡人人人超一碰| 亚洲一线二线三线视频| 欧美二区乱c少妇| 成人av中文| 丝袜亚洲精品中文字幕一区| 日韩欧美一级二级三级 | 制服丝袜成人动漫| 国产偷国产偷亚洲高清97cao| 午夜精品久久久久久久久| 日韩一区二区免费电影| 久久99精品久久久久久久青青日本| 日本欧美一区二区三区乱码| 日韩一级在线观看| 欧美xxxx黑人又粗又长密月| 久久99久久99| 国产精品久久久久国产精品日日| 一本在线高清不卡dvd| 99精品一区二区| 亚洲va国产天堂va久久en| 欧美不卡一二三| 性欧美精品一区二区三区在线播放| 国产精品99久久久久久有的能看 | 麻豆成人在线播放| 国产在线精品一区二区| 国产精品久久久久精k8 | 久久福利电影| 国产一区二区三区在线观看精品 | 精品一区二区国产| 韩国欧美一区二区| 日韩一区在线播放| 欧美乱妇15p| 欧美另类一区| 成人免费视频网站在线观看| 亚洲综合免费观看高清完整版在线 | 久久久久久久电影| 色综合一区二区| a级高清视频欧美日韩| 天天综合日日夜夜精品| 国产亚洲女人久久久久毛片| 色偷偷一区二区三区|