纯CSS实现表格的自适应布局

本文分享了一种用纯CSS实现的表格自适应布局,主要用到伪元素:before。

“自适应布局”的特点是使用CSS媒体查询语句(@media screen and (...) ),让网页布局可以根据页面宽度自动做相应的调整,而不是原有网页制作,几种不同的尺寸就做几个相适应的页面。

自适应布局技术中的一个难题,就是,如何让table元素也能表现出自适应性。在HTML5中table是一个不鼓励使用的HTML标记,但网页制作中,我们避免不了的偶尔会用到它。

那么,怎样让一个传统的表格也表现出自适应性呢?

本文分享的是用纯CSS实现表格的自适应布局,而且CSS只负责表现,不牵涉业务逻辑和数据。

网页table代码:

<table>
<thead>
<tr>
<th>网站</th>
<th>网址</th>
<th>主题</th>
<th>评价</th>
</tr>
</thead>
<tbody>
<tr>
<td data-label="网站"><a href="http://www.125jz.com">中国网页设计</a></td>
<td data-label="网址">http://www.125jz.com</td>
<td data-label="主题">网页设计、网页制作</td>
<td data-label="评价">★★★★★</td>
</tr>
<tr>
<td data-label="网站">手机521</td>
<td data-label="网址">http://www.mobile521.com</td>
<td data-label="主题">手机教程、手机推荐</td>
<td data-label="评价">★★★★★</td>
</tr>
</tbody>
</table>

伪元素 :before:after 它们有一个功能是将元素属性值显示到HTML内容里,content: attr(data-label),放在before/after伪元素类里。我们就能够让table在PC端表现成网格效果,而在小屏的手机端表现成流式布局。

我们以600px为小屏幕大屏幕的分界点,下面的CSS使用媒体查询语句,在小于600px宽的屏幕上,用CSS将td上的属性值取出来,放到内容区显示。

实现表格自适应的CSS代码:

@media screen and (max-width: 600px) {
   table td:before {
     content: attr(data-label);
     float: left;
     text-transform: uppercase;
     font-weight: bold;
   }
}

 

效果如下:

纯CSS实现表格的自适应布局
在大屏上显示效果
纯CSS实现表格的自适应布局
在小于600PX屏幕上显示效果

全部代码:

 

演示:纯CSS实现自适应布局表格

调整页面宽度,或者在不同屏幕尺寸的设备上(PC,手机)尝试浏览器本页,你会发现下面的表格呈现出自适应布局特征,能够自动的使用不同的屏幕尺寸,数据的表现不会因为屏幕大小变化而变得不合适。

网站 网址 主题 评价
中国网页设计 http://www.125jz.com 网页设计、网页制作 ★★★★★
手机521 http://www.mobile521.com 手机教程、手机推荐 ★★★★★

 

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1324.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年2月19日 上午9:14
下一篇 2018年2月20日 下午12:14

99%的人还看了以下文章

  • CSS3:Box-shadow 教程及实例-制作逼真的图片阴影效果

    box-shadow属性的基本用法 使用Box-shadow制作逼真的图片阴影效果 使用伪元素::before和::after,我们能实现非常逼真的只有图片才能实现的阴影效果。 HTML: <div class=”box11 shadow”></div> CSS: .box11 { width: 300px; height: 100p…

    2019年1月5日 网页制作
    4.8K0
  • vue学习-我的第一个vue代码

    创建一个 .html 文件,然后通过如下方式引入 Vue: <!– 开发环境版本,包含了有帮助的命令行警告 –> <script src=”https://cdn.jsdelivr.net/npm/vue/dist/vue.js”></script> 或者: <!– 生产环境版本,优化了尺寸和速度 –>…

    2020年6月14日
    6.4K0
  • 第3课:HTML的元素与标签

    本节课我们学习HTML的重要成分——元素(element)。元素用于结构化HTML文档,并告知浏览器如何呈现网页。一般来说,元素由首标签(start tag)、内容(content)和尾标签(end tag)构成。 “标签”是什么? 标签(tag)指示元素的起始与结束,所有标签都由“<”及“>”所围住,如<html>。一般标签成对出现,首标…

    2018年1月20日
    6.3K0
  • HTML5画布(Canvas)速查表

    HTML5 <canvas> 标签用于绘制图像。<canvas> 元素本身仅仅是图形的容器,必须使用脚本来完成实际的绘图任务。HTML5 <canvas> 可用于在画布上绘制文本、线条、矩形、圆形等等。 HTML5画布(Canvas)元素 <canvas id=”myCanvas” width=”500″ heigh…

    2018年2月20日
    3.4K0
  • Zoho Docs-在网页中嵌入PPT的最佳方案(个人版5G免费)

    Zoho WorkDrive – 全面的在线共享文档工具 在125建站网上想嵌入PPT,分享给大家 ,并且可以播放。 我思考了三种方法: 是在Zoho Docs上操作; 是PPT以图片的形式保存(动画效果没有了),直接轮播; 是自己手写动画+轮播,达到PPT播放效果(用express.js来实现)比较复杂,并且对小白站长不适用。 很自信的要自己手…

    2023年1月16日 网页制作
    1.1K0
  • 第6课:学习更多HTML元素

    到现在,你有没有独立完成过一个网页?你可以的,看看下面的例子: <html> <head><title>125建站网|www.125jz.com</title></head> <body> <h1>一级标题</h1><p>一些文字。。。</p&g…

    2018年1月20日
    4.6K0

发表回复

登录后才能评论