html - CSS 随媒体屏幕尺寸变化

标签 html css flexbox

我正在尝试为网站构建一个简单的模板。我已经在下面的链接中包含了所有代码,但只是为了提供一个想法,我试图在 max-width: 600px 时更改 2 个 flex 元素的布局;

目前的布局是这样的: enter image description here

这是一个 header ,带有简单的 Flex 设置,左边是 Flex:1(绿色),蓝色是 Flex:2。

我希望做的是如果 max-width < 600px 然后将绿色部分放在蓝色之上,并使它们大小相同。这是我的 html 和 CSS,还添加了指向我的 codePen 的链接

HTML:

<body>
 <div class="top">

 </div>
 <div class="wrapper">
 <div class="left">
  <div class="logo">
  </div>
  <div class="menu">
  </div>
</div>
  <div class="mainContent">

  </div>
</div>

</body>

我的 CSS 看起来像这样:

.left{
flex:1;
height:auto;
background-color: green;
background-position: fixed;
}
.mainContent{
 flex:2;
 background-color:blue;
 height:100px;
}
@media screen and (max-width: 600px){
.mainContent{
  background-color: pink;
}
.wrapper{ <---- Here it's turning both the Green & blue into pink (doing this as test)
  flex-direction: column;
}
}

所以我已经尝试通过设置来做到这一点

.wrapper{
flex:direction:column 
}

但这会将整个绿色和蓝色行变成粉红色。

知道如何格式化它,使绿色在蓝色之上,并且它们的大小相同吗?我正在努力使它适合移动设备。

LinktoCodepen

最佳答案

使用媒体查询将两个元素的 width 设置为 100%。

然后使用 flex-wraporder 属性将您的元素放在正确的位置。

您的 CSS 大致如下所示:

  body{
    background-color: #ccc;
    margin:0px;
    padding:0px;
  }
  .top{
    margin:0px;
    padding:0px;
    width:100%;
    height:100px;
    background-color: yellow;
  }
  .wrapper{
    display:flex;
    flex-direction:row;
    flex-wrap: wrap;
    width: 100%;
  }
  .left{
    flex:1;
    height: 100px;
    background-color: green;
    background-position: fixed;
  }
  .mainContent{
    flex:2;
    background-color:blue;
    height:100px;
  }
  @media screen and (max-width: 600px){
    .mainContent{
      background-color: pink;
      min-width: 100%;
    }
    .left {
      min-width: 100%;
    }
  }

这是一个更新的代码笔:https://codepen.io/anon/pen/pWMymE

关于html - CSS 随媒体屏幕尺寸变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46936566/

相关文章:

javascript - 禁用时启用 console.log

javascript - Highcharts 背景图片大小选项

javascript - 如何使用 jQuery 切换类并同时滚动到该类?

jquery - 当悬停一个 div 时,其余部分会发生变化

css - 为什么 "flex-wrap: wrap"会中断 "align-items"?

javascript - Bootstrap 导航栏固定顶部和 body 填充顶部

html - 省略号(三个点)展开和折叠文本

jquery - Internet Explorer 8 阻止 CSS、JQuery

html - 制作框阴影并使文本更接近文本

css - 带有 flex 的 ui 路由器滑动侧边栏