弹性盒子布局(display:flex)

Flexbox是CSS3引入的新的布局模式,用于在不同屏幕尺寸和设备下灵活排列元素。它包括flex容器和flex项目,通过flex-direction、flex-wrap、justify-content、align-items和align-content等属性实现元素的多方向排列、顺序调整、对齐方式和空间填充。此外,还介绍了项目属性如order、flex-grow、flex-shrink和align-self,以及CSS中的视窗单位vw、vh、vmin和vmax在响应式设计中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flexbox 是 flexible box 的简称(注:意思是“灵活的盒子容器”),是 CSS3 引入的新的布局模式。它决定了元素如何在页面上排列,使它们能在不同的屏幕尺寸和设备下可预测地展现出来。

它之所以被称为 Flexbox ,是因为它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间。与以前布局方式(如 table 布局和浮动元素内嵌块元素)相比,Flexbox 是一个更强大的方式:

  • 在不同方向排列元素
  • 重新排列元素的显示顺序
  • 更改元素的对齐方式
  • 动态地将元素装入容器

1.flex容器:采用flex布局的块级标签(div)

2.flex项目:采用flex布局的会计标签的子元素

3.flex容器的属性

(1) flex-direction:

  1. row(默认值):主轴为水平方向,起点在左端。
  2. row-reverse主轴为水平方向,起点在右端。
  3. column主轴为垂直方向,起点在上沿。
  4. column-reverse主轴为垂直方向,起点在下沿。
.flex-row{
        display: flex;
        flex-direction: row-reverse;
    }

 


(2) flex-wrap:

  1. nowrap(默认):不换行。
  2. wrap换行,第一行在上方。
  3. wrap-reverse换行,第一行在下方。
.flex-row{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap-reverse;
        }


(3) justify-content:

  1. flex-start(默认值):左对齐
  2. flex-end右对齐
  3. center居中
  4. space-between两端对齐,项目之间的间隔都相等。
  5. space-around每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
.flex-row{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap-reverse; 
        justify-content: space-around;
    }


(4) align-items

  1. flex-start交叉轴的起点对齐。
  2. flex-end交叉轴的终点对齐。
  3. center交叉轴的中点对齐。
  4. baseline: 项目的第一行文字的基线对齐。
  5. stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
 

(5)align-content:

定义了多根轴线的对齐方式,如果项目只有一根轴线,那么该属性将不起作用

  1. flex-start与交叉轴的起点对齐。
  2. flex-end与交叉轴的终点对齐。
  3. center与交叉轴的中点对齐。
  4. space-between与交叉轴两端对齐,轴线之间的间隔平均分布。
  5. space-around每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
  6. stretch(默认值):轴线占满整个交叉轴。 

 


4.项目属性(item)

  (1)order:项目的排列顺序,数字越小排列越靠前

(2)flex-grow:设置项目的放大比例

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

 

(3)flex-shrink:设置项目的缩小比例

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。

负值对该属性无效。

(4)align-self:

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch

.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
#d1{
        width: 300px;
        /* height: 100px; */
        background-color: blue;
        color: white;
        order: 1;
        /* flex-grow: 2; */
        flex-shrink: 2;
        align-self:center;
    }

注意:弹性布局默认不改变项目的宽度,但是它默认改变项目的高度。如果项目没有显式指定高度,就将占据容器的所有高度。 

5、CSS中的长度单位:

in:英寸        cm:厘米        mm:毫米

pt:磅(1pt = 1/72in)

px:像素点,相对长度单位,相对于计算机屏幕分辨率

em:相对长度单位,相对于当前对象内文本的字体尺寸(任意浏览器默认的相对字体高度为16em)

  12px = 0.75em        10px = 0.625em

(1)vw、vh、vmin、vmax:是视窗(Viewport)单位,是相对单位,由视窗大小决定.1个单位类似于1%
A、vw:视窗宽度的百分比(1vm = 视窗宽度的1%)
B、vh:视窗高度的百分比
C、vmin:表示vm、vh中的较小的一个值
D、vmax:表示vm、vh中的较大的一个值
(2)vw、vh和%的区别:
A、%是相对于父元素的大小而设定的比例,vw、wh是由视窗的大小来决定
B、vw、vh可以直接获取视窗的宽度或高度,%在设置时要根据body的高度的情况,往往无法正确的获取实际宽度或高度
(3)vmin、vmax的用处:
在开发移动页面时,使用vw、wh来设置字体的大小,在竖屏、横屏状态下显示的字体大小不一样
由于vmin、vmain是当前较小或较大的,用来设置字体可以保证在竖屏、横屏状态下字体大小一样

6、圣杯布局

 

/*<style>*/
    .HolyGrail {
        display: flex;
        min-height: 96vh;
        flex-direction: column;
    }

    header,footer {
       flex: 1;
       background-color: darkgray;
       text-align: center;
       line-height: 11vh;
    }
    .HolyGrail-body {
        display: flex;
        flex: 1;
    }
    .HolyGrail-content {
        flex: 1;
        background-color:bisque;
        text-align: center;
        line-height: 75vh;
    }
    .HolyGrail-nav, .HolyGrail-ads {
        /* 两个边栏的宽度设为12em */
        flex: 0 0 12em;
        height: 75vh;
    }
    .HolyGrail-nav {
        /* 导航放到最左边 */
        order: -1;
        background-color: cornflowerblue;
        text-align: center;
        line-height: 75vh;
    }
    .HolyGrail-ads{
        background-color: brown;
        text-align: center;
        line-height: 75vh;
    }
/*</style>8?
<body class="HolyGrail">
  <header>#header</header>
  <div class="HolyGrail-body">
    <main class="HolyGrail-content">#center</main>
    <nav class="HolyGrail-nav">#side</nav>
    <aside class="HolyGrail-ads">#right</aside>
  </div>
  <footer>#footer</footer>
</body>
Windows 11 Pro 是Microsoft Windows操作系统的专业版本之一,它针对企业和高级用户设计,提供了更多的管理选项和功能。以下是安装Windows 11 Pro的一般步骤: 1. **检查系统要求**:确保你的电脑满足Windows 11的专业版硬件需求,如64位处理器、足够的RAM(建议8GB以上),以及至少1TB的硬盘空间(SSD更佳)。 2. **获取安装媒体**:你可以从Microsoft Store购买并下载Windows 11 Pro ISO镜像文件,或者从官方授权渠道获取安装密钥和ISO。 3. **创建安装媒介**:可以使用Media Creation Tool工具制作USB启动盘或者DVD光盘。 4. **重启电脑**:将安装媒介插入电脑并重启,进入BIOS设置更改启动顺序以便从安装媒介引导。 5. **开始安装**:当电脑启动后,选择语言和键盘布局,然后按照屏幕提示进行下一步操作,包括许可条款接受、自定义安装等。 6. **输入产品密钥**:如果你有许可证密钥,此时需要输入,如果没有则可以选择“在线购买”或“试用30天”。 7. **分区和格式化磁盘**:选择是否保留现有数据,然后分配新硬盘的空间给Windows 11。 8. **安装过程**:等待安装程序完成,这可能需要一段时间,期间可能会有一些设置让你调整,比如激活选项和更新设置。 9. **首次登录**:安装完成后,创建新的管理员账户并设置密码,然后就可以开始使用Windows 11 Pro了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陛下,再来一杯娃哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值