码迷,mamicode.com
首页 > 其他好文 > 详细

响应式表格布局

时间:2018-01-20 12:35:13      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:for   位置   应用开发   名称   设置   划线   相对路径   strong   不同   

通过css媒体查询捕捉浏览器的大小,来改变css样式,本例是改变表格的样式

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>响应式表格布局</title>
    <link rel="stylesheet" type="text/css" href="begin.css" />
</head>
<body>
    <h1>课程</h1>
    <table class="responsive">
        <thead>
        <tr>
            <th>程序序号</th>
            <th>课程名称</th>
            <th>课程操作</th>
        </tr>
        </thead>
        <tr>
            <td class="number">150406</td>
            <td class="name">移动应用开发</td>
            <td class="actions">
                <a href="#">修改</a><a href="del">删除</a>
            </td>
        </tr>
        <tr>
            <td class="number">150407</td>
            <td class="name">HTML前段开发</td>
            <td class="actions">
                <a href="#">修改</a><a href="del">删除</a>
            </td>
        </tr>
    </table>
</body>
</html>

css

h1{
    font-size: 30px;
    text-align: center;
    color: #666666;
}

<!-- 设置表格外边框 --> table.responsive{ width: 98%; margin: 0 auto; border: 1px solid #666666;
  <!-- 设置表格单元格边框合并在一起 --> border-collapse: collapse; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .6); -moz-box-shadow: 0 0 10px rgba(0, 0, 0, .6); box-shadow: 0 0 10px rgba(0, 0, 0, .6); }
<!-- 设置表格单元格边框 --> table.responsive th,table.responsive td{ border: 1px solid #666666; padding: .5em 1em; }
<!-- 设置表头颜色 --> table.responsive th{ background: #35B558; }
<!-- 设置超链接格式 --> table.responsive .actions a{ color: #ff5c00;
  <!-- 设置超链接字体没有下划线 --> text-decoration: none; padding: 0 4px; } table.responsive .number,table.responsive .actions{ text-align: center; }
<!-- 捕捉浏览器宽度最大为480px时触发以下css样式 --> @media (max-width: 480px)
{
  <!-- 清除其它宽度下所设置的表格样式 --> table.responsive{ -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; border: none; }
  <!-- 隐藏表头(这里的隐藏与visiblity隐藏不同,这里的隐藏将不会为隐藏部分留下空白位置,而visiblity会为隐藏部分留下空白位置) --> table.responsive thead{ display: none; }
  <!-- 将所有表格变成块级元素,以使表格独行显示 --> table.responsive td{ display: block; border: none; }
  <!-- 设置第一例左对齐并添加颜色 --> table.responsive .number{ text-align: left; background: #35B558; }
  <!-- 在第一例文字前面添加文字 --> table.responsive .number:before{ content: ‘课程序号‘;
     <!-- 在此处设置padding是避免设置number为相对路径 --> padding-right: 20px; font-weight: bold; } table.responsive .name:before{ content: ‘课程名称‘; padding-right: 20px; font-weight: bold; }
   <!-- 设置相对路径,以便子元素使用绝对路径 --> table.responsive tr{ position: relative; }
  <!-- 通过绝对路径设置修改删除在第一行:
      因number的position值为static,所以number会在tr容器的第一行,
      这里修改删除通过绝对路径,设置距tr容器上面0px,则修改删除也会出现在tr容器第一行,这里一定要设置tr位置为相对路径 --> table.responsive .actions{ position: absolute; right: 0; top: 0; } }

 注意:由以上代码可以知道,使用position:absolute必须在其父元素中设置position:relative

 

响应式表格布局

标签:for   位置   应用开发   名称   设置   划线   相对路径   strong   不同   

原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8320147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!