CSS 笔记(6)

1:CSS 定位

CSS定位属性允许你对元素进行定位。

1:CSS定位和浮动

CSS为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。

定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然这个功能非常强大,也很让人吃惊。要知道,用户代理对CSS2中定位的支持远胜于对其他方面的支持。

2:一切皆为框

div、h1或p元素常常被称为块级元素。这意味着这些元素显示一块内容,即“块框”。与之相反,span和strong等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。

可以使用display属性改变生成框的类型。这意味着,通过将display设置为block,可以让行内元素表现的像块级元素一样。还可以通过把display设置成none,让生成的元素根本没有框。这样的话,该框及其所有内容都不在显示,不占用文档中的空间。

但是这一种情况下,即使没有进行显示定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素的开头。

3:CSS定位机制

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

除非专门指定,否则所有框都在普通流定位。也就是说,普通流中的元素的位置由元素HTML中的位置决定。块级框从上到下一个接着一个地排列,框之间的垂直距离是由框的垂直外边距计算出来的。

行内框在一行中水平布置。可以使用水平内边距、外框和外边距调整它们的边距。但是,垂直内边距、边框和外边距不影响行内框的高度。由一行形成的水平框称为行框。行框的高度总是足以容纳它包含的所有行内框。不过,设置行高可以增加这个框的高度。

4:CSS position属性

通过使用position属性,我们可以选择4种不同类型的定位,这会影响元素框生成的方式。

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

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

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

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

2:CSS相对定位

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

1:CSS相对定位

相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,他将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素相对于他的起点进行移动。

注意:在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框。

3:CSS 绝对定位

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

1:CSS 绝对定位

绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流的位置。

绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。

4:CSS浮动

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值