简体   繁体   English

CSS中具有可变列数的表

[英]Table with variable number of columns in CSS

As an example, this is how it would look on desktop 例如,这就是它在台式机上的外观

在此处输入图片说明

and on mobile 和移动

在此处输入图片说明

I know I can do this with JS by modifying the structure of the table, but I haven't been able to find a CSS solution with minimal JS. 我知道我可以通过修改表的结构来使用JS来做到这一点,但我一直无法找到使用最少JS的CSS解决方案。

Try like this: LINK 尝试这样: LINK

CSS: CSS:

table {
    width: 100%;
    border-collapse: collapse;
}
/* Zebra striping */
 tr:nth-of-type(odd) {
    background: #eee;
}
th {
    background: #333;
    color: white;
    font-weight: bold;
}
td, th {
    padding: 6px;
    border: 1px solid #ccc;
    text-align: left;
}

 @media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
    /* Force table to not be like tables anymore */
    table, thead, tbody, th, td, tr {
        display: block;
    }
    /* Hide table headers (but not display: none;, for accessibility) */
    thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    tr {
        border: 1px solid #ccc;
    }
    td {
        /* Behave  like a "row" */
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%;
    }
    td:before {
        /* Now like a table header */
        position: absolute;
        /* Top/left values mimic padding */
        top: 6px;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
    }
    /*
        Label the data
        */
    td:nth-of-type(1):before {
        content:"First Name";
    }
    td:nth-of-type(2):before {
        content:"Last Name";
    }
    td:nth-of-type(3):before {
        content:"Job Title";
    }
    td:nth-of-type(4):before {
        content:"Favorite Color";
    }
    td:nth-of-type(5):before {
        content:"Wars of Trek?";
    }
    td:nth-of-type(6):before {
        content:"Porn Name";
    }
    td:nth-of-type(7):before {
        content:"Date of Birth";
    }
    td:nth-of-type(8):before {
        content:"Dream Vacation City";
    }
    td:nth-of-type(9):before {
        content:"GPA";
    }
    td:nth-of-type(10):before {
        content:"Arbitrary Data";
    }
}
/* Smartphones (portrait and landscape) ----------- */
 @media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
    body {
        padding: 0;
        margin: 0;
        width: 320px;
    }
}
/* iPads (portrait and landscape) ----------- */
 @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    body {
        width: 495px;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM