CSS3 在 width 與 height 屬性多了幾個值可以用來配合響應式的網站 UI,來看一下用法與說明。
1. fill-available
設定 fill-available 可以把空間給填滿,先看簡單的用法:
先準備 html:
<div class="box">
<div class="fill-available">
階層式樣式表是一種用來為結構化文件添加樣式的電腦語言,由W3C定義和維護。
</div>
</div>
接著設定 CSS:
.box{ height: 200px; } .fill-available { display: inline-block; width: -webkit-fill-available; width: -moz-fill-available; width: -moz-available; width: fill-available; background-color: pink; }
裡面那一層設定 display 為 inline-block,本來寬度應該是跟內容一樣寬,但當設定為 width: fill-available 的時候,就會延伸到跟母容器一樣寬了。
用在高度的話,就能實現內容是一樣高的 UI 了。
<div class="container" >
<div class="box">
CSS
</div>
<div class="box">
javascript
</div>
</div>
.container{ height: 120px; } .box { display: inline-block; width: 100px; height: -webkit-fill-available; height: -moz-fill-available; height: -moz-available; height: fill-available; background-color: pink; }
這樣每一塊就可以等高了,不過 firefox 感覺沒有支援高度的 chrome 是可以執行的。
2. fit-content
fit-content 則是相對的可以讓寬度變得跟內容一樣。
<div class="box">
Hello world.
</div>
<div class="box">
I'm Tom.
</div>
所以如果像上面的 html,我們給他一個底色後,本來應該是會延伸到跟母容器一樣寬,但當加了 width: fit-content 之後,就會變得跟內容一樣寬了。
.box{ margin: 10px; background: pink; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; }
而又因為區塊還是 block,所以會自動換行,所以我們可以再設定 margin: auto 的方式讓區塊置中。
.box{ margin: 10px; background: pink; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; margin: 0 auto; }
不過一樣在 firefox 沒辦法置中,所以要用這個屬性還是可以再考慮一下。