使用css隐藏响应表中的列

时间:2013-06-10 09:23:08

标签: html css responsive-design

我有一个通用表,并希望将此表用于多种用途。 例如1。 对于员工详细信息: Eno eFname ELName EDept ESalary Elocation。 在上面我想隐藏ELname和Elocation。目前我使用css类来隐藏ELName和ELocation。

例如2:学生详情 Sno SFname SLname SDegree SLocation。 我想隐藏某些设备上的某些列,例如移动模式,纵向模式。 目前我使用css类来隐藏特定列。但该表对所有人都是通用的。

我注意到将.hidden-phone和.hidden-tablet等类添加到表格单元格会使它们在视觉上变得明显。这是因为单元格会尝试显示为块。

你能帮助我在.hidden-phone,.hidden-portrait..etc中使用我需要使用的属性。 不想在媒体查询中使用tr td:nth-​​child(4),tr td:nth-​​child(3)来隐藏列。

1 个答案:

答案 0 :(得分:8)

在你的css中使用媒体查询,这里是4个断点css查询。

这是jsfiddle http://jsfiddle.net/yeyene/MfKzU/1/

HTML

<table id="myTable" width="100%" border="1">
  <tr>
    <td>Nothing change</th>
    <td class="col_1">Hide data < 959px</td>
    <td class="col_2">Hide data < 767px</td>
    <td class="col_3">Hide data < 599px</td>
    <td class="col_4">Hide data < 479px</td>
  </tr>
  <tr>
    <td>Left alone</td>
    <td class="col_1">aaa</td>
    <td class="col_2">bbb</td>
    <td class="col_3">ccc</td>
    <td class="col_4">ddd</td>
  </tr>
  <tr>
    <td>Left alone</td>
    <td class="col_1">aaa</td>
    <td class="col_2">bbb</td>
    <td class="col_3">ccc</td>
    <td class="col_4">ddd</td>
  </tr>
</table>

CSS

html, body{
    margin:0;
    padding:0;  
}
#myTable {
    float:left;
    border:1px solid #dfdfdf;
    border-collapse:collapse;   
    width:100%;
    font-size:12px;
}
/* #Tablet (Portrait)
================================================== */
/* Note: Design for a width of 768px */
@media all and (min-width: 768px) and (max-width: 959px) {
    td.col_1{
        display:none;
        width:0;
        height:0;
        opacity:0;
        visibility: collapse;       
    } 
}
/* #Mobile (Landscape)
================================================== */
/* Note: Design for a width of 600px */
@media all and (min-width: 600px) and (max-width: 767px) {
    td.col_2{
        display:none;
        width:0;
        height:0;
        opacity:0;
        visibility: collapse;
    } 
}
/* #Mobile (Landscape)
================================================== */
/* Note: Design for a width of 480px */
@media all and (min-width: 480px) and (max-width: 599px) {
    td.col_3{
        display:none;
        width:0;
        height:0;
        opacity:0;
        visibility: collapse;
    } 
}
/*  #Mobile (Portrait)
================================================== */
/* Note: Design for a width of 320px */
@media all and (max-width: 479px) {
    td.col_4{
        display:none;
        width:0;
        height:0;
        opacity:0;
        visibility: collapse;
    }    
}