flexbox(伸缩布局盒) 是 css3 中一个新的布局模式,为了现代网络中更为复杂的网页需求而设计。
Flexbox 由 伸缩容器 和 伸缩项目 组成。通过设置元素的 display 属性为 flex 或 inline-flex 可以得到一个伸缩容器
设置为flex的容器被渲染为一个块级元素,而设置为inline-flex的容器则渲染为一个行内元素。
例如:此处将 类名为 flex-container 的元素设置为伸缩容器
伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。
简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局。
Flex Lines 伸缩行
伸缩项目沿着伸缩容器内的一个 伸缩行 定位。通常每个伸缩容器只有一个伸缩行。 默认伸缩行从左往右
例子:


<span style="color: #008080;"> 1</span> <span style="color: #800000;"><div class="flex-container">
</span><span style="color: #008080;"> 2</span> <span style="color: #800000;"><div class="flex-item">flex item 1</div>
</span><span style="color: #008080;"> 3</span> <span style="color: #800000;"><div class="flex-item">flex item 2</div>
</span><span style="color: #008080;"> 4</span> <span style="color: #800000;"></div>
</span><span style="color: #008080;"> 5</span>
<span style="color: #008080;"> 6</span> <span style="color: #800000;">样式:
</span><span style="color: #008080;"> 7</span>
<span style="color: #008080;"> 8</span> <span style="color: #800000;">.flex-container </span>{
<span style="color: #008080;"> 9</span> <span style="color: #ff0000;">display</span>:<span style="color: #0000ff;"> -webkit-flex</span>;
<span style="color: #008080;">10</span> <span style="color: #ff0000;">display</span>:<span style="color: #0000ff;"> flex</span>;
<span style="color: #008080;">11</span> <span style="color: #ff0000;">width</span>:<span style="color: #0000ff;"> 300px</span>;
<span style="color: #008080;">12</span> <span style="color: #ff0000;">height</span>:<span style="color: #0000ff;"> 240px</span>;
<span style="color: #008080;">13</span> <span style="color: #ff0000;">background-color</span>:<span style="color: #0000ff;"> Silver</span>;
<span style="color: #008080;">14</span> }
<span style="color: #008080;">15</span>
<span style="color: #008080;">16</span> <span style="color: #800000;">.flex-item </span>{
<span style="color: #008080;">17</span> <span style="color: #ff0000;">background-color</span>:<span style="color: #0000ff;"> DeepSkyBlue</span>;
<span style="color: #008080;">18</span> <span style="color: #ff0000;">width</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">19</span> <span style="color: #ff0000;">height</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">20</span> <span style="color: #ff0000;">margin</span>:<span style="color: #0000ff;"> 5px</span>;
<span style="color: #008080;">21</span> }
效果图:

再加
<div class="flex-item">flex item 3</div>
<div class="flex-item">flex item 4</div><br /><br />伸缩项目的宽度超过了 伸缩容器的宽度,伸缩容器的宽度不会改变,伸缩项目的宽度减小<br /><br /><br /><br />


<span style="color: #008080;"> 1</span> <span style="color: #800000;"><div class="flex-container">
</span><span style="color: #008080;"> 2</span> <span style="color: #800000;"><div class="flex-item">flex item 1</div>
</span><span style="color: #008080;"> 3</span> <span style="color: #800000;"><div class="flex-item">flex item 2</div>
</span><span style="color: #008080;"> 4</span> <span style="color: #800000;"></div>
</span><span style="color: #008080;"> 5</span>
<span style="color: #008080;"> 6</span>
<span style="color: #008080;"> 7</span> <span style="color: #800000;">CSS样式
</span><span style="color: #008080;"> 8</span> <span style="color: #800000;">.flex-container </span>{
<span style="color: #008080;"> 9</span> <span style="color: #ff0000;"> direction</span>:<span style="color: #0000ff;"> rtl</span>;
<span style="color: #008080;">10</span> <span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> -webkit-flex</span>;
<span style="color: #008080;">11</span> <span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> flex</span>;
<span style="color: #008080;">12</span> <span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 300px</span>;
<span style="color: #008080;">13</span> <span style="color: #ff0000;"> height</span>:<span style="color: #0000ff;"> 240px</span>;
<span style="color: #008080;">14</span> <span style="color: #ff0000;"> background-color</span>:<span style="color: #0000ff;"> Silver</span>;
<span style="color: #008080;">15</span>
<span style="color: #008080;">16</span> }
<span style="color: #008080;">17</span>
<span style="color: #008080;">18</span> <span style="color: #800000;">.flex-item </span>{
<span style="color: #008080;">19</span> <span style="color: #ff0000;"> background-color</span>:<span style="color: #0000ff;"> DeepSkyBlue</span>;
<span style="color: #008080;">20</span> <span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">21</span> <span style="color: #ff0000;"> height</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">22</span> <span style="color: #ff0000;"> margin</span>:<span style="color: #0000ff;"> 5px</span>;
<span style="color: #008080;">23</span> }效果:
伸缩行从右往左,文字也从右往左
为了描述抽象的书写模式,Flexbox 使用 主轴 和 侧轴的概念。伸缩行跟随主轴。侧轴则垂直于主轴。
默认值 row
再次提醒,默认是从左至右,从上到下。其他的值如下:
用于调整主轴上伸缩项目的位置。可能的值为:
调整伸缩项目在侧轴上的定位方式。可能的值有:
为伸缩容器创建多个伸缩行。这个属性接受以下值:
它对齐的是伸缩行,它接受的值:
flex-direction和flex-wrap的缩写。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号