CSS(04) 定位

布局常用的三种:标准流、定位、浮动;

1、文档流-标准流

窗体自上而下分成一行行(元素在 (X)HTML 中的位置),并在一行行中从左到右排放元素;

2、CSS 定位 Position 属性(绝对定位、固定定位、相对定位、静态(默认))

可以设置左右上下偏移;

绝对定位:脱离了文档流,位置是相对与父元素或者浏览器左上角(也可以理解为Body),并且父元素是设置了Position 为固定/绝对/相对,如果父元素中找不到就会以浏览器左上角为位置;

固定定位:脱离了文档流,位置是由浏览器左上角为启始点;

相对定位:没有脱离文档流,位置是相对与本来该在的位置的偏移;

静态:默认值,没有脱离文档流,位置由XHTML从上至下 左到右解析;

实战总结:

定位来说占位置的有 static 静态定位和relative相对定位,没有脱离文档流,不占位置的有 absolute绝对定位和fixed固定定位,脱离了文档流。这个很重要,对我们布局标准流,有很大的影响。

我们一定要记住的口诀就是,子级绝对,父级相对。 这样对我们布局来说,是最合适的布局理念。

亲测代码如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6
 7     <style>
 8         div{ background-color: lime;  border: solid #ff0000 1px ;width: 600px; height:50px;}
 9         span{ background-color: cadetblue; }
10
11         #div1{ position:static;left: 20px; top: 100px;}
12
13         #div2{ position:fixed; left:20px; top:10px;}
14
15         #div3{ position: absolute; left:300px; top:20px;}
16
17         #div4{  position: relative; left:50px; top:50px;}
18
19         #div5{ }
20     </style>
21 </head>
22 <body>
23
24 this is css demo1
25 this is css demo2
26
27 <div id="div1">默认定位</div>
28 <div id="div2">固定定位脱离文档流,位置相对与整个浏览器视窗,原来位置被覆盖</div>
29 <div id="div3">绝对定位脱离文档流,位置相对与父元素或者浏览器左上角,原来位置被覆盖</div>
30 <div id="div4">相对定位,没有脱离文档流,保留原来的位置</div>
31
32 <div id="div5">嵌套定位分析</div>
33
34
35 <span> this is span1 </span>
36 <span> this is span2 </span>
37 <span> this is span3 </span>
38 <span> this is span4 </span>
39
40
41 </body>
42 </html>

3、浮动 float

浮动只能左右浮动,即浮动的目点就是可以把多个块级元素放到想要的一行上。

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

看到这图应该可以想到浮动跟盒子模型有关,也就是浮动到的位置 ,其次 浮动脱离了文档流;

从基础角度浮动就这么点东西了;

如果父元素包含的都是浮动元素会造成高度塌缩为零,解决办法有几个,这里写一个最简单的吧,

加一个空的容器 如div  设置

clear: both;--清除浮动对该元素的影响,这样空的div 的位置就不会因为浮动元素脱离文档流、而去填补之前的元素的位置,从而造成元素父元素的高度变为0;

clear:

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

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6 <style>
 7
 8     #div1,#div2{
 9         width: 100px;height: 100px; border: dashed #ff0000 1px;
10         float: right;
11     }
12 #div3:after{
13
14     clear: both;
15 }
16
17 </style>
18 </head>
19
20 <body>
21
22 <div id="content">
23     <div id="div1"></div>
24     <div id="div2"></div>
25     <div id="div3"></div>
26
27 </div>
28 </body>
29 </html>

其他实现方式:
tag:after{ content: "";     clear: both;     display:table;

20160201  

   

时间: 2024-10-06 12:47:46

CSS(04) 定位的相关文章

CSS Positioning(定位)

CSS Positioning(定位) position 属性指定了元素的定位类型. position 属性的四个值: static relative fixed absolute 元素可以使用的顶部,底部,左侧和右侧属性定位.然而,这些属性无法工作,除非是先设定position属性.他们也有不同的工作方式,这取决于定位方法. static 定位 HTML元素的默认值,即没有定位,元素出现在正常的流中. 静态定位的元素不会受到 top, bottom, left, right影响. fixed

CSS中定位机制的想法

对于一个刚刚接触css的新手而言,CSS的定位机制可能是最让人头疼的一件事情了, 接下来我们了解一下CSS的定位机制. position:static | relative | absolute | fixed 适用于:除 <' display '> 属性定义为「table-column-group | table-column」之外的所有元素. 继承性:无. 归类总结一下定位的四种属性特点: 绝对定位: 1:单独标签设置定位的时候,以浏览器左上角为基准设置定位的. 2:盒子嵌套的时候,如果父

css元素定位样式

曾经写网页,学css整体上不难,但就是元素定位,始终一知半解,直到今天,本着实践出真知的理念,经过认真测试,总结出了如下结论. css 定位: positionstatic : 默认静止定位,元素在正常的文档流中无法移动定位.absolute :独立元素,元素从文档流中脱离,会相对于父层(static定位的父层除外)移动定位.relative : 相对定位,相对本身的位置移动定位,效果等同于相对于父层移动定位.fixed: 固定定位,相对于窗口移动定位.注:1.移动定位是指通过 top,bott

《精通CSS》定位

定位部分包含了两个模型:视觉格式化模型和定位模型.理解这两个模型的细微差异是非常重要的,因为它们一起控制着如何在页面上布置每个元素. /**********视觉格式化模型***************/ p.h1.div等元素常常被称为块级元素,与此相反,strong和span等元素称为行内元素.块级元素显示为一块内容,即"块框",它们显示为一块内容.行内元素显示在一行上. display属性可以改变元素的显示类型,通过将display设置为block,可以让行内元素表现的像块级元素一

css的定位

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="text/css"

CSS Positioning(定位)与Float(浮动)

一.CSS Positioning(定位) 1.Positioning(定位) CSS定位属性允许你为一个元素定位.它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么.元素可以使用的顶部,底部,左侧和右侧属性定位.然而,这些属性无法工作,除非是先设定position属性.他们也有不同的工作方式,这取决于定位方法.有四种不同的定位方法. 2.Static 定位 HTML元素的默认值,即没有定位,元素出现在正常的流中.静态定位的元素不会受到top, bottom, lef

CSS Sprite定位实现

何为CSS Sprite 通常我们把它叫做CSS图像拼合技术,当然还有人把CSS Sprites叫做"CSS贴图定位". 原理 CSS Sprites 原理:其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的"background-image","background- repeat","background-position"的组合进行背景定位,background-position可以用数字精确的定位出背景图

CSS 中定位的使用

position relative 设置区块基准点为左上角(相对定位 以区块的左上角为基准点 仍然会暂居原来的位置) absolute 设置网页的为基准点左上角(绝对定位 以网页的左上角为基准点 不会暂居原来的位置) static 无设置left auto 以基准点定位在左边 像素/百分比 定位在左边top auto 以基准点定位在上边 像素/百分比 定位在上边right auto 以基准点定位在右边 像素/百分比 定位在右边bottom auto 以基准点定位在下边 像素/百分比 定位在下边z

CSS之定位布局(position,定位布局技巧)

css之定位 1.什么是定位:css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设置一些不规则的布局,使用TLBR(top,left,bottom,right)来调整元素位置. 2.各个属性值的描述: static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级,在普通流中,各个元素默认的属性. relative(相对定位) 对象不可层叠.不脱离文