【问题标题】:Flexbox to change position of elementsFlexbox 改变元素的位置
【发布时间】:2018-10-22 12:52:27
【问题描述】:

是否可以使用 flexbox 来做这个例子中的事情?基本上,我想在移动设备中查看时将列中的元素翻转为一行。你会怎么做呢?

<p> Desktop:</p>
<table style="height: 52px;" width="331">
<tbody>
<tr>
<td style="width: 103.533px;">image-icon1</td>
<td style="width: 103.533px;">image-icon2</td>
<td style="width: 103.533px;">image-icon3</td>
</tr>
<tr>
<td style="width: 103.533px;">Text1</td>
<td style="width: 103.533px;">Text2</td>
<td style="width: 103.533px;">Text3</td>
</tr>
</tbody>
</table>
<p> Mobile:</p>
<table style="height: 71px;" width="189">
<tbody>
<tr>
<td style="width: 87.1px;">image-icon1</td>
<td style="width: 87.1px;">Text1</td>
</tr>
<tr>
<td style="width: 87.1px;">image-icon2</td>
<td style="width: 87.1px;">Text2</td>
</tr>
<tr>
<td style="width: 87.1px;">image-icon3</td>
<td style="width: 87.1px;">Text3</td>
</tr>
</tbody>
</table>

【问题讨论】:

    标签: html css html-table flexbox


    【解决方案1】:

    是的,有可能

    查看以下示例。

    我正在使用 CSS 媒体查询@media(max-width:768px) 来检查屏幕宽度是否小于 768px(可以是小于此的任何值)。

    据此,我将 flex 子项的方向设置为 column,以便子项可以相互堆叠。

    除此之外,在手机屏幕上,我还设置了内部容器(.secclass)的显示为flex,

    <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div>
    

    这样,它的子节点就会排成一行。

    .container {
      display: flex;
      flex-direction: row;/* default value*/
    }
    .text,.img{
      padding:10px;
    }
    .sec {
      flex: 1;
      background-color: wheat;
      padding: 5px;
      border: 1px solid black;
      text-align: center;
    }
    
    @media(max-width:768px) { /* can be anything less than this*/
      .container {
        flex-direction: column;
      }
      .sec {
        display: flex;
        flex-direction: row;/* default value*/
      }
     
      
    }
    <div class="container">
      <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div>
      <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div> <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div> <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div> <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div> <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div> <div class="sec">
        <div class="img">Image</div>
        <div class="text">
          Text
        </div>
      </div>
    
    
    </div>

    【讨论】:

    猜你喜欢
    • 2021-07-23
    • 2020-06-28
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 2012-08-11
    相关资源
    最近更新 更多