HTML表格的CSS玩法

2 篇文章 0 订阅

我又跟起公开课了,这次还是斯坦福大学,课程名字是Web Application 网络应用,代码为CS142, 又是广大cs课程的一元,学起斯坦福的课很有亲切感,毕竟最初的热情就是在Mehran的点播下激发出来的。

Project#1

这个项目要求我们做两个表格,要求两份表格用同一个html文件去链接不同css文件实现。

第一个:
这里写图片描述

第二个:
这里写图片描述

表格的html语法还是很简单的

<table>
    <tr>
        <th>h1</th><th>h2</th>
    </tr>
    <tr>
        <td>...</td>
    </tr>
</table>

一行就是一个<tr></tr> 单元格内容有标题<th>和内容<td>之分,今天在w3school上面看到了另外一种表示表格的结构,把头身尾分开了:

<table>
    <thead>
        <th>..</th>
    </thead>
    <tbody>
        <td>..</td>
    </tbody>
    <tfoot>
        <td>..</td>
    </tfoot>
</table>

这样在css里面写样式的时候可以分得更清楚。

今天写第二个css文件的时候我给自己列了个单子,希望自己不要被问题的规模给恫吓到,逐步去分解:

  • 字体
  • 对齐
  • 图二的那条线
  • total那一行
  • 外面的紫色框
  • 单元格之间要更多空间

字体方案

table {} 里面定义字体的家族:

font-family: sans-serif, Arial, Helvetica;

标题和脚注是要加粗的,这个属性叫做weight:

thead, tfoot {
     font-weight: bold;
} 

对齐

一般都是左对齐,所以在table{}里面设定:

text-align: left;

看图片会发现从第四列开始居中对齐了,这时候我们用到了css3里面一个非常有效的功能:nth-child()

td:nth-child(n+4) {
     text-align: center;
}
th:nth-child(n+4){
     text-align: center;
}

它实现的功能就是从第4列开始居中对齐,标题和内容的设定分开写了,因为我发现合在一起的语法不太好调整;这个功能的拓展你可以在w3school上面找到。

total上面那根线

那是tfoot 部分的上面的边框:

tfoot td {
     border-top-style: solid;
     border-color: black;
}

为什么后面加了个td 呢?因为我发现直接写tfoot 是无效的。

噢,这之前你一定要设置tableborder-collapse 属性为 collapse,不然中间会有空隙,影响美观。

更多的空间

一个是给单元格设置补白:

th, td {
padding: 5px;
}

还有一个办法是设置table 的宽度:

width: 100%;

这就让table 填满整个空间,随着浏览器的大小变化,单元格的空隙也会变化。

外面紫色的边框

我一开始以为是为table 设置边框,但补白的时候失败了,那条线永远是插着边框的,而不是像图片上那样有空白;后来发现要设置的是body 的边框:

body {
     border-style: solid;
     border-color: #d0d0ff;
     border-style: solid;
     border-width: 10px;
     margin: 20px;
     padding: 15px;
}

补白也有了,完美收官!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值