CSS标准(5)-定位体系

简介: CSS标准(5)-定位体系

一个框(box,就是元素形成的方块等)可以根据三种定位体系布局。

常规流(Normal flow)

正常排版包括对块级框的块格式化,对行级框的行格式化,对块级框和行级框的相对定位。框在正常排版中必然属于一个格式化上下文,要么是块格式化上下文,要么是行格式化上下文。块级框参与块格式化上下文。行级框参与行格式化上下文。

position=static,该框(box)是一个常规框,布局根据常规流。

position=relative,框的位置根据常规流计算(被称为常规流中的位置)。然后框相对于它的常规位置而偏移。

块格式化上下文

在块格式化上下文中,框会从包含块的顶部开始,一个接一个地,垂直向下地摆放。两个兄弟框之间的垂直距离由’margin’属性来决定。在同一个块格式化上下文中,相邻的块级框之间的垂直外边距会出现折叠。不同的块格式化上下文中的元素不会相互影响和作用。

如何触发:The value of ‘position’ is neither ‘static’ nor ‘relative’。

有何意义:

1.可以包含浮动元素

2.不被浮动元素覆盖

3.阻止父子元素的 margin 折叠

行格式化上下文

在行格式化上下文中,框会从包含块的顶部开始,一个接一个地水平摆放。摆放这些框的时候,它们在水平方向上的外边距、边框、内边距所占用的空间都会被考虑在内。在垂直方向上可以以不同的方式对齐:它们的顶部或底部对齐,或根据其中文字的基线对齐。

浮动(Floats)

浮动细则:在浮动模型中,一个框先按照正常排版来摆放,再将它从排版流中取出并尽可能地向左或向右偏移,但是不能高于它前面生成的块框、浮动框和行框的顶。其它内容可以排在一个浮动的周围。

clearance(间隙):设置了clear的元素的 top border edge 要放在相关的浮动元素的 bottom margin edge 之下,把元素垂直推过浮动框。

绝对定位(Absolute positioning)

在绝对定位模型中,一个框会从排版流中完全脱离出来(它对后续的兄弟没有影响),并相对其包含块来指定其位置。

position=absolution,相对于包含块偏移。

position=fixed,相对于可视窗口(包含块)偏移。

Ps:可能产生层叠,CSS样式是三维的,所以需要z-index层叠级别来确定显示的先后顺序。

总结

  1. 常规流:所有常规流如同在同一个图层中一样排版。
  2. 浮动流:首先根据常规流布局,再将它从流中取出并尽可能地向左或向右偏移,可以看作常规流之上的一个特殊层。
  3. 绝对定位:脱离常规流不对兄弟节点产生影响,可以把每个绝对定位的框看做一个单独的图层。

(完)

本文作者 : cyningsun

本文地址https://www.cyningsun.com/04-22-2014/css-standard-five.html

版权声明 :本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!


目录
相关文章
|
2月前
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
26 0
|
3月前
|
前端开发
|
4月前
|
前端开发 容器
最新CSS3定位元素
【8月更文挑战第28天】
33 5
|
4月前
|
前端开发 容器
css中使用定位实现吸顶效果
css中使用定位实现吸顶效果
104 2
|
4月前
|
前端开发
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
这篇文章介绍了HTML和CSS中的三种定位方式:相对定位、绝对定位和固定定位,并通过代码示例展示了它们如何影响元素在页面上的布局和位置。
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
|
4月前
|
前端开发 容器
解锁CSS定位奥秘,从迷茫到精通,让你的网页布局“稳如老狗”,引领前端新潮流!
【8月更文挑战第23天】本文深入探讨了Web前端开发中CSS定位的三大基石:相对定位、绝对定位与固定定位。通过具体示例,展示了各种定位方式的特点及应用场景。相对定位可在不影响布局的情况下微调元素位置;绝对定位使元素完全脱离文档流,适用于精确控制位置的需求;固定定位则确保元素始终固定于浏览器窗口特定位置,不受页面滚动影响。这些技巧对于实现复杂网页布局至关重要。
70 0
|
4月前
|
前端开发 UED 开发者
神秘的 CSS 属性 “position: sticky” 究竟有何魔力?带你彻底理解粘性定位的奇妙世界!
【8月更文挑战第20天】在前端开发中,CSS的粘性定位(`position: sticky`)是一种结合了相对与固定定位优点的强大工具。它使元素能在特定条件下相对定位,达到指定阈值时转为固定定位,非常适合制作“吸顶”导航栏等。例如,设置`position: sticky; top: 0;`能让导航栏滚动至顶部时固定显示。此特性不仅限于导航栏,还可应用于侧边栏等,增强布局灵活性与用户体验。尽管如此,仍需注意不同浏览器间的兼容性和可能的布局冲突。
185 0
|
5月前
|
前端开发
css实用技巧——给锚点定位添加偏移
css实用技巧——给锚点定位添加偏移
169 3
|
6月前
|
前端开发 开发者
CSS属性选择器:精确定位元素的利器
CSS属性选择器:精确定位元素的利器
|
6月前
|
前端开发 编译器
CSS定位(如果想知道CSS有关定位的知识点,那么只看这一篇就足够了!)
CSS定位(如果想知道CSS有关定位的知识点,那么只看这一篇就足够了!)