Day07-HTML5 CSS3

一.子元素排序属性order

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 600px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
        }

        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }

        /* order规定子元素 (项目)的排列顺序 */
        /* order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。 */
        .container .item:nth-child(3) {
            order: 1;
        }

        .container .item:nth-child(1) {
            order: 0;
        }

        .container .item:nth-child(2) {
            order: 3;
        }
    </style>
</head>

<body>

    <div class="container">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
    </div>

</body>

</html>

二.子元素平均分配和放大属性flex-grow

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 600px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
        }

        .container .item {
            /* width: 100px; */
            height: 100px;
            border: 1px solid blue;
            /* 如果每一个项目没有宽度  那么 flex-grow: 1; 就代表平均分配宽度*/
            flex-grow: 1;
        }

        /* flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。 */

        .container .item:nth-child(3) {
            flex-grow: 2;
        }

        .container .item:nth-child(4) {
            flex-grow: 3;
        }
    </style>
</head>

<body>

    <div class="container">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
    </div>

</body>

</html>

三.子元素缩小属性flex-shrink

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 600px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
        }

        .container .item {
            width: 200px;
            height: 100px;
            border: 1px solid blue;
            flex-grow: 1;
        }

        /* flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。值越大,越缩小 */
        .container .item:nth-child(2){
            flex-shrink: 2;
        }
        .container .item:nth-child(3){
            flex-shrink: 5;
        }
    </style>
</head>

<body>

    <div class="container">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
    </div>

</body>

</html>

四.子元素属性flex-basis

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 600px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
        }

        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
            flex-basis: auto;
            flex-grow: 1;
        }

        /* flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间 */
        /* flex-basis 跟width一样 */
        .container .item:nth-child(3) {
            flex-basis: 200px;
        }
    </style>
</head>

<body>

    <div class="container">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
    </div>

</body>

</html>

五.子元素属性flex

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 600px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
        }

        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
            /* flex: 1 1 auto*/
            flex: auto;
             /* flex: 0 1 auto*/
            flex: none;
            /* flex:0 1 0% */
            flex: 0;
            /* flex:1 1 0% */
            flex: 1;
        }
        /* flex: 0 1 auto | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] */
    </style>
</head>

<body>

    <div class="container">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
    </div>

</body>

</html>

六.不一样的对齐方式align-self

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 600px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;

            justify-content: center;
            align-items: center;
        }

        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }

        /* align-self: auto | flex-start | flex-end | center | baseline | stretch; */
        /* align-self属性允许单个项目有与其他项目不一样的对齐方式 */
        .container .item:nth-child(1) {
            align-self: flex-start;
            height: 200px;
        }

        .container .item:nth-child(2) {
            align-self: flex-end;
            height: 200px;
        }

        .container .item:nth-child(3) {
            height: 300px;
            align-self: flex-start;
            /* align-self: flex-end;
            align-self: center;
            align-self: baseline;
            align-self: stretch; */
        }

        .container .item:nth-child(4) {
            align-self: flex-end;
            height: 200px;
        }

        .container .item:nth-child(5) {
            align-self: flex-start;
            height: 300px;
        }

        .move {
            font-size: 40px;
            position: absolute;
        }
    </style>
</head>

<body>

    <div class="container">
        <div class="item">item1</div>
        <div class="item">item2</div>
        <div class="item">item3</div>
        <div class="item">item4</div>
        <div class="item">item5</div>
    </div>
    <span class="move"> 🐇 🐅 🐀 🐂 🐎 🐉 🐍 🐏 🐒 🐥 🐕 🐖</span>

    <script>

        var _move = document.querySelector(".move");
        // document.onmousemove = function (e) {
        //     var _left = e.clientX - _move.offsetWidth / 2;
        //     var _top = e.clientY - _move.offsetHeight / 2;

        //     _move.style.left = _left + "px";
        //     _move.style.top = _top + "px";
        // }

    </script>

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值