怎么制作使用flex制作可自适应的web页面??

发布于 2022-09-02 19:40:51 字数 2677 浏览 37 评论 0

想使用flex制作这种可自适应的布局(用在手机页面):

clipboard.png

我仿照着写了,效果如下:

clipboard.png

对应的代码:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
   <style>
    body,div{margin:auto;padding:0px;position:relative;} 
    
    .wfr_con{border:5px solid red;max-width:640px;width:100%;min-height:100px;max-height:300px;margin-top:20px;display:flex;display:-webkit-flex;justify-content:flex-start;-webkit-justify-content:flex-start;flex-flow:row wrap;-webkit-flex-flow:row wrap;align-items:stretch;-webkit-align-items:stretch;box-sizing:border-box;zoom:1;}
    .wfr_con>div{margin:0px;width:0px;height:100%;flex:1 1 auto;-webkit-flex:1 1 auto;}
    .wfr_left{}
    .wfr_left a{width:100%;height:100%;display:inline-block;}
    .wfr_left a img{width:100%;height:100%;}

    
    .flex_two{border:3px solid green;height:100%;display:flex;flex-flow:column wrap !important;-webkit-flex-flow:column wrap !important;justify-content:flex-start;-webkit-justify-content:flex-start;align-items:stretch;-webkit-align-items:stretch;}
    .flex_two a{width:100%;height:50%;flex:1 1 auto;}
    .flex_two a img{width:100%;height:100%;}
   </style>
     <div class='wfr_con'>
         <div class='wfr_left'>
           <a href='javascript:void(0);'><img src='http://img1.gamersky.com/image2016/05/20160526_ll_136_6/gamersky_03small_06_20165261143C4D.jpg' /></a>
         </div>
         <div class='wfr_right'>
           <div class='flex_two'>
               <a href='javascript:void(0);'><img src='http://img1.gamersky.com/image2016/05/20160526_ll_136_6/gamersky_01small_02_20165261143DDB.jpg' /></a>
               <a href='javascript:void(0);'><img src='http://img1.gamersky.com/image2016/05/20160526_ll_136_6/gamersky_02small_04_20165261143563.jpg' /></a>
           </div>
         </div>
     </div>
 </body>
</html>

重点出现这种现象的原因,我没有在最外层容器元素上设置固定的高度(使用的是:min-height,max-height),才导致出现这种现象。

我想要知道为什么设置min-height,max-height 后,子元素为什么就无法继承父元素的高度了呢??

然后就是,怎么解决这个问题,实现我想要的效果(第一张图显示的布局)??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

喜爱皱眉﹌ 2022-09-09 19:40:51

第一:少了meta标签

<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">

第二 在移动端需

img{
    max-width: 100%;
}

才能自适应屏幕
第三: flex的用法不对 传送门

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文