相信大部分奮戰在前端的,尤其在前端攻城的過程中,有一種越陷越深的感覺,不錯,一如前端深似海,從此妹子是浮雲啊,前端上手容易,深入難啊!下面我就CSS中的display屬性講下我自己所積累的,與大家共享下,大神勿噴,我只是路過的。
css中display屬性在W3C教程上有簡要說明:http://www.w3school.com.cn/cssref/pr_class_display.asp;當然我是覺得講的不夠詳細,也有部分可能沒深度用過的。
display屬性取值有:block,inline-block;table;inline-table,table-row,table-cell,table-caption;list-item等,這都是基本的用法,相信大家在寫一些彈出框效果的時候用的最多的就是通過display:block和none屬性來顯示與隱藏彈窗。
如:在JQuery中可以:
$("#div").css("display":"block");來顯示隱藏想要的DOC對象;
1、block與inline-block屬性其實都是塊級元素,不過inline-block一個是行內的塊級元素;
2、table,table-row,table-cell,table-caption,list-item;
相信大部分的很少去了解這些屬性值,其實這些都是對應的在表格table中的對應項跟ul標籤中的li項,其中display:table其實就是一個table表格,而table-row與table-cell分別對應table表格中的tr跟td標籤,list-item就是li標籤;其實這些屬性在移動前端開發中用的也挺多的,而且對應的也符合table標籤的一些屬性,如在td中vertical-align用div display:table-cell同樣可以實現,這樣可以幫我們解決一些較前衛的瀏覽器中減少很多不必要的困擾。
ps:如果規定了 !DOCTYPE,則 Internet Explorer 8 (以及更高版本)支持屬性值 "inline-table"、"run-in"、"table"、"table-caption"、"table-cell"、"table-column"、"table-column-group"、"table-row"、"table-row-group"、以及 "inherit"。
還有: 今天同學問我在table元素中想通過js來實現表格的一行的隱藏和顯示,結果他用了上述Jquery代碼,結果頁面亂了,後來我用了$("#div").css("display":"table-row");達到了理想效果。
當然還有一些取值,先暫時講這麼多,下次更新,我們來看一些代碼及效果圖:
源代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>display屬性詳解</title>
<style type="text/css">
.table {
width: 500px;
height: 200px;
margin-left: 100px;
table-layout: fixed;
border-collapse: collapse;
}
.table td {
border: 1px solid green;
background-color: #e2e2e2;
}
.table_model {
width: 500px;
height: 20px;
margin: 0 auto;
}
.display_table {
display: table;
}
.display_caption {
width: 100%;
height: 30px;
line-height: 30px;
text-align: center;
color: blue;
display: table-caption;
}
.display_row_tr {
width: 100%;
height: 50px;
display: table-row;
}
.display_cell_td {
width: 98px;
height: 48px;
display: table-cell;
background-color: pink;
border: 1px solid yellow;
}
</style>
</head>
<body>
<table class="table">
<caption>我是表格做的</caption>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<div class="table_model display_table">
<div class="display_caption">我是DIV模擬表格,不用float喲!!</div>
<div class="display_row_tr">
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
</div>
<div class="display_row_tr">
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
</div>
<div class="display_row_tr">
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
</div>
<div class="display_row_tr">
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
<div class="display_cell_td"></div>
</div>
</div>
</body>
</html>