CSS 设置tr的边框

今天遇到了一个问题,想给table加边框,实现这样一个效果:


HTML代码

      <table class="information">
        <tr>
          <th>考试科目:</th>
          <th>数学</th>
          <th>时间:</th>
          <th>120分钟</th>
          <th>得分:</th>
          <th><input type="text" class="score"></th>
        </tr>
        <tr>
          <th>班级:</th>
          <th>
            <input type="text" class="className">
          </th>
          <th>学号:</th>
          <th>
            <input type="text" class="ID">
          </th>
          <th>姓名:</th>
          <th>
            <input type="text" class="name">
          </th>
        </tr>
      </table>

CSS代码

一开始我想的很简单,给tr加个边框不就行了,代码如下

.information tr{
   border: 1px solid #ccc;
}

但是发现没用,原因是只有table,th和td有独立的边框,tr是没有边框的。所以这个方法只能放弃啦。


然后想到了那就给th加上边框和下边框,连起来应该就是想要的效果,代码如下

.information tr th{
   border-top: 1px solid #ccc;
   border-bottom: 1px solid #ccc;
}

但是出现了这样的情况


这是因为th的边框是默认分开显示的,这里就需要提一个CSS属性:
border-collapse 该属性设置表格的边框是否被合并为一个单一的边框,还是像在标准的 HTML 中那样分开显示。
这里我们把该属性设置为separate,表示将表格的边框合并为一个边框。代码如下:

.information{
  border-collapse: separate;
  border-spacing: 0px 20px;      /*设置列、行间距*/
}

把这段CSS代码加上就可以实现之前想要的效果啦~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,681评论 1 92
  • (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)(注2:更多内容请查看我的目录。) ...
    love丁酥酥阅读 9,812评论 2 5
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 8,573评论 0 5
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 7,488评论 0 30
  • 就如黄老邪有三分正,七分邪。有时候恰好是退缩、犹豫、懦弱、不一,让我们看到人还有这么多弱点,也正是这些弱点也让我们...
    空心菜abc阅读 5,408评论 10 13