CSS定位position之static relative absolute float用法

1. position:static

元素的 position 属性默认值为:static,即该元素出现在文档的常规位置,不会重新定位。

通常此属性值可以不设置,除非是要覆盖之前的定义。

 代码如下 复制代码

#div-1 {
 position:static;
}

2. position:relative

设置了 position:relative,便可以结合top 、 bottom、 left 、 right 的属性来偏移其文档的常规位置。

例如将 div-1 向下移动 20 像素、向左移动 40 像素:

 代码如下 复制代码
#div-1 {
 position:relative;
 top:20px;
 left:-40px;
}

注意 div-1 未被移动之前的地方,现在多了一点空隙,紧接著 div-1 的元素(div-after)却没有被移动,事实上即便 div-1 被移动了,它仍?拙菰?嘉恢谩?/p>

貌似 position:relative 用处不大(我到觉得这点很有用),但在后面的内容中显得尤为重要。

3. position:absolute

设置了 position:absolute,即绝对定位,便可以将元素放在文档中任何想放的位置。

例如将 div-1a 放置到右上角:

 代码如下 复制代码
#div-1a {
 position:absolute;
 top:0;
 right:0;
 width:200px;
}

注意!由于 div-1a 被移走, 页面中的其他元素位置也变了: div-1b, div-1c, div-after 都因此上移了。

div-1a 被放置在页面的右上角。 能直接地定位元素很方便,但作用也不大。

这?真正要做的是将 div-1a 相对于 div-1 定位,这就又要讲到 relative 属性了。

IE浏览器Bug:设置了相对宽度(如 "width:50%"),该宽度将基于父元素而非自身。

4. position:relative + position:absolute

设置div-1的位置为 relative , div-1中元素的定位都将相对于div-1。现将div-1a的position设为:absolute,可以实现将其置于div-1的右上角:

 代码如下 复制代码

#div-1 {
 position:relative;
}
#div-1a {
 position:absolute;
 top:0;
 right:0;
 width:200px;
}

5. 两列绝对定位

接下来使用relative 和absolute 实现两列的绝对定位:

 代码如下 复制代码
#div-1 {
 position:relative;
}
#div-1a {
 position:absolute;
 top:0;
 right:0;
 width:200px;
}
#div-1b {
 position:absolute;
 top:0;
 left:0;
 width:200px;
}

使用绝对定位(absolute positioning)的优点就是不需考虑元素在html中的位置,可以对元素任意放置,此处故意将div-1b放到div-1a之前;

注意,还有个元素被绝对定位的元素遮住了,怎麽办?

6. two column absolute height

一种办法是设置固定高度。

但不是万全之策,因为元素的高度、字体的大小并不总是确定的。

 代码如下 复制代码

#div-1 {
 position:relative;
 height:250px;
}
#div-1a {
 position:absolute;
 top:0;
 right:0;
 width:200px;
}
#div-1b {
 position:absolute;
 top:0;
 left:0;
 width:200px;
}

7. float(浮动)

针对高度不定的情况,绝对定位不好用,于是想到另一方案。

可以尽量使用向左或向右浮动来实现文字环绕,特别是环绕图片,此处用于更?杂的?丫止ぷ?也只有用这种方法)。

 代码如下 复制代码

#div-1a {
 float:left;
 width:200px;
}

8. 多列浮动

将两列都像左浮动,可以实现两列并列。

 代码如下 复制代码

#div-1a {
 float:left;
 width:150px;
}
#div-1b {
 float:left;
 width:150px;
}

9. 多列浮动后清除浮动

将元素浮动后,再使用"clear" 清除浮动,后面内容拉向下。

 代码如下 复制代码

#div-1a {
 float:left;
 width:190px;
}
#div-1b {
 float:left;
 width:190px;
}
#div-1c {
 clear:both;
}

时间: 2024-10-22 10:56:42

CSS定位position之static relative absolute float用法的相关文章

CSS中相对/绝对之relative/absolute介绍

absolute属性配合left/top/right/bottom属性具有极强的定位性.这种功能特性是如此的明显与强烈,可能会让页面重构人员很单纯的被这一特性"捕获",而产生迷失. 一板一眼的描述可能难以理解,举个通俗点的例子吧: 一个脸蛋不错身材超好的姑娘穿上超PP的衣服后是如此的光艳动人,对于我们这类常年困居于深宅大院的光棍男来讲,这种美艳是如此的迷人,以至于我们的精力多集中在这沉鱼落雁的美貌上,而忽略了其他一些东西,例如知性,善良,贤惠等.很容易的,我们以后一想到此女子,第一反应

