Bootstrap、CSS寫自適應,如何解決高度、字體自適應問題

筆者這段時間在做一個企業官網的自適應,沒有用Bootstrap模板,而是引入Bootstrap自己寫自適應。開發過程中高度自適應、字體自適應問題對於筆者這種入門級的新手來說是個難點。比如有個div盒子在電腦端我希望他的margin-top是100px,在手機端我希望是20px。以下就是筆者關於兩者的解決辦法。

一、選擇性隱藏(Bootstrap)

這是筆者自創的一種辦法,寫一個height爲80px的div盒子,然後class爲"visible-md-block visible-lg-block",熟悉bootstrap的讀者應該知道,md是lg適應中型設備,lg則是大型設備。這樣這個div盒子只有在中大型設備查看時纔會顯示。話不多說,我們來看看代碼和效果。

<div class="test_head visible-md-block visible-lg-block"></div>

.test_head{
    background-color: white;
    height: 69px;
    width: 100%;
}

PC端和手機端效果如下圖紅色距離:

可以看出在不同設備上高度距離已經發生了變化。當然,這個辦法也可以用“旁門左道”來形容,但是對於不會寫高自適應的小白也不失爲一個可取的辦法。接下來筆者再介紹一種比較正統的辦法。

二、響應式佈局(CSS)

CSS響應式佈局的思想是在不同的設備上展示不同的css樣式,比如@media(min-width:700px){}則是當最小寬度達到700px時優先加載括號中的樣式(也有@media(max-width:700px)),其實掌握這個辦法後相當於是一通百通的,但是這也就意味着你要寫至少兩套css樣式。這種辦法除了用來解決高度自適應,筆者還用來做字體自適應。以下是筆者的代碼:

@media (min-width: 300px) {

.energy_control_head_background{
    background: url(../imags/energy_control/energy_control_background.png) center center no-repeat;
    width: 100%;
    height: 350px;
}
.energy_control_head_title{
    color: #FFFFFF;
    font-size: 36px;
}
.energy_control_head_line{
    margin: 0 auto;
    width: 90%;
    height: 2px;
    background-color: white;
}
.energy_control_head_content{
    color: #FFFFFF;
    font-size: 20px;
    margin-top: 17px;
}
}
@media (min-width: 700px) {

.energy_control_head_background{
    background: url(../imags/energy_control/energy_control_background.png) center center no-repeat;
    width: 100%;
    height: 400px;
}
.energy_control_head_title{
    color: #FFFFFF;
    font-size: 42px;
}
.energy_control_head_line{
    margin: 0 auto;
    width: 500px;
    height: 2px;
    background-color: white;
}
.energy_control_head_content{
    color: #FFFFFF;
    font-size: 24px;
    margin-top: 17px;
    width: 520px;
    margin: 0 auto;
    padding: 0x;
}
}

這樣在不同設備上顯示的字體就會有變化。筆者還看過一個用JS計算屏幕尺寸的辦法,對於筆者這種JS不好的小白來說,這個方法不是首選,所以筆者也沒有去深入研究。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章