根据MDN网站学习记录笔记
定位
定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为。
有许多不同类型的定位,您可以对HTML元素
生效。要使某个元素上的特定类型的定位,我们使用position
属性
定位(positioning)能够让我们把一个元素从它原本在正常布局流(normal flow)中应该在的位置移动到另一个位置。
注意:定位的标题不再出现在文档流中,所以其他内容向上移动到顶部。
- 静态定位:是默认属性—表示“将元素放在文档布局流的默认位置。
- 相对定位:允许相对于元素在正常的文档流中的位置移动它。
- 绝对定位:将元素完全从页面的正常布局流(normal layout flow)中移出。相对于
<html>
元素或其最近的定位祖先。
定位上下文 —— 绝对定位的元素的相对位置元素。通过设置其中一个父元素的定位属性 —— 也就是包含绝对定位元素的那个元素。
当多个元素因为都设置了定位而重叠时,可以使用z-index
属性改变堆叠顺序。z-index只接受无单位索引值。
z-index
是对z轴的参考,z轴可以想象成屏幕到使用者脸部的一条直线,正值将它们移动到堆栈上方,负值将它们向下移动到堆栈中。
-
固定定位:与绝对定位非常类似,但是它是将一个元素相对浏览器视口固定。 这在创建类似在整个页面滚动过程中总是处于屏幕的某个位置的导航菜单时非常有用。
-
粘性定位:让元素先保持和
position: static
一样的定位,当它的相对视口位置达到某一个预设值时,他就会像position: fixed
一样定位。
多列布局
实现多列布局
column-count
创建指定数量的列
.container {
column-count: 3;
}
column-width
按照指定的宽度创建尽可能多的列,剩余空间被现有列平分。
.container {
column-width: 200px;
}
增加样式
Multicol 创建的列无法单独的设定样式。
- 使用
column-gap
改变列间间隙。
.container {
column-width: 200px;
column-gap: 20px;
}
- 用
column-rule
在列间加入一条分割线。
类似于border属性,column-rule
是column-rule-color
和column-rule-style
的缩写,接受同border
一样的单位。
.container {
column-count: 3;
column-gap: 20px;
column-rule: 4px dotted rgb(79, 185, 227);
}
列/内容折断
把内容放入多列布局容器内,内容被拆成碎块放进列中,内容折断。