详解CSS定位position及应用场景实例

首先我们对postion属性进行详解. 在CSS3中,对于postion是这么描述的 总结如下:static 是默认布局,设置top\left..属性不会有作用.relative是相对布局,设置的top\left..会相对文件中的控件.absolute是绝对定位,设置的top\left..会相对整个页面而定.fixed是相对浏览器窗口定位,设置的top/left属性,是相对于浏览器窗口的位置. 除此之外,经过我代码测试:1.如果top\left..其中某属性缺省,absolute,fixed布局

CSS 定位之绝对与相对

1.static,relative,absolute,fixed含义 static:元素框正常生成.块级元素生成一个矩形框,作为文档流的 的一部分,行内元素则会常见一个或多个行框,至于其父元素中.   relative:元素框偏移某个距离.元素仍保持其未定位前的形状,它原本所占有的空间仍保留.   absolute:元素框从文档流中完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素挥着是初始包含块. 元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样. 元素定位后生成一

CSS布局之-浮动(Float)与定位(Position)-让盒子飞!

一. 前言:浮动和定位的原理一定要深刻掌握!(其实每个原理都要深刻掌握!)如果你只是知道有float与position这些属性和他们的值,但是不清楚他们的值到底是怎么回事,那么你在写CSS的时候将会非常的苦恼,由刚开始的热血沸腾的想让盒子飞变成了让自己飞!因为盒子已经不知道飞到哪里去了,时间长了之后就可能会到九宵云外,盒子也找不回来了,您也可能崩溃了--二. 浮动(Float)问题:我们先来说说浮动问题,浮动是为了定位(这里的定位不是position).1. 浮动对邻居有何影响?我们先来做一下准

CSS中HTML元素定位Position参数可选值详解

position 属性规定元素的定位类型.这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移. 默认值: static 语法: position : static | absolute | fixed | relative 继承性: no 版本: CSS2 JavaScript 语法: object.style.position="absolute" static 元

CSS实例:定位(position)页面定位详解

注:在做这节教程的时候,我又上网查了相关资料,看了大量的文章,做了大量的测试,最后总结出下面这些文字,洋洋洒洒一整篇,不过需要大家一句话一句话的看,一定要仔细喽!还有对于课程中的说的,最好一边看,一边练,不练绝对看不懂! 定位(position)布局页面说容易非常容易,只需要记住这节课最后一句话就可以了,说困难,那是相当的难理解,需要一定的耐心,不过还好,KwooJan给大家总结的已经很通俗易懂了. 如果下面的文字实在是无法理解透,那就记住这节课最后总结的一句话"如果用position来布局页面

position:relative/absolute无法冲破的等级

前段时间记得好像是有人提出了一个实在是让大家都觉得很不理解的一个问题: <ul> <li>第一块</li> <li><span>第二块</span></li> <li>第三块</li> <li>第四块</li> <li>第五块</li> </ul> 如果我我们设定LI为position:relative;设置span为position:ab

CSS定位:几种类型的position定位的元素

文章简介:定位属性看起来好像很好理解,但它的运作与它在表面所看到的有点儿不一样.你可能会觉得的是相对定位更加类似绝对定位.当在做布局设计的时候你通常会想使用浮动并在指定的元素上应用定位来打破布局. 当人们刚接触布局的时候都比较倾向于使用定位的方式.因为定位的概念看起来好像比较容易掌握.表面上你确切地指定了一个块元素所处的位置那么它就会坐落于那里.可是定位比你刚看到的时候要稍微复杂一点.对于定位来说,有一些东西会绊倒新手,所以在它成为你的惯用技巧前你需要掌握它们. 一旦你更深入地了解了它是怎么运作

Position:Relative/Absolute无法冲破的等级

前段时间记得好像是谁在群里提出了一个实在是让大家都觉得很不理解的一个问题: <ul><li>第一块</li><li><span>第二块</span></li><li>第三块</li><li>第四块</li><li>第五块</li></ul> 如果我我们设定LI为position:relative;设置span为position:absolu