CSS flex

/*parent*/
.v-f{
    display:-webkit-box;/* android 2.1-3.0, ios 3.2-4.3 */
    display:-webkit-flex;/* Chrome 21+ */
    display:-ms-flexbox;/* WP IE 10 */
    display:flex;/* android 4.4 */
}
/*level*/
.v-fc{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;/* android 2.1-3.0, ios 3.2-4.3 */
    -webkit-justify-content: center;/* Chrome 21+ */
    -ms-flex-pack: center;/* WP IE 10 */
    justify-content: center;/* android 4.4 */
}
/*vertical*/
.v-fm{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: center;/* android 2.1-3.0, ios 3.2-4.3 */
    -webkit-align-items: center;/* Chrome 21+ */
    -ms-flex-align: center;/* WP IE 10 */
    align-items: center;/* android 4.4 */
}
.v-fcm{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;/* android 2.1-3.0, ios 3.2-4.3 */
    -webkit-justify-content: center;/* Chrome 21+ */
    -ms-flex-pack: center;/* WP IE 10 */
    justify-content: center;/* android 4.4 */
    -webkit-box-align: center;/* android 2.1-3.0, ios 3.2-4.3 */
    -webkit-align-items: center;/* Chrome 21+ */
    -ms-flex-align: center;/* WP IE 10 */
    align-items: center;/* android 4.4 */
}
/*child  自动平分剩余空间(水平方向)*/
.v-i1{
    -webkit-box-flex:1;/* android 2.1-3.0, ios 3.2-4.3 */
    -webkit-flex:1;/* Chrome 21+ */
    -ms-flex:1;/* WP IE 10 */
    flex:1;/* android 4.4 */
}

安卓4.2中 父元素使用 v-fm (垂直居中)的时候 子元素要用 display:block; 才能使其居中。

1.当父级元素使用了:v-fm的时候 发现子元素单行字体并没有与原来的图表对其一行,那就是line-height影响到了布局,清除行高使用: line-height: initial;

这里写图片描述
面对这样的布局,设置前3个列的宽度值,然后在最后一列 加入class:v-i1; 如果要控制里面内容的显示区域,可以加入padding-left/padding-right;来控制里面内容的显示区域;溢出消失则增加样式:overflow:hidden; 上述 是将前3块设置相应的宽度,后一块平分剩余部分的宽度值!

### CSS Flex 布局中的宽度设置方法 在 CSS Flex 布局中,`width` 和 `flex-basis` 是两个与宽度相关的属性。当两者同时被设置时,`flex-basis` 的优先级高于 `width`[^1]。 #### 子元素的宽度控制 以下是关于如何通过 `flex-basis` 控制子元素宽度的具体说明: - **`flex-basis` 属性** 这一属性用于指定弹性盒子项(即子元素)在其主轴上的初始大小。它类似于传统的 `width` 或 `height`,具体取决于容器的方向(由 `flex-direction` 决定)。如果未显式声明,则默认值为 `auto`,表示使用内容的实际尺寸作为基础[^2]。 - **`width` 属性的作用范围** 当设置了 `flex-basis` 后,即使存在 `width` 设置,也会被忽略。因此,在设计过程中应主要依赖 `flex-basis` 来调整子项目的宽高比例。 下面是一个简单的例子展示这些概念的应用场景: ```css /* 父容器 */ .container { display: flex; } /* 子项目 */ .item { /* 使用 flex-basis 而不是 width */ flex-basis: 200px; } ``` 此外还有其他几个重要的属性可以辅助管理宽度行为: - **`flex-grow`**: 定义了该子项相对于剩余空间的增长量。 - **`flex-shrink`**: 描述了缩小因子, 即减少可用空间时收缩的程度。 - **`flex` shorthand property**: 结合以上三个参数简化书写形式 (e.g., `flex: 1 1 auto`)。 对于更复杂的布局需求,可能还需要考虑如下几点配置选项及其交互影响: - 主轴方向(`flex-direction`) - 是否允许换行(`flex-wrap`) - 对齐方式(如水平分布 justify-content) 最后值得注意的是有一个便捷写法叫做 `flex-flow`, 它能够一次性设定上述两项基本规则从而精简代码结构[^4]: ```css .flex-container { display: flex; flex-flow: column nowrap; /* 自定义组合 */ } ``` --- ### 示例代码片段 这里提供一段完整的 HTML/CSS 实现案例来直观理解不同宽度相关属性的效果差异: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Flexbox Width Example</title> <style> .container { display: flex; border: 1px solid black; padding: 10px; } .item { margin: 5px; text-align: center; line-height: 75px; font-size: 20px; color: white; } .one { background-color: coral; flex-basis: 100px;} .two { background-color: lightblue; flex-basis: 20%;} .three{background-color:greenyellow ;flex-grow:1;} </style> </head> <body> <div class="container"> <div class="item one">Item One</div> <div class="item two">Item Two</div> <div class="item three">Flexible Item Three</div> </div> </body> </html> ``` 此示例展示了三种不同的宽度处理策略——固定像素单位、百分比相对计算以及动态增长填充机制之间的对比效果。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值