CSS定位

1、元素隐藏:

display:none 隐藏不占用空间

visibility:hidden 隐藏但是占用空间

visibility:visible 元素可见 默认值

2、块元素

display:block 块元素是一个元素,占用了全部宽度,在前后都是换行符

display:inline 内联元素只需要必要的宽度,不强制换行.


CSS position 属性

static

元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。

relative

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

笔记

Relative相对定位
元素的位置相对于其正常位置
可以移动的相对定位元素的内
容和相互重叠的元素,它原本
所占的空间不会改变。

absolute

元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

fixed

元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。

笔记
Fixed定位:相当于元素与窗口的定位。
fixed定位的元素 不会占用正常的文档流,
空间。
使用方法

position:fixed;
top:40px;
left:40px;
right:40px;
bottom:40px;

CSS相对定位

设置为相对定位的元素框会偏移某个距离。元素仍保持未定位前的形状,它原本所占的空间仍保留。

如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像素的地方。如果 left 设置为 30 像素,那么会在元素左边创建 30 像素的空间,也就是将元素向右移动。

#box_relative {
    position: relative;
    left: 30px;
    top: 20px;
}
CSS定位_第1张图片

CSS绝对定位

绝对定位使元素的位置与文档流无关,因此不占据空间。

#box_relative {
    position: absolute;
    left: 30px;
    top: 20px;
}
CSS定位_第2张图片

相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么“相对于”最初的包含块。

提示:因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。可以通过设置 z-index 属性来控制这些框的堆放次序。

CSS浮动

CSS定位_第3张图片

1、把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

CSS定位_第4张图片

2、框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。

3、把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

CSS定位_第5张图片

4、如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。

5、如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”

CSS定位_第6张图片

CSS float属性

left 元素向左浮动。

right 元素向右浮动。

none 默认值。元素不浮动,并会显示在其在文本中出现的位置。

inherit 规定应该从父元素继承 float 属性的值。

CSS clear 属性

clear 属性规定元素的哪一侧不允许其他浮动元素。
元素浮动之后,周围的元素会重新
排列,为了避免使用float属性。
clear属性指定元素两侧不能出现
浮动元素。

描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。

你可能感兴趣的:(CSS定位)