結合前幾篇,使用 js 與 css 完成表格布置的排版,應用巢狀表格 完成圖片隨機大小的表格呈現
CSS Grid Image Gallery
此練習初始 html 如下:
1 | <div class="overlay"> |
接著撰寫 javascript ,以下 js 連帶說明一起附上
1 | // 宣告 gallery 取得 .gallery element |
設定完成 javascript ,就可以來處理 css 了,針對 .gallery 讓圖片畫面集中,所以使用 grid-auto-flow
1 | * { |
線上展示
筆記與備註事項
object-fit
首先來看一下 MDN 上的定義
The object-fit CSS property specifies how the contents of a replaced element should be fitted to the box established by its used height and width.
資料來源 - MDN
此段說明了 object-fit 主要是設定 replaced element (置換元素),置換元素的定義,請參考以下
CSS 中所謂的「置換元素 (Replaced element)」,即是該元素所呈現的內容不在 CSS 的控制範圍之內。這類外部物件所呈現的內容均獨立於 CSS 之外。常見的置換元素包含 <img>、<object>、<video>,或如 <textarea> 與 <input> 的表單元素。某些元素 (像是 <audio> 或 <canvas>) 只有在特殊情況下才是置替換元素。若是透過 CSS content 屬性所插入的物件,則稱為「不具名置換元素 (Anonymous replaced elements)」。
資料來源 - MDN
object-fit 的設定屬性有以下,其定義說明如下:
- fill:預設值,會填滿設定的容器大小,不管原檔比例
- contain:保持原檔比例,並縮放至可以放進容器的大小。所以,容器內可能會有空白的地方
- cover:保持原檔比例,替換內容大於容器尺寸。因此,部分內容可能會被遮蔽
- none:保持原檔大小,不做任何調整
- scale-down:會選擇 none 或 contain 兩者間呈現較小尺寸的那個設定
參考資料
- CSS-Grid 課程
- 作者 Wes Bos CSS-Grid Github
- 我的 CSS-Grid 練習Github