当前位置: 首页 > news >正文

css的页面布局属性

CSS Flexbox(Flexible Box Layout)是一种用于页面布局的CSS3规范,它提供了一种更加高效的方式来布置、对齐和分配容器内元素的空间,即使它们的大小是未知或者动态变化的。Flexbox很容易处理一维布局,即在一个方向上(水平或垂直)。

Flexbox的主要属性

容器属性

display
  1. display: flex;声明一个容器为Flex容器,默认元素横向排列。

  2. display: inline-flex;声明一个容器为内联Flex容器。

flex-direction
  1. 决定主轴的方向(即元素的排列方向),默认为水平方向。

  2. 值:row(水平,从左到右,默认值)、row-reverse(水平,从右到左)、column(垂直,从上到下)、column-reverse(垂直,从下到上)。

flex-wrap
  1. 决定元素的换行方式,默认为不换行。

  2. 值:nowrap(不换行,默认值)、wrap(自动换行)、wrap-reverse(反向换行)。

justify-content
  1. 定义了元素在主轴上的对齐方式。

  2. 值:flex-start(左对齐,默认值)、flex-end(右对齐)、center(居中)、space-between(两端对齐,元素之间的空间相等)、space-around(两端等分对齐)、space-evenly(所有元素之间的空间相等)。

align-items
  1. 定义元素在交叉轴上的对齐方式。

  2. 值:flex-startflex-endcenterbaselinestretch

align-content
  1. 当有多行时,定义了行在交叉轴上的对齐方式。

  2. 值:flex-startflex-endcenterspace-betweenspace-aroundstretch

元素属性

order
  • 定义元素的排列顺序。

  • 数值越小越靠前,默认值为0。

flex-grow
  • 定义元素的放大比例。

  • 数值越大,元素占据的空间越大。

flex-shrink
  • 定义元素的缩小比例。

  • 数值越大,元素在空间不足时缩小得越多。

flex-basis
  • 定义元素在分配多余空间之前的默认大小。

flex
  • flex-growflex-shrinkflex-basis的简写。

  • 语法:flex: none | [ <flex-grow> <flex-shrink>? || <flex-basis> ]flex: 0 0 10px

align-self
  • 允许单个元素有与其他元素不同的交叉轴对齐方式。

  • 值:auto(继承父容器的align-items值)、flex-startflex-endcenterbaselinestretch

注意事项

  • 兼容性:大多数现代浏览器都支持Flexbox,但在一些旧版浏览器中可能需要厂商前缀。

  • 调试:在开发过程中,可以使用浏览器的开发者工具来检查和调试Flexbox布局。

  • 过度约束:Flexbox布局可能会因为多个属性的组合使用而导致“过度约束”,这可能会导致不可预见的布局结果。

  • 性能:Flexbox通常性能很好,但在某些复杂布局或旧版浏览器中可能会导致性能问题。

Flexbox提供了一种更加强大和灵活的方式来创建响应式布局,使得开发者可以轻松地创建复杂的UI界面。

相关文章:

  • 65.【C语言】联合体
  • Databend 实现高效实时查询:深入解读 Dictionary 功能
  • 对于基础汇编的趣味认识
  • 综合练习 学习案例
  • 【AIGC】ChatGPT提示词助力自媒体内容创作升级
  • 笔记本电脑如何改ip地址:操作指南与注意事项
  • 深度解析:Python蓝桥杯青少组精英赛道与高端题型概览
  • 程序设计语言
  • JavaScript模块化-CommonJS规范和ESM规范
  • 论文阅读(十一):CBAM: Convolutional Block Attention Module
  • C++入门(有C语言基础)
  • 并行编程实战——TBB框架的应用之一Supra的基础
  • 【2024】前端学习笔记11-网页布局-弹性布局flex
  • 常用bash脚本
  • 在大数据爬取中选择合适的IP
  • JS 中的深拷贝与浅拷贝
  • CAP理论的例子讲解
  • ES6系统学习----从Apollo Client看解构赋值
  • Iterator 和 for...of 循环
  • java8-模拟hadoop
  • javascript数组去重/查找/插入/删除
  • Java基本数据类型之Number
  • JDK 6和JDK 7中的substring()方法
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • NSTimer学习笔记
  • PAT A1017 优先队列
  • ------- 计算机网络基础
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 使用common-codec进行md5加密
  • #if等命令的学习
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (C#)获取字符编码的类
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (四)Linux Shell编程——输入输出重定向
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (一)Java算法:二分查找
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)负载均衡,回话保持,cookie
  • .NET Core中的时区转换问题
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET MVC 验证码
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET关于 跳过SSL中遇到的问题
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .Net小白的大学四年,内含面经
  • .NET中GET与SET的用法
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • @31省区市高考时间表来了,祝考试成功
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • []指针
  • [2010-8-30]