一个网页上,有个表格,有很多列,如果在PC网页上显示,是能显示出来的,没有问题,但是如果用手机打开,由于屏幕较小,所以就有横向滚动条,查看就非常不方便,有什么简单的方法,能够自适应手机和电脑屏幕,并且保证显示效果比较好?
例如表格如下:
- <table>
- <thead>
- <tr>
- <th>First Name</th>
- <th>Last Name</th>
- <th>Job Title</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>James</td>
- <td>Matman</td>
- <td>Chief Sandwich Eater</td>
- </tr>
- <tr>
- <td>The</td>
- <td>Tick</td>
- <td>Crimefighter Sorta</td>
- </tr>
- </tbody>
- </table>
解决方法,CSS如下:
- Max width before this PARTICULAR table gets nasty
- This query will take effect for any screen smaller than 760px
- and also iPads specifically.
- */
- @media
- only screen and (max-width: 760px),
- (min-device-width: 768px) and (max-device-width: 1024px) {
-
- table, thead, tbody, th, td, tr {
- display: block;
- }
-
-
- thead tr {
- position: absolute;
- top: -9999px;
- left: -9999px;
- }
-
- tr { border: 1px solid #ccc; }
-
- td {
-
- border: none;
- border-bottom: 1px solid #eee;
- position: relative;
- padding-left: 50%;
- }
-
- td:before {
-
- position: absolute;
-
- 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: "Secret Alias"; }
- 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"; }
- }
显示效果,PC上为正常的表格,手机屏幕显示效果如下: