三种定位体系简介

框( box )布局影响因素之一,便是定位体系。定位体系也是其最为重要的影响因素。

CSS2.1 中,一个框可以根据三种定位体系布局。CSS2.1 中的定位体系帮助作者使他们的文档更容易理解,并不需要使用标记的手段(如,不可见的图片)达到布局的效果。

常规流( Normal flow )

常规流,是对 "normal flow" 的直译。

之称之为常规流,是因为这是相对于后面的浮动和绝对定位的一个概念,浮动和绝对定位元素都脱离了当前的常规流。

在 CSS2.1中,常规流包括块框( block boxes )的块格式化( block formatting ), 行内框( inline boxes )的行内格式化( inline formatting ),块框或行内框的相对定位,以及插入框的定位。

浮动( Floats )

浮动,顾名思义,相对于常规流来讲,它漂浮在常规流的上方。

在浮动模型中,一个框( box )首先根据常规流布局,再将它从流中取出并尽可能地向左或向右偏移。内容可以沿浮动区的侧面排列。 因为它首先要根据常规布局后才偏移,所以效率较常规流低。

用 ‘float‘ 特性声明浮动,特性值可以是:"none"、"left"、"right"。

绝对定位( Absolute positioning )

在绝对定位模型中,一个框整个地从常规流中脱离(它对后续的兄弟元素没有影响),并根据它的包含块来分配其位置。

static

该框是一个常规框,布局根据常规流。‘left‘ 、‘right‘、‘bottom‘ 和 ‘top‘ 属性不适用。

relative

框的位置根据常规流计算(被称为常规流中的位置)。然后框相对于它的常规位置而偏移。如果框 B 是相对定位的,其后框的定位计算并不考虑 B 的偏移。 table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, 和 table-caption 元素的 ‘position:relative‘ 效果没有被定义。

absolute

框的位置(可能还有它的尺寸)是由‘left‘,‘right‘,‘top‘和‘bottom‘特性决定。这些特性指定了框相对于它包含块的偏移量。 绝对定位的框从常规流向中脱离。这意味着它们对其后的兄弟元素的定位没有影响。另外,尽管绝对定位框有外边距(margin), 它们不会和其它任何外边距发生折叠(Collapsing margins)。

fixed

框位置的计算根据 ‘absolute‘ 模型,不过框要额外地根据一些参考而得到固定。跟绝对定位一样,固定定位元素的外边距不会和任何其他外边距发生折叠。 应用于手持终端、投影设备、屏幕、TTY、电视媒体类型时,框相对于可视窗口固定,滚动时不移动。应用于打印媒介类型时,框被渲染于每一页, 并相对于页框固定,就好象是通过可视窗口查看该页一样(例如,打印预览)。对于其他的媒介类型,表现没有被定义。

总结:

absolute和fixed优先级最高,有它存在时,浮动起不了作用。

Display的值是none

如果display的值是none,那么position和float不起作用,在这种情况下,元素不产生框,因此浮动和定位无效。

Position的值是absolution或fixed

如果position的值是absolution或fixed,框就是绝对定位的,float计算后的值应该是none,并且,display会被按照表设置,框的位置将有top、right、bottom和left属性和该框的包含确定。

‘float‘ 的值不是 "none"

如果 ‘float‘ 的值不是 "none",该框浮动并且 ‘display‘ 会被按照转换对应表设置。

元素是根元素

如果元素是根元素,‘display‘ 的值按照转换对应表设置。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>position的理解</title>
</head>
<style type="text/css">
#box,#box1,#box2{width:300px;border:2px solid black;text-align: center;color:#fff;}
#A,#A1,#A2{ background-color:red;height:50px;}
#B,#B1,#B2{background-color:green;height:50px;}
#C,#C1,#C2{background-color:blue;height:50px;}
#box{
/*默认*/
position:relative;
top:20px;
left:20px;
}
#A{
position: absolute;
top:20px;
left:20px;
width: 100%;
/* z-index: 15;*/
}

#B{
position: absolute;
width: 80%;
float: left;
/*z-index: 15;*/
}

#C{
position: absolute;
width: 100%;

}

#box1{
/*默认*/
position:static;
margin: auto;
display: none;
}
#A1{}
#B1{}
#C1{}

#box2{
/*默认*/
position:static;
float:right;
display: none;
}
#A2{}
#B2{}
#C2{}

</style>
<body>
<div id="box">
<div id="A" >A</div>
<div id="B" >B</div>
<div id="C" >C</div>
</div>

<div id="box1">
<div id="A1" >A1</div>
<div id="B1" >B1</div>
<div id="C1" >C1</div>
</div>

<div id="box2">
<div id="A2" >A2</div>
<div id="B2" >B2</div>
<div id="C2" >C2</div>
</div>
</body>
</html>

时间: 2024-10-12 19:05:05

三种定位体系简介的相关文章

层叠 比较级 三种定位

1.层叠的含义:需要了解层叠还有个声明冲突:声明冲突就是属性相同值却不同:而层叠就是来解决的.那么我们就来看看这些冲突是怎么解决的吧.2.层叠的过程: 2.1比较优先级 每一个声明都有一个优先级,当发生冲突时,优先级高的会被保留,优先级低的会淘汰,一个声明的优先级与他的来源和重要性有关. 若属性后面跟上[!important],则表示一条重要声明,否则表示普通声明. 优先级从低到高的顺序如下:(1)浏览器默认样式表中的声明:(2)用户样式表中的普通声明:(3)作者样式表中的普通声明:(4)作者样

CSS的三种定位方式介绍(转载)

在CSS中一共有N种定位方式,其中,static ,relative,absolute三种方式是最基本最常用的三种定位方式.他们的基 本介绍如下. static默认定位方式relative相对定位,相对于原来的位置,但是原来的位置仍然保留absolute定位,相对于最近的非标准刘定位,原来的位置消失,被后边的位置所顶替 下面先演示相对定位的案例 [html] view plain copyprint? <!DOCTYPE html> <html> <head> <

【css笔记】css中的盒模型和三种定位机制(固定定位,绝对定位,浮动)

html页面上的元素都可以看成是框组成的,框通过三种定位机制排列在一起就过程了我们看到的页面.而框就是盒模型. 盒模型 1.页面上的每个元素可以看成一个矩形框,每个框由元素的内容,内边距,边框和外边距组成. 2.如果在元素上添加背景,则背景是边框, 内边距和内容组成的区域. 3.在css中width和height指的是内容区域的宽度和高度.增加内边距,边框和外边距不会影响内容区域的尺寸,但会增加元素框的总尺寸.即width=element 注意:ie的盒模型中,width指的是内容,内边距,和边

52 标签的影藏,盒子阴影,三种定位,js导入和语法

标签的隐藏 display: none; 不以任何方式显示,在页面中不占位,但重新显示,仍然占位 opacity:0.5; 修改盒子的透明度,值为0,完全透明,但在页面中占位 盒子的阴影 box-shadow: 150px 0 10px 0 red, 0 150px 10px 0 green; x轴偏移 y轴偏移 虚化程度 阴影宽度 颜色 盒子的三种定位固定定位 当前页面窗口的宽高(锁屏幕尺寸变化而变化):vw vh 一旦打开定位属性,left.right.top.bottom四个方位词均能参与

css中三种定位详细介绍

在前台进行页面位置编辑时,时常碰到页面部分标签位置错乱,因此研究了一下通过css进行定位标签的方法. 定位方式:是指如何确定某个标签在页面中的位置. 1.固定定位:始终相对于浏览器窗口进行定位 1 <html> 2 <head> 3 <title>定位方式-固定定位</title> 4 <meta charset="utf-8"> 5 <style type="text/css"> 6 body

android 三种定位方式

一共有三种定位方式,一种是GPS,一种是通过网络的方式,一种则是在基于基站的方式,但是,不管哪种方式,都需要开启网络或者GPS 首先添加权限 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 在C

Apache三种MPM模型简介及应用

MPM是apache的多道处理模块,用于定义apache对客户端请求的处理方式.在linux中apache常用的三种MPM模型分别是prefork.worker和event. prefork: 预先生成进程,一个请求用一个进程响应.Apache2.2版本默认使用prefork模型.优点:稳定可靠.执行效率高,任何一个进程的崩溃不会影响其它请求.缺点:在大并发的时候对服务器资源消耗严重. worker: 基于线程的处理方式,一个进程生成多个线程,一个请求用一个线程响应.由于使用线程访问,多个线程共

Spring随笔 —— IOC配置的三种不同方式简介

在spring framework中,IOC的配置是最基础的部分,常见的配置方式有基于xml文件和基于注解的配置方式.除了这两种配置方式之外,今天这里再介绍另一种配置方式,先用小demo重温下我们熟悉的两种配置方式. UserService调用UserDao中的login(String username, String password)方法. 一.基于XML配置文件的方式 UserDao.java 1 package org.lizf.demo; 2 3 public class UserDa

VMware网络配置 - 三种网络模式简介

安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下,单击Edit virtual machine settings,如图所示: 然后在Hardware选项卡中选择Ethernet,在左边Network connection框架中有如下四个单选项: 1. Bridged(桥接模式) 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的