一文深度实践HTML表格,运维开发必备技能。基础不牢,地动山摇。跟紧步伐,复习巩固前端基础。

简介: 一文深度实践HTML表格,运维开发必备技能。基础不牢,地动山摇。跟紧步伐,复习巩固前端基础。

写在开篇

表格是什么鬼?额。。。就是表格啊!就如你经常使用的wps那种表格。那在html中如何显示表格?废话不说,放弃前戏,直奔主题。

HTML表格

先来个没有边框的表格,代码如下:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table>
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

效果如下图:

上面的小栗子中,有两列字段,且有两行记录。奇怪!咋没边框?

继续小栗子,我们加个边框试试,看下面代码

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table,th,td {
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table>
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

效果如下图:

完美,这会有边框了,注意到在head中的style标签里的CSS属性了嘛?就是border: 1px solid black;,它控制了table,th,td的边框,就是这里起着作用呢!当然还有很多的表格边框样式,请自行到W3C查找即可哈。

笔者尝试改变下边框的样式,换个风格,看下面代码:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table,th,td {
                border: 1px solid black;
                border-collapse: collapse;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table>
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

效果如下图:

发现增加了border-collapse: collapse; 表格的样式还真变了呢

下面再看个小栗子,调整一下内容与其边框之间的间距,看下面代码:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table,th,td {
                border: 1px solid black;
                border-collapse: collapse;
                padding: 15px;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table>
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

效果如下图:

注意到padding: 15px; 属性了嘛?没错了,就是用来控制间距,如果不指定间距,就是使用默认的间距了。

哎哟不错!接下来继续看个小栗子,这次的需求是要将表格撑满整个页面,看下面代码:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table,th,td {
                border: 1px solid black;
                border-collapse: collapse;
                padding: 10px;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table style="width:100%">
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

注意到table标签里的style的属性了嘛?就是这里起作用了

效果如下图:

下面再继续小栗子,表头的内容默认是加粗和居中,那如果想让它左对齐?怎么破?看下面代码:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table,th,td {
                border: 1px solid black;
                border-collapse: collapse;
                padding: 10px;
                text-align: left;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table style="width:100%">
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

注意到了text-align: left; 属性了嘛?就是它起作用了

效果如下图:

OK!我们继续下一个小栗子,如果想要调整表格边框的间距怎么搞呢?看下面代码:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table,th,td {
                border: 1px solid black;
                padding: 5px;
                border-spacing: 2px;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table style="width:100%">
            <tr>
                <th>HostName</th>
                <th>IP</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
            </tr>
            <tr>
                <td>web02</td>
                <td>192.168.11.67</td>
            </tr>
        </table>
    </body>
</html>

效果如下图:

注意到上面的 border-spacing 属性了嘛?就是它起作用了呢!

接下来,再来一个需求,这个需求涉及到跨多列的单元格,先看看代码和效果,就一目了然了

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table, th, td {
              border: 1px solid black;
              border-collapse: collapse;
              padding: 5px;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table style="width:100%">
            <tr>
                <th>HostName</th>
                <th>IP</th>
                <th colspan="2">机房位置</th>
            </tr>
            <tr>
                <td>web01</td>
                <td>192.168.11.80</td>
                <td>广州</td>
                <td>天河</td>
            </tr>
        </table>
    </body>
</html>

效果如下图:

注意到最后一个表头里的th标签里的colspan属性了嘛?就是它起着作用呢。

OK,我们继续下一个小栗子,那么如果要跨多行的单元格又该怎么玩呢?看下面代码

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table, th, td {
              border: 1px solid black;
              border-collapse: collapse;
              padding: 5px;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区,公众号ID:TtrOpsStack</h2>
        <table style="width:100%">
            <tr>
                <th>主机名</th>
                <td>gz-b1-web001</td>
            </tr>
            <tr>
                <th rowspan="2">IP信息</th>
                <td>业务IP:10.136.56.23</td>
            </tr>
            <tr>
                <td>管理IP:172.16.89.90</td>
            </tr>
        </table>
    </body>
</html>

注意到第二行里的th标签里的rowspan属性了嘛?就是它起着作用呢。

效果如下图:

继续我们的小栗子,如果要向表中添加标题,可以使用caption标签,代码如下:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table, th, td {
              border: 1px solid black;
              border-collapse: collapse;
              padding: 5px;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区</h2>
        <p>公众号ID:TtrOpsStack</p>
        <table style="width:100%">
            <caption>设备信息列表</caption>
            <tr>
                <th>主机名</th>
                <td>gz-b1-web001</td>
            </tr>
            <tr>
                <th rowspan="2">IP信息</th>
                <td>业务IP:10.136.56.23</td>
            </tr>
            <tr>
                <td>管理IP:172.16.89.90</td>
            </tr>
        </table>
    </body>
</html>

注意到上面caption标签了嘛?

效果如下图:

继续最后一个小栗子,为表定义特殊的样式,代码如下

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>陪你复习巩固,攻破前端技能</title>
        <style>
            table, th, td {
              border: 1px solid black;
              border-collapse: collapse;
              padding: 5px;
            }
            #b1 {
              width: 100%;
              background-color: #f1f1c1;
            }
            #b1 tr:nth-child(even) {
              background-color: #eee;
            }
        </style>
    </head>
    <body>
        <h2>彩虹运维技术栈社区</h2>
        <p>公众号ID:TtrOpsStack</p>
        <table id="b1" style="width:100%">
            <caption>设备信息列表</caption>
            <tr>
                <th>主机名</th>
                <td>gz-b1-web001</td>
            </tr>
            <tr>
                <th rowspan="2">IP信息</th>
                <td>业务IP:10.136.56.23</td>
            </tr>
            <tr>
                <td>管理IP:172.16.89.90</td>
            </tr>
        </table>
    </body>
</html>

table标签中定义了id “b1”,在style中,通过CSS控制了表格的样式

效果图下图:

写在最后

好了,本篇文章中的所有小栗子就告一段落了,下面对其做个小总结:

<table> 元素定义表
<tr> 元素定义表行
<td> 元素定义表数据
<th> 元素定义表格标题
<caption> 元素定义表格标题
CSS border 属性定义边框
CSS border-collapse 属性折叠单元格边框
CSS padding 属性向单元格添加填充
CSS text-align 属性对齐单元格文本
CSS border-spacing 属性设置单元格之间的间距
colspan 属性使单元格跨多个列
rowspan 属性使单元格跨多行
id 属性唯一地定义一个表

每次亲自测试完,输出文章后,仿佛有一种“衣带渐宽终不悔”之感。认认真真的去做好一件事情,需要投入很多的时间和精力。但广大盆友们的关注,就是我们坚持的最大动力。好了!本文希望可以帮助到有需要的人,越是基础,越要打牢固。正所谓,基础不牢,地动山摇啊!


相关文章
|
10天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
5天前
|
前端开发 JavaScript API
深入理解前端开发:从基础到实践
深入理解前端开发:从基础到实践
|
7天前
|
移动开发 前端开发 JavaScript
:掌握移动端开发:HTML5 与 CSS3 的高效实践
:掌握移动端开发:HTML5 与 CSS3 的高效实践
22 1
|
10天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
10天前
|
存储 前端开发 JavaScript
【Web 前端】如何找到所有 HTML select 标签的选中项?
【5月更文挑战第2天】【Web 前端】如何找到所有 HTML select 标签的选中项?
|
12天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
12天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
12天前
|
前端开发 JavaScript UED
【专栏:HTML 与 CSS 前端技术趋势篇】Web 性能优化:CSS 与 HTML 的未来趋势
【4月更文挑战第30天】本文探讨了CSS和HTML在Web性能优化中的关键作用,包括样式表压缩、选择器优化、DOM操作减少等策略。随着未来趋势发展,CSS模块系统、自定义属性和响应式设计将得到强化,HTML新特性也将支持复杂组件构建。同时,应对浏览器兼容性、代码复杂度和性能功能平衡的挑战是优化过程中的重要任务。通过案例分析和持续创新,我们可以提升Web应用性能,创造更好的用户体验。
|
12天前
|
移动开发 前端开发 UED
【专栏:HTML与CSS前端技术趋势篇】渐进式增强与优雅降级在前端开发中的实践
【4月更文挑战第30天】前端开发中的渐进式增强和优雅降级是确保跨浏览器、跨设备良好用户体验的关键策略。渐进式增强是从基础功能开始,逐步增加高级特性,保证所有用户能访问基本内容;而优雅降级则是从完整版本出发,向下兼容,确保低版本浏览器仍能使用基本功能。实践中,遵循HTML5/CSS3规范,使用流式布局和响应式设计,检测浏览器特性,并提供备选方案,都是实现这两种策略的有效方法。选择合适策略优化网站,提升用户体验。
|
12天前
|
前端开发 开发者 UED
【专栏:HTML与CSS前端技术趋势篇】网页设计中的CSS Grid与Flexbox之争
【4月更文挑战第30天】本文对比了CSS Grid和Flexbox两种布局工具。Flexbox擅长一维布局,简单易用,适合导航栏和列表;CSS Grid则适用于二维布局,能创建复杂结构,适用于整个页面布局。两者各有优势,在响应式设计中都占有一席之地。随着Web标准发展,它们的结合使用将成为趋势,开发者需掌握两者以应对多样化需求。