CSS 定位 (Positioning)概述

 

 

div、h1 或 p 元素常常被称为块级元素。

这意味着这些元素显示为一块内容,即“块框”。

与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。

 

可以使用 display 属性改变生成的框的类型

这意味着,通过将 display 属性设置为 block,可以让行内元素(比如 <a> 元素)表现得像块级元素一样

还可以通过把 display 设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间

 

 

CSS 定位机制

CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。

块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。

 

行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。

但是,垂直内边距、边框和外边距不影响行内框的高度。

由一行形成的水平框称为行框(Line Box),行框的高度总是足以容纳它包含的所有行内框。不过,设置行高可以增加这个框的高度。

 

CSS position 属性

这个属性定义建立元素布局所用的定位机制

任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。

相对定位元素会相对于它在正常流中的默认位置偏移。

描述
absolute

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

relative元素框偏移某个距离元素仍保持其未定位前的形状,它原本所占的空间仍保留。

 

absolute元素框从文档流完全删除并相对于其包含块定位

包含块可能是文档中的另一个元素或者是初始包含块。

元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样

元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

 

 

 

Z-index可被用于将在一个元素放置于另一元素之后(或之前)。

 

posted @ 2019-05-16 10:30  萌胖胖  阅读(358)  评论(0编辑  收藏  举报