css 我想在移动的视图中使这些表列堆叠

but5z9lq  于 2023-04-08  发布在  其他
关注(0)|答案(2)|浏览(91)

我有5列,我把它们作为表,因为这是我最简单的编码方式。
我想让它们在移动的视图上堆叠。我该如何操作?
我的格式是:

#container {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding: 10px;
}

.content {
  display: table-cell;
  text-align: center;
  border: 5px solid black;
  word-wrap: break-word;
}

.content img {
  width: 100%;
  height: 100%;
  display: table-header-group;
}
<div id="container">
  <div class="content"></div>
  <div class="content"></div>
  <div class="content"></div>
  <div class="content"></div>
  <div class="content"></div>
</div>

任何帮助将不胜感激。我已经尝试设置内容类的宽度为100%使用媒体查询。我希望他们堆叠,如果可能的话。我不知道我在哪里出错。
我尝试使用flexbox之前的表的方法,但遇到的问题,高度时,屏幕大小的变化,这是更容易为我做的,我只是不知道如何使它移动的响应。因为它不是一个实际的表,我有点困惑。

v8wbuo2f

v8wbuo2f1#

最简单的方法是,如果你喜欢你的桌面设置,将上面所有的CSS Package 在一个@media查询中,以适应更大的屏幕。就像@media (min-width: 768px) { ... all your CSS }一样-这样,移动的上的任何东西都不会受到这些样式的影响。默认情况下,div是块级元素,将100%堆叠。

/* COMMON STYLES THAT WILL AFFECT ALL SCREENS - just for presentation and can be removed */

.content {
  border: 5px solid black;
  background: blue;
  height: 20px;
  margin-bottom: 10px;
}

/* now this will only apply to larger screens */

@media (min-width: 768px) {
  #container {
    display: table;
    width: 100%;
    table-layout: fixed;
    padding: 10px;
  }
  .content {
    display: table-cell;
    text-align: center;
    word-wrap: break-word;
    /* REMOVE THIS from your real code, just a reset from the global above */
    margin-bottom: 0;
    background: transparent;
    height: auto;
  }
  .content img {
    width: 100%;
    height: 100%;
    display: table-header-group;
  }
}
<div id="container">
  <div class="content"></div>
  <div class="content"></div>
  <div class="content"></div>
  <div class="content"></div>
  <div class="content"></div>
</div>
wfveoks0

wfveoks02#

我使用网格,但我认为也可以使用Flex:

#container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    width: 100%;
    padding: 0px;
    gap: 10px;
    height: 50vh;
}

.content {
    border: 5px solid black;
}

@media only screen and (max-width: 500px) {
    #container {
        grid-template-columns: 1fr;
    } 
}

相关问题