Bootstrap初級用戶談談網頁在手機上的顯示效果優化


本人之前已經使用 Bootstrap有一段時間了,但是之前做出的網站都只是在電腦端使用,沒有注意過手機端的顯示效果。這兩天自己使用 Bootstrap做了一個簡單的Web個人日志系統,想在手機端也使用,桌面端的效果勉勉強強,但是當用手機打開頁面時,效果不忍直視。下面是其中一個界面的效果。
桌面瀏覽器查看效果:
desktop_1
手機瀏覽器查看效果:
mobile_1

問題一:字體非常的小,簡直認不出來

於是我百度以及查看 Bootstrap的文檔,終於找到了解決方案:
<meta name="viewport" content="width=device-width, initial-scale=1">
可以參見 Bootstrap中文文檔中的原話:
bootstrap_1
只要在 <header>中加上這句話,手機端看到的字體就會比較合理。看下面的效果圖。
mobile_2
 
現在看起來效果好多了,文字能夠非常清晰的顯示出來。

問題二來了:上面的<ul>導航占了太多的空間,影響了核心內容的顯示

我的導航是用以下代碼實現的:
<div>
  <ul class="list-group text-align-center">
    <li class="list-group-item"><h3>效率為王</h3></li>
    <li class="list-group-item"><a href="timeflow">流水</a></li>
    <li class="list-group-item"><a href="summary">總結</a></li>
    <li class="list-group-item"><a href="idea">靈感</a></li>
    <li class="list-group-item"><a href="thought">感想</a></li>
  </ul>
</div>
我想讓”流水””總結”等4個導航鏈接排列在一行中,但又不想自己大改 Bootstrap原來的 CSS (實際上自己也不是很熟練 CSS)。於是我就想繞開 CSS的細節技術,想到了在超小屏幕下不顯示這個導航,轉而實現一個簡單的超鏈接列表。
<div class="hidden-xs">
  <ul class="list-group text-align-center">
    <li class="list-group-item"><h3>效率為王</h3></li>
    <li class="list-group-item"><a href="timeflow">流水</a></li>
    <li class="list-group-item"><a href="summary">總結</a></li>
    <li class="list-group-item"><a href="idea">靈感</a></li>
    <li class="list-group-item"><a href="thought">感想</a></li>
  </ul>
</div>
<div class="hidden-sm hidden-md hidden-lg hidden-print">
  <h3>效率為王</h3>
  <a href="timeflow">流水</a>
  <a href="summary">總結</a>
  <a href="idea">靈感</a>
  <a href="thought">感想</a>
  <hr/>
</div>
上面的代碼是在原來的 <div>上應用了 .hidden-xs樣式,意思是超小屏幕下不顯示該 <div>。然后我又寫了一個簡單的 <div>,包含4個導航鏈接,而這個 <div>則應用了 .hidden-sm .hidden-md  .hidden-lg  .hidden-print樣式,表示只在超小屏幕下顯示。
關於 .hidden-?樣式,可以在 Bootstrap中文文檔中看到這樣一段畫:
bootstrap_2
看應用代碼之后的效果圖。
mobile_3_1
嗯,這樣的效果更加能夠接受一些。

問題三又來了:兩個箭頭按鈕和日期沒有在一行上,而空間上明明夠顯示在一行

仔細檢查我的代碼並細致分析后,發現我使用的是 .col-sm-4來為三個元素分配空間,當我把設置改為 .col-xs-4時,一切都好了。
mobile_4
 
關於 col-?-?可以在 Bootstrap中文文檔中找到相關說明:
bootstrap_3

總結

Bootstrap v3本來就是一個移動為先的框架,可是我在使用的時候卻丟棄了它的精髓,當作了一個簡單的排版工具和組件皮膚使用。
從使用 Bootstrap的一開始就應該考慮手機端的顯示效果,使用 col-xs-?  col-sm-?來為元素分配空間,最簡單的情況就是只設置 col-xs-?,因為更大的屏幕規則如果沒有設置的畫會繼承小屏幕規格的設置。
還有,不要忘了加上 <meta name="viewport" content="width=device-width, initial-scale=1">

 

感覺還是學到了不少!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM