- 1.html元素是最终的positioned元素,并且margin为0,body的margin非0
- 2.position为relative不会脱离文档流,这种定位只为了子元素为absolute的定位
- 3.position为absolute的元素自动成为块级元素
- 4.行内元素没有宽高,块级元素有
- 5.替换元素是具有宽高的行内元素{display: inline-block;}
1.知乎非常有用的答题
相对于父元素宽度的:
[max/min-]width、padding、margin、left、right 等;
相对于父元素高度的:
[max/min-]height、top、bottom 等;
相对于继承字号的:
font-size 等;
相对于自身字号的:
line-height 等;
相对于自身宽高的:
transform: translate()、transform-origin、border-radius、background-size、zoom 等;
特殊算法的:
background-position(方向长度 / 该方向除背景图之外部分总长度 * 100)、
filter 系列函数等;
如果自身设置 position: absolute,“父元素”指:离它最近的那个 position 不为 static 的外层元素,如果没有这样的元素,则指窗口。
如果 position: fixed,“父元素”指窗口。
2.更多随笔
块格式化上下文block formatting context 是页面 CSS 视觉渲染的一部分。它是用于决定块盒子的布局及浮动相互影响范围的一个区域。
下列情况将创建一个块格式化上下文:
根元素或其它包含它的元素
浮动 (元素的 float 不为 none)
绝对定位元素 (元素的 position 为 absolute 或 fixed)
行内块 inline-blocks (元素的 display: inline-block)
表格单元格 (元素的 display: table-cell,HTML表格单元格默认属性)
表格标题 (元素的 display: table-caption, HTML表格标题默认属性)
overflow 的值不为 visible的元素
弹性盒 flex boxes (元素的 display: flex 或 inline-flex)
块格式化上下文包括了创建该上下文的元素的所有子元素,但不包括创建了新的块格式化上下文的子元素。
块格式化上下文对定位 (参见 float) 与清除浮动 (参见 clear) 很重要。定位和清除浮动的样式规则只适用于同一块格式化上下文中的元素。浮动不会影响其它块格式化上下文中元素的布局,清除浮动只清除同一块格式化上下文中,在它前面的元素的浮动。
网友评论