ACwing学习——CSS(7)

113 阅读2分钟

本文参与4月更文挑战,打卡day12,第十二篇

定义在子节点的属性
order

定义flex项目的顺序,值越小越靠前。

image.png image.png

flex-grow

设置 flex 项主尺寸的 flex 增长系数(当浏览器页面放大的时候子元素跟随放大的比例)。

负值无效,默认为 0(表示不变大)。

flex-shrink

指定 flex 元素的收缩规则(当浏览器页面缩小的时候子元素跟随缩小的比例)。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据flex-shrink的值。

负值无效,默认为1。

flex-basis

指定 flex 元素在主轴方向上的初始宽度大小。

取值:

可以是 length(即50px); 该值也可以是一个相对于其父弹性盒容器主轴尺寸的百分数 。负值是不被允许的。默认为 auto

flex

flex-grow、flex-shrink、flex-basis的缩写。

常用取值:

flex:auto; 表示 flex: 1 1 auto

flex:none; 表示 flex: 0 0 auto

14. 响应式布局(使用较多)

media查询

当屏幕宽度满足特定条件时应用css。

不同设备下背景颜色不同的设置
 /* 当屏幕宽度大于768px的时候使用以下样式 即当屏幕宽度>768px背景颜色会发生改变 */
@media(min-width: 768px) {
    .container {
        width: 960px;
        background-color: lightblue;
    }
}

 /* 可以书写多个这样的效果  可以实现在宽度不同的情况下出现不同属性 */

响应式布局例子

对子级div增加style属性实现1:2:3的分布

Bootstrap

以上方法较为复杂,因此可以预定义一份的大小(使用Bootstrap方法),一般可以将父盒子分为12块(12的公因子比较多 1、2、3、4、6、12),此外不同设备有不同css样式,区分设备是否相同主要是依据宽高,这样的不同的宽高可以分为以下几类:

  • xs(extremely small) 极小
  • sm(small) 小
  • md(medium) 中等
  • lg(large) 大
  • xl(extremely large) 极大

接下来以定义中等情况下的样式为预定义大小为例:

同样能够实现1:2:3的分布

此处如果子盒子过多会自动折叠实现以下效果:

bootstrap地址