Bootstrap4 Flex(弹性)布局
Bootstrap4 通过 flex 类�控制页�的布局。
弹性盒å�(flexbox)
Bootstrap 3 与 Bootstrap 4 最大的区别就是 Bootstrap 4 使用弹性盒å�æ�¥å¸ƒå±€ï¼Œè€Œä¸�是使用浮动æ�¥å¸ƒå±€ã€‚
弹性盒å�是 CSS3 的一ç§�新的布局模å¼�,更适å�ˆå“�应å¼�çš„è®¾è®¡ï¼Œå¦‚æžœä½ è¿˜ä¸�了解 flex,å�¯ä»¥é˜…读我们的 CSS3 弹性盒å�(Flex Box) 教程
注æ„�:IE9 å�Šå…¶ä»¥ä¸‹ç‰ˆæœ¬ä¸�支æŒ�弹性盒å�ï¼Œæ‰€ä»¥å¦‚æžœä½ éœ€è¦�兼容 IE8-9,请使用 Bootstrap 3。
以下实例使用 d-flex 类创建一个弹性盒å�容器,并设置三个弹性å�å…ƒç´ ï¼š
实例
�试一下 »
创建显示在å�Œä¸€è¡Œä¸Šçš„弹性盒å�容器å�¯ä»¥ä½¿ç”¨ d-inline-flex ç±»:
实例
�试一下 »
水平方�
.flex-row å�¯ä»¥è®¾ç½®å¼¹æ€§å�å…ƒç´ æ°´å¹³æ˜¾ç¤ºï¼Œè¿™æ˜¯é»˜è®¤çš„ã€‚
使用 .flex-row-reverse 类用于设置�对�显示,�与 .flex-row 方�相�。
实例
�试一下 »
垂直方�
.flex-column 类用于设置弹性å�å…ƒç´ åž‚ç›´æ–¹å�‘显示, .flex-column-reverse 用于翻转å�å…ƒç´ ï¼š
实例
�试一下 »
内容排列
.justify-content-* 类用于修改弹性å�å…ƒç´ çš„æŽ’åˆ—æ–¹å¼�,* å�·å…�许的值有:start (默认), end, center, between 或 around:
实例
�试一下 »
ç‰å®½
.flex-fill 类强制设置å�„个弹性å�å…ƒç´ çš„å®½åº¦æ˜¯ä¸€æ ·çš„:
实例
�试一下 »
扩展
.flex-grow-1 用于设置å�å…ƒç´ ä½¿ç”¨å‰©ä¸‹çš„ç©ºé—´ã€‚ä»¥ä¸‹å®žä¾‹ä¸å‰�é�¢ä¸¤ä¸ªå�å…ƒç´ å�ªè®¾ç½®äº†å®ƒä»¬æ‰€éœ€è¦�的空间,最å�Žä¸€ä¸ªèŽ·å�–剩余空间。 :
实例
�试一下 »
æ��示: 使用 .flex-shrink-1 用于设置å�å…ƒç´ çš„æ”¶ç¼©è§„åˆ™ã€‚
排�
.order ç±»å�¯ä»¥è®¾ç½®å¼¹æ€§å�å…ƒç´ çš„æŽ’åº�,从 .order-1 到 .order-12,数å—越低æ�ƒé‡�越高( .order-1 排在 .order-2 之å‰�) :
实例
�试一下 »
外边�
.mr-auto ç±»å�¯ä»¥è®¾ç½®å�å…ƒç´ å�³å¤–è¾¹è·�为 auto,å�³ margin-right: auto!important;,.ml-auto ç±»å�¯ä»¥è®¾ç½®å�å…ƒç´ å·¦å¤–è¾¹è·�为 auto,å�³ margin-left: auto!important;:
实例
�试一下 »
包裹
弹性容器ä¸åŒ…裹å�å…ƒç´ å�¯ä»¥ä½¿ç”¨ä»¥ä¸‹ä¸‰ä¸ªç±»ï¼š .flex-nowrap (默认), .flex-wrap 或 .flex-wrap-reverse。设置 flex 容器是å�•行或者多行。
实例
�试一下 »
内容对�
我们å�¯ä»¥ä½¿ç”¨ .align-content-* æ�¥æŽ§åˆ¶åœ¨åž‚ç›´æ–¹å�‘ä¸Šå¦‚ä½•åŽ»å †å� å�å…ƒç´ ï¼ŒåŒ…å�«çš„值有:.align-content-start (默认), .align-content-end, .align-content-center, .align-content-between, .align-content-around å’Œ .align-content-stretch。
这些类在å�ªæœ‰ä¸€è¡Œçš„弹性å�å…ƒç´ ä¸æ˜¯æ— 效的。
实例
�试一下 »
å�å…ƒç´ å¯¹é½�
如果è¦�设置å�•行的å�å…ƒç´ å¯¹é½�å�¯ä»¥ä½¿ç”¨ .align-items-* ç±»æ�¥æŽ§åˆ¶ï¼ŒåŒ…å�«çš„值有:.align-items-start, .align-items-end, .align-items-center, .align-items-baseline, å’Œ .align-items-stretch (默认)。
实例
�试一下 »
指定å�å…ƒç´ å¯¹é½�
如果è¦�设置指定å�å…ƒç´ å¯¹é½�对é½�å�¯ä»¥ä½¿ç”¨ .align-self-* ç±»æ�¥æŽ§åˆ¶ï¼ŒåŒ…å�«çš„值有:.align-self-start, .align-self-end, .align-self-center, .align-self-baseline, å’Œ .align-self-stretch (默认)。
实例
�试一下 »
�应� flex 类
我们å�¯ä»¥æ ¹æ�®ä¸�å�Œçš„设备,设置 flex 类,从而实现页é�¢å“�应å¼�å¸ƒå±€ï¼Œä»¥ä¸‹è¡¨æ ¼ä¸çš„ * å�·å�¯ä»¥çš„值有:sm, md, lg 或 xl, 对应的是å°�型设备ã€�ä¸åž‹è®¾å¤‡ï¼Œå¤§åž‹è®¾å¤‡ï¼Œè¶…大型设备。| ç±» | 实例 | 实现 |
|---|---|---|
| 弹性容器 | ||
.d-*-flex |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备创建弹性盒å�容器 | å°�试一下 |
.d-*-inline-flex |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备创建行内弹性盒å�容器 | å°�试一下 |
| 方� | ||
.flex-*-row |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备在水平方å�‘显示弹性å�å…ƒç´ | å°�试一下 |
.flex-*-row-reverse |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备在水平方å�‘显示弹性å�å…ƒç´ ï¼Œä¸”å�³å¯¹é½� | å°�试一下 |
.flex-*-column |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备在垂直方å�‘显示弹性å�å…ƒç´ | å°�试一下 |
.flex-*-column-reverse |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备在垂直方å�‘显示弹性å�å…ƒç´ ï¼Œä¸”æ–¹å�‘相å�� | å°�试一下 |
| 排� | ||
.order-*-0-12 |
在��幕尺寸上修改排� | �试一下 |
| 内容对� | ||
.justify-content-*-start |
æ ¹æ�®ä¸�å�Œå±�幕设备在开始ä½�置显示弹性å�å…ƒç´ (左对é½�) | å°�试一下 |
.justify-content-*-end |
æ ¹æ�®ä¸�å�Œå±�幕设备在尾部显示弹性å�å…ƒç´ (å�³å¯¹é½�) | å°�试一下 |
.justify-content-*-center |
æ ¹æ�®ä¸�å�Œå±�幕设备在 flex 容器ä¸å±…䏿˜¾ç¤ºå�å…ƒç´ | å°�试一下 |
.justify-content-*-between |
æ ¹æ�®ä¸�å�Œå±�幕设备使用 "between" 显示弹性å�å…ƒç´ | å°�试一下 |
.justify-content-*-around |
æ ¹æ�®ä¸�å�Œå±�幕设备使用 "around" 显示弹性å�å…ƒç´ | å°�试一下 |
| ç‰å®½ | ||
.flex-*-fill |
æ ¹æ�®ä¸�å�Œçš„å±�幕设备强制ç‰å®½ | å°�试一下 |
| 扩展 | ||
.flex-*-grow-0 |
��的�幕设备�设置扩展 | |
.flex-*-grow-1 |
��的�幕设备设置扩展 | |
| 收缩 | ||
.flex-*-shrink-0 |
��的�幕设备�设置收缩 | |
.flex-*-shrink-1 |
��的�幕设备设置收缩 | |
| 包裹 | ||
.flex-*-nowrap |
ä¸�å�Œçš„å±�幕设备ä¸�è®¾ç½®åŒ…è£¹å…ƒç´ | å°�试一下 |
.flex-*-wrap |
ä¸�å�Œçš„å±�å¹•è®¾å¤‡è®¾ç½®åŒ…è£¹å…ƒç´ | å°�试一下 |
.flex-*-wrap-reverse |
ä¸�å�Œçš„å±�幕设备å��è½¬åŒ…è£¹å…ƒç´ | å°�试一下 |
| 内容排列 | ||
.align-content-*-start |
æ ¹æ�®ä¸�å�Œå±�幕设备在起始ä½�ç½®å †å� å…ƒç´ | å°�试一下 |
.align-content-*-end |
æ ¹æ�®ä¸�å�Œå±�幕设备在结æ�Ÿä½�ç½®å †å� å…ƒç´ | å°�试一下 |
.align-content-*-center |
æ ¹æ�®ä¸�å�Œå±�幕设备在ä¸é—´ä½�ç½®å †å� å…ƒç´ | å°�试一下 |
.align-content-*-around |
æ ¹æ�®ä¸�å�Œå±�幕设备,使用 "around" å †å� å…ƒç´ | å°�试一下 |
.align-content-*-stretch |
æ ¹æ�®ä¸�å�Œå±�å¹•è®¾å¤‡ï¼Œé€šè¿‡ä¼¸å±•å…ƒç´ æ�¥å †å� | å°�试一下 |
| å…ƒç´ å¯¹é½� | ||
.align-items-*-start |
æ ¹æ�®ä¸�å�Œå±�å¹•è®¾å¤‡ï¼Œè®©å…ƒç´ åœ¨å¤´éƒ¨æ˜¾ç¤ºåœ¨å�Œä¸€è¡Œã€‚ | å°�试一下 |
.align-items-*-end |
æ ¹æ�®ä¸�å�Œå±�å¹•è®¾å¤‡ï¼Œè®©å…ƒç´ åœ¨å°¾éƒ¨æ˜¾ç¤ºåœ¨å�Œä¸€è¡Œã€‚ | å°�试一下 |
.align-items-*-center |
æ ¹æ�®ä¸�å�Œå±�å¹•è®¾å¤‡ï¼Œè®©å…ƒç´ åœ¨ä¸é—´ä½�置显示在å�Œä¸€è¡Œã€‚ | å°�试一下 |
.align-items-*-baseline |
æ ¹æ�®ä¸�å�Œå±�å¹•è®¾å¤‡ï¼Œè®©å…ƒç´ åœ¨åŸºçº¿ä¸Šæ˜¾ç¤ºåœ¨å�Œä¸€è¡Œã€‚ | å°�试一下 |
.align-items-*-stretch |
æ ¹æ�®ä¸�å�Œå±�å¹•è®¾å¤‡ï¼Œè®©å…ƒç´ å»¶å±•é«˜åº¦å¹¶æ˜¾ç¤ºåœ¨å�Œä¸€è¡Œã€‚ | å°�试一下 |
| å�•独一个å�å…ƒç´ çš„å¯¹é½�æ–¹å¼� | ||
.align-self-*-start |
æ�®ä¸�å�Œå±�幕设备,让å�•独一个å�å…ƒç´ æ˜¾ç¤ºåœ¨å¤´éƒ¨ã€‚ | å°�试一下 |
.align-self-*-end |
æ�®ä¸�å�Œå±�幕设备,让å�•独一个å�å…ƒç´ æ˜¾ç¤ºåœ¨å°¾éƒ¨ | å°�试一下 |
.align-self-*-center |
æ�®ä¸�å�Œå±�幕设备,让å�•独一个å�å…ƒç´ æ˜¾ç¤ºåœ¨å±…ä¸ä½�ç½® | å°�试一下 |
.align-self-*-baseline |
æ�®ä¸�å�Œå±�幕设备,让å�•独一个å�å…ƒç´ æ˜¾ç¤ºåœ¨åŸºçº¿ä½�ç½® | å°�试一下 |
.align-self-*-stretch |
æ�®ä¸�å�Œå±�幕设备,延展一个å�•独å�å…ƒç´ | å°�试一下 |
点我分享笔记