我的桌面设计有一个7列的表格状网格(使用Bootstrap),顶部的列名称为。

在小屏幕上,网格应变为3列。这7个列名分为2个单独的行,并与其他行交错。基本上,标记的顺序完全取决于屏幕大小。

解决此问题的最佳方法是什么?

我原本以为我会使用jQuery剪切并粘贴内容,但是现在我在猜测

我也看到了对responsejs的评论:Replace HTML depending on screen size
这为您提供了一种方便用户的方式来根据屏幕尺寸交换内容,尽管看起来好像有一个单独的移动页面...

最佳答案

较早的解决方案:

<table>
    <tr>
        <th>Header1</th>
        <th>Header2</th>
        <th>Header3</th>
        <th class="visible-desktop">Header4</th>
        <th class="visible-desktop">Header5</th>
        <th class="visible-desktop">Header6</th>
        <th class="visible-desktop">Header7</th>
    </tr>
    <tr>
        <td>Data1</td>
        <td>Data2</td>
        <td>Data3</td>
        <td class="visible-desktop">Data4</td>
        <td class="visible-desktop">Data5</td>
        <td class="visible-desktop">Data6</td>
        <td class="visible-desktop">Data7</td>
    </tr>
</table>


编辑:
因此,您的意思是您希望在小屏幕上使用此功能:

H1 H2 H3
D1 D2 D3
H4 H5 H6 H7
D4 D5 D6 D7


然后,您如何计划拥有下一行数据?像这样? :

H1 H2 H3
D1 D2 D3
H4 H5 H6 H7
D4 D5 D6 D7
H1 H2 H3
D8 D9 D10
H4  H5  H6  H7
D11 D12 D13 D14


好吧,这在小屏幕上并不能提供很好的用户界面!

但是,如果您仍然想要这样做,那么我建议您使用span div而不是表格。

在这种情况下,如下所示:

<div class='span12'> //Entire row1 which will be split into 2 for smaller screens
    <div class='span6'>
         <div class='span2'>
             <table>
                 <tr>
                 <td>H1</td>
                 </tr>
                  <tr>
                 <td>D1</td>
                 </tr>
             </table>
         </div>
         <div class='span2'>
              <table>
                     <tr>
                     <td>H2</td>
                     </tr>
                      <tr>
                     <td>D2</td>
                     </tr>
                 </table>
         </div>
         <div class='span2'>
          <table>
                 <tr>
                 <td>H3</td>
                 </tr>
                  <tr>
                 <td>D3</td>
                 </tr>
             </table>
         </div>
    </div>
    <div class='span6'>
        /*And so on*/
    </div>
</div>
<div class='span12'> //Entire row1 which will be split into 2 for smaller screens
...
</div>

10-04 17:16