Css规范整理:3.1、常规流布局:核心思想

简介: (Css2.1标准中没有 明确提出,在最新的 CSS Display Module Level 3 中提出了,虽然是草案,但其中的思想与前者一脉相承) display属性定义了一个元素的显示类型,它包含元素如何生成盒的两个基本特征:

常规流布局

核心思想

(Css2.1标准中没有 明确提出,在最新的 CSS Display Module Level 3 中提出了,虽然是草案,但其中的思想与前者一脉相承)

display属性定义了一个元素的显示类型,它包含元素如何生成盒的两个基本特征:

  • 外部显示类型 outer display type

    它决定了盒子本身如何参与流(flow)式布局

    • block : 在流布局中时,该元素将生成一个块级盒(block-level box)
    • inline : 在流布局中时,该元素将生成一个行内级盒(inline-level box)
  • 内部显示类型 inner display type

    它定义(如果它是一个<u>非替换元素</u>)生成的格式化上下文的类型,指示如何布局它的后代。 (<u>替换元素</u>的内部显示不在CSS范围内)即指定元素的内部显示类型,定义其内容的格式上下文的类型。

    • flow

      元素内部使用流式布局

      • 如果 外部显示类型是 inline 且该元素参与到块格式化上下文或者行内格式化上下文,则该元素生成行内盒( inline box )


display:inline = display:inline flow

否则,它会生成一个 块容器盒( block container box )

display:block = display:block flow

    • 根据其他属性的值(例如positionfloatoverflow)以及它本身是否参与块或行内格式化上下文,它要么为其内容建立新的块格式化上下文,要么将其内容整合到其父格式化上下文

  • flow-root

    该元生成一个块容器盒( block container box ),并使用流布局来布局其内容。它总是为其内容建立一个新的块格式上下文


display:inline-block = display:inline flow-root

table

该元素生成一个主表格包装盒(table container box),它建立一个块格式化上下文,并包含一个额外生成的表格框,用于建立一个表格格式化上下文


display:table = display:block table;
display:inline-table = display:inline table;

flex(Css3)

该元素生成一个主flex包装盒(flex container box),它建立一个flex格式化上下文


display:flex = display:block flex;
display:inline-flex = display:inline flex;

grid(Css3)

该元素生成一个主grid包装盒(flex container box),它建立一个grid格式化上下文


display:grid = display:block grid;
display:inline-grid = display:inline grid;

关键概念:

包含块

Css中很多盒的位置和大小都是根据其包含块的矩形框进行计算。一般把生成的盒作为后代盒的包含块。


原文发布时间为:2018年02月10日
原文作者: 雕刻零碎 

本文来源:开源中国 如需转载请联系原作者


目录
相关文章
|
8天前
|
前端开发 容器
css布局-弹性布局学习笔记
这篇文章是关于CSS弹性布局的学习笔记,详细介绍了flex容器和元素的相关属性,包括flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content以及order、flex-grow、flex-shrink、flex-basis、flex和align-self等,解释了这些属性在弹性盒子布局中的作用和用法。
|
23天前
|
缓存 前端开发
css内部样式和外部样式的性能比较和使用规范
CSS 的内部样式和外部样式各有优缺点,适用于不同场景。
|
8天前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
2月前
|
前端开发 安全 容器
CSS如何优雅实现卡片多行排列布局?
【8月更文挑战第24天】CSS如何优雅实现卡片多行排列布局?
43 3
|
2月前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
41 3
|
2月前
|
前端开发 开发者 容器
【Web布局的革命】探索CSS Grid栅格系统,打造未来网页设计!
【8月更文挑战第25天】在网页设计领域,布局至关重要。传统的布局方法难以满足复杂需求,CSS Grid 栅格系统因此诞生。它是一种二维布局模式,能直接控制行和列,简化复杂网格的设计。通过定义 `display: grid;` 创建网格容器,并利用 `grid-template-columns` 和 `grid-template-rows` 设置行列尺寸,轻松实现响应式布局。此外,CSS Grid 支持高级功能,如网格区域划分和对齐设置,极大提升了布局的灵活性和创意空间。随着浏览器兼容性的增强,CSS Grid 必将成为未来网页设计的关键技术之一。
52 1
|
2月前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
167 8
|
2月前
|
前端开发
CSS Grid 布局:span 关键字
CSS Grid 布局:span 关键字
44 0
|
2月前
|
前端开发 容器
css中弹性布局使用方法
css中弹性布局使用方法
37 0
|
2月前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
80 0