BS3 Images
簡介
在一個自適應式 (Responsive Web Design) 的網頁中,要讓不同大小的相片、圖片隨著螢幕的大小調整,也是一件很鎖碎的事情。在 BS3 中提供了一個 CSS 的基礎類別 .img-responsive 來處理這件事,它能將較大的相片或圖片隨著螢幕大小的變更而調整。但只能將大相片或圖片隨螢幕縮小,卻不能將小相片或圖片放得比原尺寸大。當 <img> 的 CSS 類別設定為 .img-responsive 時,因為 max-width 的屬性值設為 100%,所相片或圖片的寬度其容器內容 (content) 的寬度一致,height 屬性值設為 auto,因此高度會自行調整,以保有原相片或圖片的寬高比。若要將相片或圖片左右置中時,可再加修飾類別 .center-block; 常容器的寬度大於相片或圖片的原始寬度時,相片或圖片便會左右置中了。
修飾類別有
- .img-rounded (相片或圖片的四角形成圓角)
- .img-circle (相片或圖片依寬、高比,修飾成圓形或楕圓形;寬高比為 1:1 時為圓形)
- .img-thumbnail (具有 1px 的淺灰色邊框,週邊有 4px 的留白,四角為圓角)
以下為 BS3 v3.3.6 的 Bootstrap.css 樣式表中,有關 .img-responsive 及其相關之 CSS 修飾類別的定義。
.img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; }
範例
範例中用同一張相片展示了 .img-responsive 的預設外觀,及使用其它三種不同修飾類別後,所得到的外觀。
CSS
<style> html { width:100%; height:100%; } body { margin: 0 auto; max-width: 1000px; padding: 20px; } .imageBox { margin:10px; width:300px; height:auto; background: #99ccff; float:left; } h5 { text-align: center; } </style>
.imageBox{} 設定了 <img> 的容器寬度為 300px,比 BS3 中 extra small 的寬度 (480px) 還小;這是為了要把各種修飾類別都能顯示在螢幕上,但在縮小螢幕時,就看不出相片會更著一齊縮小了,這張相片原始尺寸為 1024px x 768px。只要把寬度值改大,至少大於 480px,就可以看出縮放的效果了。設定 background-color,在 .img-thumbnail 的範例中,可以看到週邊的留白。
HTML
<body>img-responsive
img-responsive img-rounded
img-responsive img-circle
</body>img-responsive img-thumbnail
沒有留言:
張貼留言