Day06-HTML5 CSS3

本文详细介绍了CSSFlexbox布局中的关键属性,如flex-direction控制主轴方向,flex-wrap决定换行,justify-content和align-items调整项目在主轴和副轴上的对齐方式,align-content用于多行排列的对齐,以及透明度、filter和hsla颜色函数的应用。
摘要由CSDN通过智能技术生成

一.体验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: 200px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;

            /* 项目(子元素们)会默认按照主轴排列 */
        }

        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }
    </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-direction

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 200px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
            /* flex-direction: ; */
            /* row 默认值        主轴正常排列 */
            /* row-reverse       主轴颠倒排列  */
            /* column            副轴排列  */
            /* column-reverse    副轴颠倒排列;  */
            flex-direction: row;
            flex-direction: row-reverse;
            flex-direction: column;
            flex-direction: column-reverse;
        }
        
        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }
    </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>

</body>

</html>

三.父元素属性flex-wrap

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 400px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
            /* flex-wrap: ;(换行) */
            /* nowrap(默认 不换行); | wrap(换行 第一行在上方); | wrap-reverse(换行 第一行在下方); */
            flex-wrap: nowrap;
            flex-wrap: wrap;
            flex-wrap: wrap-reverse;
        }
        
        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }
    </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 class="item">item6</div>
        <div class="item">item7</div>
        <div class="item">item8</div>
        <div class="item">item9</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
    </div>

</body>

</html>

四.父元素属性flex-flow

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 400px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
            /* flex-flow: 主轴的方向 || 换行; */
            /* flex-direction  flex-wrap  简写 */
            /* flex-flow: <flex-direction> || <flex-wrap>; */
            flex-flow: column wrap;
        }
        
        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }
    </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 class="item">item6</div>
        <div class="item">item7</div>
        <div class="item">item8</div>
        <div class="item">item9</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
    </div>

</body>

</html>

五.父元素属性justify-content

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 400px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
            /* 主轴上面的对齐方式 */
            /* justify-content: 
            flex-start(默认值)   正常主轴排列 
            flex-end            主轴末尾对齐 
            center              主轴居中对齐 
            space-between       主轴两端对齐 
            space-around        元素之间的间距一致 左右两边的间距加起来=元素之间的间距; */
            justify-content: flex-start;
            justify-content: flex-end;
            justify-content: center;
            justify-content: space-around;
            justify-content: space-between;
        }
        
        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }
    </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>

六.父元素属性aling-items

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            width: 800px;
            height: 400px;
            border: 1px solid red;
            /* 把父元素设置为 弹性盒模型 */
            display: flex;
            /* 副轴上面的对齐方式 */
            /* align-items: */
            /* flex-start | flex-end | center | baseline | stretch; */
            align-items: flex-start;
            align-items: flex-end;
            align-items: center;
            align-items: baseline;
            align-items: stretch;
        }
        
        .container .item {
            width: 100px;
            /* height: 100px; */
            border: 1px solid blue;
        }
    </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>

七.你有几种写法让元素居中

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .content {
            width: 800px;
            height: 800px;
            border: 1px solid red;
            /* position: relative; */
            /* 3.display: flex;
                 justify-content: center;
                 align-items: center; */
        }
        
        .content .box {
            width: 100px;
            height: 100px;
            background-color: skyblue;
            /* 1.margin: 350px auto; */
            /* 2.position: absolute;
                 top: 50%;
                 left: 50%;
                transform: translate(-50%,-50%); */
        }
    </style>
</head>

<body>

    <div class="content">
        <div class="box"></div>
    </div>

</body>

</html>

八.父元素属性align-content

<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;
            flex-wrap: wrap;
            /* align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。 */
            /* align-content: 
               stretch(默认)   默认排列方式
               flex-start      开始对齐
               flex-end        末尾对齐 
               center          居中对齐 
               space-between   两端对齐 
               space-around    元素之间的间隙一致*/
            align-content: stretch;
            align-content: flex-start;
            align-content: flex-end;
            align-content: center;
            align-content: space-around;
            align-content: space-between;
        }
        
        .container .item {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
        }
    </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 class="item">item6</div>
        <div class="item">item7</div>
        <div class="item">item8</div>
        <div class="item">item9</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
        <div class="item">item10</div>
    </div>

</body>

</html>

九.透明度

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 300px;
            height: 300px;
            background-color: black;
            /* 透明度 */
            /* 0-1 */
            /* opacity: 0; */
        }
    </style>
</head>

<body>

    <div class="box"></div>
    <h3>123456</h3>

    <script>

        var box = document.querySelector('.box');

        var timer = null;
        box.onmouseenter = function () {
            var num = 1;
            timer = setInterval(function () {
                num -= 0.1
                if (num <= 0) {
                    clearInterval(timer);
                } else {
                    box.style.opacity = num;
                }
            }, 50)
        }

    </script>

</body>

</html>

十.filter过滤(灰度)

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 300px;
            height: 300px;
            border: 1px solid red;
            background-image: url(https://x.dscmall.cn/storage/data/gallery_album/141/original_img/141_P_1685299852438.png);
            background-repeat: no-repeat;
            background-size: cover;
            /* 过滤 */
            /* grayscale设置灰度 */
            /* filter: grayscale(100%); */
            /* filter: blur(10px); */
        }
        
        .box2,
        .box3,
        .box4 {
            width: 600px;
            height: 600px;
            /* blur 设置模糊 */
            filter: blur(200px);
            position: absolute;
        }
        
        .box2 {
            background-color: pink;
            top: 50%;
            margin-top: -300px;
            left: 10%;
        }
        
        .box3 {
            background-color: skyblue;
            top: 40%;
            left: 50%;
            margin-left: -300px;
        }
        
        .box4 {
            background-color: purple;
            right: 10%;
            top: 50%;
            margin-top: -300px;
        }
    </style>
</head>

<body>

    <div class="box"></div>

    <div class="box2"></div>
    <div class="box3"></div>
    <div class="box4"></div>

</body>

</html>

十一.css函数(色相-饱和度-亮度)

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 200px;
            height: 200px;
            /* hsla 表示`色相-饱和度-亮度`(Hue-saturation-lightness)模式。 */
            /* hsla(颜色值0-360, 饱和度0%-100%,亮度0%-100%, 透明度0-1) */
            background-color: hsla(0, 100%, 50%, 1);
        }

        .box2 {
            /* calc() 计算 */
            /* 1920 */
            /* 1440 */
            /* 1560 */
            /* 414 */
            width: calc(100% - 100px);
            height: 300px;
            background-color: skyblue;
            margin: 0 auto;
        }
    </style>
</head>

<body>

    <div class="box"></div>
    <div class="box2"></div>

</body>

</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值