CSS操作数据内容样式
1.表格
(1)CSS定制表格
display:table...
表格可以非常快速的部署数据,灵活控制表格样式是必要的。
样式规则 | 说明 |
---|---|
table | 对应 table |
table-caption | 对应 caption |
table-row | 对表 tr |
table-row-group | 对应 tbody |
table-header-group | 对应 thead |
table-footer-group | 对应 tfoot |
<article class="table">
<section>
<ul>
<li>编号</li>
<li>标题</li>
</ul>
</section>
<section>
<ul>
<li>1</li>
<li>Yooo</li>
</ul>
</section>
<section>
<ul>
<li>2</li>
<li>Alison</li>
</ul>
</section>
</article>
.table {
display: table;
}
.table section:nth-of-type(1) {
display: table-header-group;
background: #555;
color: white;
}
.table section:nth-of-type(2) {
display: table-row-group;
}
.table section:nth-of-type(3) {
display: table-footer-group;
background: #f3f3f3;
}
.table section ul {
display: table-row;
}
.table section ul li {
display: table-cell;
border: solid 1px #ddd;
padding: 10px;
}
(2)表格标题&文本对齐
<caption>
caption-side: top | bottom
text-align: left | center | right
vertical-align: top | middle | bottom
table {
width: 100%;
}
table caption {
background: red;
color: #fff;
border: solid 3px #ddd;
caption-side: top;
}
table tr td {
height: 100px;
text-align: center;
vertical-align: middle;
}
<table border="1">
<caption>课程介绍</caption>
<thead>
<tr>
<td>编号</td>
<td>标题</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Yooo</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>2</td>
<td>Alison</td>
</tr>
</tfoot>
</table>
(3)表格颜色&背景
background: color | url()
例:隔行变色
table tbody tr:nth-child(odd) {
background: springgreen;
}
table td {
color: green;
font-size: 14px;
}
<table border="1">
<thead>
<tr>
<td>编号</td>
<td>标题</td>
<td>网址</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Yooo</td>
<td>Yooo.com</td>
</tr>
<tr>
<td>2</td>
<td>Alison</td>
<td>Alison.com</td>
</tr>
<tr>
<td>3</td>
<td>Ruby</td>
<td>Ruby.com</td>
</tr>
</tbody>
</table>
(4)表格细线(边框合并)
border-collapse: collapse
table {
/* border-spacing: 0px; */
/* 边框合并 */
border-collapse: collapse;
border: solid 1px #ddd;
}
(5)表格空白单元格处理
empty-cells: hide
table {
/* 空列隐藏处理 */
empty-cells: hide;
}
td {
border: solid 1px #ddd;
padding: 10px;
}
(6)细线无边框表格样式
table {
border: none;
border-collapse: collapse;
}
table thead {
background: #f3f3f3;
}
table td {
border: none;
border-right: solid 1px #ddd;
border-top: solid 1px #ddd;
padding: 10px;
}
table td:last-child {
border-right: none;
}
table tr:last-child td {
border-bottom: solid 1px #ddd;
}
例:光标经过
table,
td {
border: none;
font-size: 18px;
border-collapse: collapse;
}
table td {
border-top: solid 1px #ccc;
padding: 10px;
}
table tr:hover {
background: #ddd;
cursor: pointer;
}
2.列表
(1)设置列表样式
list-style-type: decimal | lower-roman...
该属性可继承
ul {
/* 设置列表样式 */
list-style-type: decimal;
list-style-type: lower-roman;
}
值 | 描述 |
---|---|
none | 无标记。 |
disc | 默认。标记是实心圆。 |
circle | 标记是空心圆。 |
square | 标记是实心方块。 |
decimal | 标记是数字。 |
decimal-leading-zero | 0开头的数字标记。(01, 02, 03, 等。) |
lower-roman | 小写罗马数字(i, ii, iii, iv, v, 等。) |
upper-roman | 大写罗马数字(I, II, III, IV, V, 等。) |
lower-alpha | 小写英文字母The marker is lower-alpha (a, b, c, d, e, 等。) |
upper-alpha | 大写英文字母The marker is upper-alpha (A, B, C, D, E, 等。) |
lower-greek | 小写希腊字母(alpha, beta, gamma, 等。) |
lower-latin | 小写拉丁字母(a, b, c, d, e, 等。) |
upper-latin | 大写拉丁字母(A, B, C, D, E, 等。) |
hebrew | 传统的希伯来编号方式 |
armenian | 传统的亚美尼亚编号方式 |
georgian | 传统的乔治亚编号方式(an, ban, gan, 等。) |
cjk-ideographic | 简单的表意数字 |
hiragana | 标记是:a, i, u, e, o, ka, ki, 等。(日文片假名) |
katakana | 标记是:A, I, U, E, O, KA, KI, 等。(日文片假名) |
hiragana-iroha | 标记是:i, ro, ha, ni, ho, he, to, 等。(日文片假名) |
katakana-iroha | 标记是:I, RO, HA, NI, HO, HE, TO, 等。(日文片假名) |
(2)隐藏列表样式
list-style-type: none
ul {
/* 隐藏列表样式 */
list-style-type: none;
}
(3)自定义列表样式
list-style-image: url() | linear-gradient...
ul {
/* 自定义列表样式 */
list-style-image: url(head.png);
list-style-image: linear-gradient(45deg, red, orange);
}
(4)(多图)背景符号
background-image: url(), url()
ul {
list-style-type: none;
}
ul li {
color: white;
background-image: url(head.png), url(3.jpg);
background-repeat: no-repeat, repeat;
background-size: 10px 10px;
background-position: 0px 5px, 0 0;
text-indent: 1em;
border-bottom: solid 1px #ddd;
margin-bottom: 10px;
padding-bottom: 5px;
}
3.追加元素
::before
::after
提取属性:content: attr()
h2:hover::after {
/* content: "酱油"; */
/* 获取内容的属性 */
content: attr(data-link);
color: orange;
background: palegoldenrod;
padding: 10px 30px;
}
h1 {
position: relative;
cursor: pointer;
}
h1:hover::after {
/* content: "酱油"; */
/* 获取内容的属性 */
content: attr(title);
color: white;
background: #555;
position: absolute;
padding: 5px;
bottom: -5px;
}
<h2 data-link="酱油">Yooo</h2>
<h1 title=".com">Alison</h1>