css总结6

本文详细讲解了如何在实际开发中运用Flexbox进行单行或多行布局,包括flex属性、align-items、align-content和flex-flow的使用。此外,还介绍了CSS Grid布局的基本概念和应用技巧。
摘要由CSDN通过智能技术生成

一,知识回顾 

1,实际开发中,我们不会用链接a,而是用链接(li+a)做法

2,导航栏

  • 让导航栏一行显示,给li加浮动,因为li是块级元素,需要一行显示
  • 导航栏可以不给宽度,将来继续添加文字
  • 因为导航栏里的文字不一样多,可以给a添加padding撑开盒子

3,行内块元素中间有默认空隙,若是超过了指定盒子,可以浮动

4,ul和li都要加浮动,ul不加会顶上去

5,若父盒子里多个子盒子的文字要居中,直接给父盒子加line-height,行高会继承

6,<ul>

                <lli><a href=" "> 内容</a></li>

     <ul>

 默认高度和父级一样宽,但是添加浮动后宽度由内容大小决定。若li浮动,a也会浮动,属于行内块元素

二,flex(给父级添加flex属性)

6,

display: flex;

flex-direction:默认主轴方向(向右)

flex-direction: column;从上到下

 

 

7, justify-content: ;设置主轴子元素排列

(属性按照主轴排列)

 8,flex-wrap: ;设置子元素是否换行

nowrap  默认值不换行

wrap: 换行

9,align-items设置侧轴子元素居中(单行)

 

  •  若想垂直居中

主轴居中,侧轴居中(若主轴是x轴,则横着居中;若主轴是y轴则竖着居中)

justify-content:center;

align-items: center;

  •  stretch是默认值,注意用的时候不用给子盒子设置高度

10,align-content: ;设置子轴在侧轴上的排列方式,并且只能适用于子项出现换行的情况(多行)

在单行下没有效果 

  • 总结:单行 找align-items,多行找align-content

 11,flex-flow复合属性,同时设置主轴和换行

flex-flow: row wrap;

三,flex(布局子项常见属性) 

12,flex属性定义子项目分配剩余空间,用flex表示占多少份

语法:

.item{

        flex: (number);

}

<style>

    p{

        display: flex;

        width: 60px;

        height: 150px;

        background-color: pink;

        margin: 100px auto;

    }

    p span {

        flex: 1;      /* 每个span都占一份,即将p平分成三份*/

    }

</style>

<body>

    <p>

        <span>1</span>

        <span>2</span>

        <span>3</span>

        <span>4</span>

    </p>

</body>

<style>

    p{

        display: flex;

        width: 60px;

        height: 150px;

        background-color: pink;

        margin: 100px auto;

    }

/*若想中间span占两份,用nth-child(第几个)*/

    p span {

        flex: 1;

    }

 p span:nth-child(2){

        flex: 2;

    }

</style>

<body>

    <p>

        <span>1</span>

        <span>2</span>

        <span>3</span>

        <span>4</span>

    </p>

</body>

 

13,align-self控制子项在侧轴上的排列方式 ,允许单个项目与其他项目不一样的对齐方式,可覆盖align-items属性

 p {

        display: flex;

        width: 80%;

        height: 150px;

        background-color: pink;

        margin: 100px auto;

    }

    p span {

        width: 150px;

        height: 100px;

        margin-right: 5px;

        background-color: #fff;

    }

    p span:nth-child(2) {

        align-self: flex-end; /*第二个盒子单独掉下来*/

    }

</style>

<body>

    <p>

        <span>1</span>

        <span>2</span>

        <span>3</span>

        <span>4</span>

    </p>

</body>

14,order属性定义项目排列顺序,数值越小,排列越靠前,默认为0.

p span:nth-child(2){

        order: -1;  /*将第二个盒子提前*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值