flex.css

/* 定义元素是flex*/
.flex {
    display: box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

/* 主轴方向从左到右 */

.flex-zLeftRight {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
}

/* 主轴方向从右到左 */

.flex-zRightLeft {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: end
}

/* 主轴方向从上到下 */

.flex-zTopBottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

/* 主轴方向从下到上 */

.flex-zBottomTop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-pack: end;
}

/* 主轴start对齐 */

.flex-zStart {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

/* 主轴end对齐 */

.flex-zEnd {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

/* 主轴两端对齐 */

.flex-zJustify {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

/* 主轴居中对齐 */

.flex-zCenter {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

/* 侧轴start对齐 */

.flex-cStart{
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

/* 侧轴end对齐 */

.flex-cEnd {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end
}

/* 侧轴居中对齐 */

.flex-cCenter {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

/* 侧轴文本基线对齐 */

.flex-cBaseline {
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline
}

/* 侧轴上下对齐并铺满 */

.flex-cStretch {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

/* 换行 */
.flex-wrap{
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap:wrap;
}
/* 不换行 */
.flex-nowrap{
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    -o-flex-wrap: nowrap;
    flex-wrap:nowrap;
}

/* [flex~="box:mean"]>*,
[flex~="box:first"]>*,
[flex~="box:last"]>*,
[flex~="box:justify"]>* {
    width: 0;
    height: auto;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1
}

[flex~="box:first"]>:first-child,
[flex~="box:last"]>:last-child,
[flex~="box:justify"]>:first-child,
[flex~="box:justify"]>:last-child {
    width: auto;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

[flex~="dir:top"][flex~="box:mean"]>*,
[flex~="dir:top"][flex~="box:first"]>*,
[flex~="dir:top"][flex~="box:last"]>*,
[flex~="dir:top"][flex~="box:justify"]>*,
[flex~="dir:bottom"][flex~="box:mean"]>*,
[flex~="dir:bottom"][flex~="box:first"]>*,
[flex~="dir:bottom"][flex~="box:last"]>*,
[flex~="dir:bottom"][flex~="box:justify"]>* {
    width: auto;
    height: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1
}

[flex~="dir:top"][flex~="box:first"]>:first-child,
[flex~="dir:top"][flex~="box:last"]>:last-child,
[flex~="dir:top"][flex~="box:justify"]>:first-child,
[flex~="dir:top"][flex~="box:justify"]>:last-child,
[flex~="dir:bottom"][flex~="box:first"]>:first-child,
[flex~="dir:bottom"][flex~="box:last"]>:last-child,
[flex~="dir:bottom"][flex~="box:justify"]>:first-child [flex~="dir:bottom"][flex~="box:justify"]>:last-child {
    height: auto;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

[flex-box="0"] {
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

[flex-box="1"] {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1
}

[flex-box="2"] {
    -webkit-box-flex: 2;
    -webkit-flex-grow: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
    -webkit-flex-shrink: 2;
    -ms-flex-negative: 2;
    flex-shrink: 2
}

[flex-box="3"] {
    -webkit-box-flex: 3;
    -webkit-flex-grow: 3;
    -ms-flex-positive: 3;
    flex-grow: 3;
    -webkit-flex-shrink: 3;
    -ms-flex-negative: 3;
    flex-shrink: 3
}

[flex-box="4"] {
    -webkit-box-flex: 4;
    -webkit-flex-grow: 4;
    -ms-flex-positive: 4;
    flex-grow: 4;
    -webkit-flex-shrink: 4;
    -ms-flex-negative: 4;
    flex-shrink: 4
}

[flex-box="5"] {
    -webkit-box-flex: 5;
    -webkit-flex-grow: 5;
    -ms-flex-positive: 5;
    flex-grow: 5;
    -webkit-flex-shrink: 5;
    -ms-flex-negative: 5;
    flex-shrink: 5
}

[flex-box="6"] {
    -webkit-box-flex: 6;
    -webkit-flex-grow: 6;
    -ms-flex-positive: 6;
    flex-grow: 6;
    -webkit-flex-shrink: 6;
    -ms-flex-negative: 6;
    flex-shrink: 6
}

[flex-box="7"] {
    -webkit-box-flex: 7;
    -webkit-flex-grow: 7;
    -ms-flex-positive: 7;
    flex-grow: 7;
    -webkit-flex-shrink: 7;
    -ms-flex-negative: 7;
    flex-shrink: 7
}

[flex-box="8"] {
    -webkit-box-flex: 8;
    -webkit-flex-grow: 8;
    -ms-flex-positive: 8;
    flex-grow: 8;
    -webkit-flex-shrink: 8;
    -ms-flex-negative: 8;
    flex-shrink: 8
}

[flex-box="9"] {
    -webkit-box-flex: 9;
    -webkit-flex-grow: 9;
    -ms-flex-positive: 9;
    flex-grow: 9;
    -webkit-flex-shrink: 9;
    -ms-flex-negative: 9;
    flex-shrink: 9
}

[flex-box="10"] {
    -webkit-box-flex: 10;
    -webkit-flex-grow: 10;
    -ms-flex-positive: 10;
    flex-grow: 10;
    -webkit-flex-shrink: 10;
    -ms-flex-negative: 10;
    flex-shrink: 10
} */



 

### 关于 Flex.css 的公共样式及其使用方法 Flex.css 是一种基于 CSS Flexbox 布局模型的工具库,它提供了许多预定义的类名来简化布局开发过程。以下是有关其公共样式、使用方法以及示例代码的内容。 #### 什么是 Flex.cssFlex.css 提供了一组标准化的类名集合,用于快速构建响应式和灵活的布局。它的核心理念是利用 CSS 中的 `display: flex` 属性,并通过一系列实用的类名控制容器和子项的行为[^3]。 --- #### Flex.css 的基本语法 在 HTML 结构中,可以通过添加特定的类名到父级元素(容器)和子级元素上,从而实现不同的布局效果。以下是一些常用的类名: | 类型 | 描述 | |--------------|----------------------------------------------------------------------------------------| | 容器方向 | `.flex-row`, `.flex-column` | | 对齐方式 | `.justify-center`, `.justify-between`, `.align-center`, `.align-stretch` | | 缠绕行为 | `.flex-wrap`, `.no-flex-wrap` | | 子项排列 | `.order-first`, `.self-start`, `.self-end` | 这些类名可以直接应用于 HTML 元素,而无需额外编写自定义样式。 --- #### 示例代码展示 ##### 示例 1:水平居中的简单布局 ```html <div class="flex-container justify-center align-center"> <div>我是中心内容</div> </div> <style> .flex-container { display: flex; } .justify-center { justify-content: center; } .align-center { align-items: center; } </style> ``` 此代码片段展示了如何使用 Flex.css 实现一个简单的水平垂直居中布局。 --- ##### 示例 2:多列布局并设置间距 ```html <div class="flex-container flex-row space-around"> <div class="item">项目一</div> <div class="item">项目二</div> <div class="item">项目三</div> </div> <style> .flex-container { display: flex; } .space-around { justify-content: space-around; } .item { padding: 10px; background-color: lightblue; border-radius: 5px; } </style> ``` 在此例子中,`.space-around` 类实现了均匀分布多个项目的功能。 --- ##### 示例 3:结合 Vue.js 动态修改样式 如果需要动态调整样式,可以配合框架如 Vue.js 来完成操作。例如,在 uni-app 中集成 animation.cssFlex.css 可以这样写: ```vue <template> <view class="flex-container flex-column"> <view ref="tips" class="text-teal animate__animated w-120rpx">点击触发动画</view> </view> </template> <script> export default { methods: { triggerAnimation() { const tipsRef = this.$refs.tips; if (tipsRef) { tipsRef.classList.add('animate__fadeIn'); } }, }, }; </script> <style> .flex-container { display: flex; flex-direction: column; align-items: center; justify-content: center; } .w-120rpx { width: 120rpx; } .text-teal { color: teal; } </style> ``` 以上代码演示了如何将 Flex.css 集成至 Vue 或 uni-app 并动态触发动画的效果[^1]。 --- ### 总结 Flex.css 的主要优势在于其简洁性和易用性,开发者只需引入对应的 CSS 文件即可立即使用其中的功能。无论是静态页面还是动态交互场景下,都可以高效地满足各种复杂布局需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值