PC端flex+media媒体查询自适应布局案例

 

<!DOCTYPE html>
<html>
<head>
    <title>flex</title>
    <meta name="format-detection" content="telephone=no" />
    <meta charset="UTF-8">
    <!--<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />-->
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <!--[if lte IE 8]><script>alert("您正在使用的浏览器版本过低,为了您的最佳体验,请先升级浏览器。");window.location.href="http://support.dmeng.net/upgrade-your-browser.html?referrer="+encodeURIComponent(window.location.href);</script><![endif]-->
    <!--[if lte IE 9]><script>alert("您正在使用的浏览器版本过低,为了您的最佳体验,请先升级浏览器。");window.location.href="http://support.dmeng.net/upgrade-your-browser.html?referrer="+encodeURIComponent(window.location.href);</script><![endif]-->
    <!--[if lte IE 10]><script>alert("您正在使用的浏览器版本过低,为了您的最佳体验,请先升级浏览器。");window.location.href="http://support.dmeng.net/upgrade-your-browser.html?referrer="+encodeURIComponent(window.location.href);</script><![endif]-->
    <!-- <link rel="stylesheet" type="text/css" media="screen and (max-width: 480px)  href=" link.css" /> -->
    <style>
       *{margin: 0;padding: 0;box-sizing: border-box;}
        @media (max-width: 1439px) {
            .w-conteiner{
                width: 1188px;
                margin: 0 auto;
            }
            .w-conteiner ul li:nth-child(4n){
                margin-right: 0;
            }
        }
        @media (min-width: 1440px) and (max-width: 1679px){
            .w-conteiner{
                width: 1188px;
                margin: 0 auto;
            }
            .w-conteiner ul li:nth-child(4n){
                margin-right: 0;
            }
        }
        @media (min-width: 1680px) and (max-width: 1919px){
            .w-conteiner{
                width: 1490px;
                margin: 0 auto;
            }

             .w-conteiner ul li:nth-child(5n){
                margin-right: 0;
            }
        }
        @media (min-width: 1920px){
            .w-conteiner{
                width: 1792px;
                /* max-width: 1920px; */
                margin: 0 auto;
            }

            .w-conteiner ul li:nth-child(6n){
                margin-right: 0;
            }
        }
        #app{
            width: 100%;
        }
        .w-conteiner ul{
            display: flex;
        }
        .w-conteiner ul li{
            list-style: none;
            width: 282px;
            height: 262px;
            border: 1px solid #ddd;
            background: #f7f7f7;
            margin-top: 20px;
            margin-right: 20px;
        }
        .flex-set{
             /* 决定主轴的方向 */
            flex-direction: row;
             /* 
             *定义换行
             *nowrap(默认):不换行;
             *wrap:换行,第一行在上方;
             *wrap-reverse:换行,第一行在下方。
            */
            flex-wrap: warp;

            /* 
             *flex-direction和flex-wrap的简写,默认row nowrap
            */
            flex-flow: row wrap;

            /* 
            *定义项目在主轴上的对齐方式。
            *flex-start(默认值):左对齐;
            *flex-end:右对齐;
            *center:居中;
            *space-between:两端对齐,项目之间间隔相等;
            *space-around:每个项目两侧的间隔相等,即项目之间的间隔比项目与边框的间隔大一倍。
             */
            justify-content: flex-start;

            /* 
            *定义在交叉轴上的对齐方式
            *flex-start:起点对齐;
            *flex-end:终点对齐;
            *center:居中;
            *baseline:项目的第一行文字的基线对齐;
            *stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
             */
            align-items: flex-start;

            /* 
            *定义多根轴线的对齐方式
            *flex-start:与交叉轴的起点对齐;
            *flex-end:与交叉轴的终点对齐;
            *center:与交叉轴的中点对齐;
            *space-between:与交叉轴的两端对齐,轴线之间的间隔平均分布;
            *space-around:每根轴线两侧的间隔相等,即轴线之间的间隔比轴线与边框的间隔大一倍;
             */
            align-content: center;
        }

        .flex-set-item{
            /* 数值越小,排列越靠前,默认为0,可以是负值。 */
            order:1;

            /* 定义项目的放大比例
             *默认值为0,即如果空间有剩余,也不放大。
             *可以是小数,按比例占据剩余空间。
             *若所有项目的flex-grow的数值都相同,则等分剩余空间
             */
            /* flex-grow:1; */

            /* 
            *flex-shrink属性:定义项目的缩小比例
            *默认值都为1,即如果空间不足将等比例缩小。
            *如果有一个项目的值为0,其他项目为1,当空间不足时,该项目不缩小。
            *负值对该属性无效,容器不应该设置flex-wrap。
             */
            /* flex-shrink:0; */

            /* 
            *flex-basis属性:定义在分配多余空间之前,项目占据的主轴空间。
            *默认值为auto,浏览器根据此属性检查主轴是否有多余空间。
            *
             */
           /* flex-basis:1; */

            /* flex:1; */
            
            /* align-self:auto; */
        }

    </style>
</head>
<body>
    <div id="app">
            <div class="w-conteiner">
                <ul class="flex-set">
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                    <li class="flex-set-item"></li>
                  
                
                </ul>
            </div>
    </div>
</body>
</html>


       

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值