diaplay:table布局神器的絕妙應(yīng)用場景

一、CSS display屬性與表格布局相關(guān)的屬性值解釋
- table 此元素會(huì)作為塊級表格來顯示(類似 <table>),表格前后帶有換行符。
- table-row-group 此元素會(huì)作為一個(gè)或多個(gè)行的分組來顯示(類似 <tbody>)。
- table-header-group 此元素會(huì)作為一個(gè)或多個(gè)行的分組來顯示(類似 <thead>)。
- table-footer-group 此元素會(huì)作為一個(gè)或多個(gè)行的分組來顯示(類似 <tfoot>)。
- table-row 此元素會(huì)作為一個(gè)表格行顯示(類似 <tr>)。
- table-column-group 此元素會(huì)作為一個(gè)或多個(gè)列的分組來顯示(類似 <colgroup>)。
- table-column 此元素會(huì)作為一個(gè)單元格列顯示(類似 <col>)
- table-cell 此元素會(huì)作為一個(gè)表格單元格顯示(類似 <td> 和 <th>)
- table-caption 此元素會(huì)作為一個(gè)表格標(biāo)題顯示(類似 <caption>)
二、等高三欄布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; } </style> <style> .main { display: table; border-collapse: collapse; } .nav { display: table-cell; width: 180px; background-color: red; } .extras { display: table-cell; width: 180px; padding-left: 10px; border-right: 1px dotted #d7ad7b; background-color: #d7ad7b; } .content { display: table-cell; width: 380px; padding-left: 10px; background-color: aqua; } </style> </head> <body> <div class="wrapper"> <div class="main"> <div class="nav"> <p>1</p> <p>2</p> </div> <div class="extras"> <p>1</p> <p>2</p> <p>3</p> </div> <div class="content"> <p>1</p> <p>2</p> <p>3</p> <p>4</p> </div> </div> </div> </body> </html>
三、等高柵格布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; } </style> <style> .grid { display: table; border-spacing: 10px; background-color: orangered; } .row { display: table-row; } .image { display: table-cell; width: 120px; background-color: #000; padding: 8px; } .image img { width: 100%; } .image p { color: #ffffff; padding-top: 8px; } </style> </head> <body> <div class="grid"> <div class="row"> <div class="image"> <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg"> <p>描述1</p> <p>描述2</p> </div> <div class="image"> <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg"> <p>描述1</p> </div> </div> <div class="row"> <div class="image"> <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg"> <p>描述1</p> </div> <div class="image"> <img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1287814793,457485829&fm=26&gp=0.jpg"> <p>描述1</p> <p>描述2</p> <p>描述3</p> </div> </div> </div> </body> </html>
四、多行文本垂直居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; } </style> <style> .article { display: table; width: 300px; height: 300px; background-color: yellow; } .multiline { display: table-cell; background-color: blueviolet; vertical-align: middle; } </style> </head> <body> <div class="article"> <p class="multiline">申請?jiān)瓌?chuàng)將啟用(Creative Commons )版權(quán)模板,如果不是原創(chuàng)文章,請選擇轉(zhuǎn)載或翻譯 原創(chuàng)文章默認(rèn)開啟打賞, 打賞管理</p> </div> </body> </html>
五、display: table屬性布局和table元素布局的區(qū)別?
一般的,不推薦使用table元素進(jìn)行頁面布局。table元素在HTML當(dāng)中是一個(gè)包含語義的標(biāo)簽:它描述什么是數(shù)據(jù)。因此,你只能用它來標(biāo)記那些需要制表的數(shù)據(jù),例如一張財(cái)務(wù)信息表。如果數(shù)據(jù)能夠以電子表格的形式保存在你的電腦中,那它在HTML文檔中很可能需要用到table標(biāo)簽進(jìn)行標(biāo)記。
display的table屬性值只是聲明了某些元素在瀏覽器中的樣式——它不包含語義。如果使用table元素來進(jìn)行布局,它將會(huì)告訴客戶端:這些數(shù)據(jù)是制表的。使用一些display屬性被設(shè)置為table和table-cell之類的div標(biāo)簽,除了告訴客戶端以某種特定的樣式來渲染它們以外,不會(huì)告訴客戶端任何語義,只要客戶端能夠支持這些屬性值。
當(dāng)然,我們同樣還要注意,當(dāng)真的需要制表數(shù)據(jù)的時(shí)候,不要使用一大堆被聲明為display:table;的div元素。
CSS表格除了包含table布局的普通規(guī)則之外,同時(shí)還有著CSS table布局的超強(qiáng)特性:缺少的表格元素會(huì)被瀏覽器以匿名方式創(chuàng)建。
到此這篇關(guān)于diaplay:table布局神器的絕妙應(yīng)用場景的文章就介紹到這了,更多相關(guān)diaplay:table布局內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時(shí)控制行和列,相比 Flex(一維布局),更適合用在整體頁面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個(gè)非?;A(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細(xì)介紹 padding 和 margin 的概念、區(qū)別以及如何在實(shí)際項(xiàng)目中使用它們2025-04-07- will-change 是一個(gè) CSS 屬性,用于告訴瀏覽器某個(gè)元素在未來可能會(huì)發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標(biāo)簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網(wǎng)頁的外觀和布局,更是實(shí)現(xiàn)復(fù)雜交互和動(dòng)態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級,本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細(xì)介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會(huì)失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細(xì)介紹了CSS中的打印媒體查詢@mediaprint包括基本語法、常見使用場景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁控制、調(diào)整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標(biāo)懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標(biāo)懸浮顯示提示文字效果,通過設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實(shí)現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動(dòng)態(tài)設(shè)置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動(dòng)態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對象語法和數(shù)組語法,通過對象語法,可以根據(jù)條件動(dòng)態(tài)切換類名或樣式;通過數(shù)組語法,可以同時(shí)綁定多個(gè)類名或樣式,此外2025-02-26