1、absolute(绝对定位)

absolute是生成觉对定位的元素,脱离了文本流(即在文档中已经不占据位置),参照浏览器的左上角通过top,right,bottom,left(简称TRBL) 定位。可以选取具有定位的父级对象(下文将说到relative与absolute的结合使用)或者body坐标原点进行定位,也可以通过z-index进行层次分级。absolute在没有设定TRBL值时是根据父级对象的坐标作为始点的,当设定TRBL值后则根据浏览器的左上角作为原始点。具体案例如下:

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>position:absolute定位</title>

<style type="text/css">

html,body,div{

margin:0;

padding:0;

list-style:none;

}

.center{

margin:30px;

border:#999999 solid 10px;

width:400px;

height:300px;

}

.div1{

width:200px;

height:200px;

background:#0099FF;

/*设定TRBL*/

position:absolute;

left:0px;

top:0px;

}

.div2{

width:400px;

height:300px;

font-size:30px;

font-weight:bold;

color:#fff;

background:#FF0000;

}

</style>

</head>

<body>

<div class="center">

<div class="div1"></div>

<div class="div2">position:absolute定位测试</div>

</div>

</body>

</html>

这段代码产生的效果如下:

这是设定TRBL之后的效果(设置TRBL以浏览器左上角为原点),当没有设置TRBL时(没有设置TRBL是以父级对象的坐标为原点),即将div1改成如下代码时

.div1{

width:200px;

height:200px;

background:#0099FF;

/*没有设定TRBL*/

position:absolute;

}

则效果如下:

2、relative(相对定位)

relative是相对的意思,顾名思义就是相对于元素本身在文档中应该出现的位置来移动这个元素,可以通过TRBL来移动元素的位置,实际上该元素依然占据文档中原有的位置,只是视觉上相对原来的位置有移动。具体案例如下:

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>position:relative定位</title>

<style type="text/css">

html,body,div{

margin:0;

padding:0;

list-style:none;

}

.center{

margin:30px;

border:#999999 solid 10px;

width:400px;

height:300px;

background:#FFFF00;

}

.div1{

width:200px;

height:150px;

background:#0099FF;

position:relative;

top:-20px;

left:0px;

}

.div2{

width:400px;

height:150px;

font-size:30px;

font-weight:bold;

color:#fff;

background:#FF0000;

}

</style>

</head>

<body>

<div class="center">

<div class="div1"></div>

<div class="div2">position:relative定位测试</div>

</div>

</body>

</html>

代码产生的效果如下:

3、relative与absolute的结合使用

在网页设计时经常会用到浮动来对页面进行布局,但是浮动所带来的不确定因素却很多(例如:IE浏览器的兼容问题)。相对来说,在有些布局中定位使用会更加简单、快捷、兼容性更好(relative与absolute相结合来使用),下面通过网页中的一个实例(网页中的head部分)进行说明,具体代码如下:

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style type="text/css">

html,body,div,ul,li,a{

margin:0;

padding:0;

list-style:none;

}

a, a:hover{

color:#000;

border:0;

text-decoration:none;

}

#warp,#head,#main,#foot

{

width: 962px;

}

/*设置居中*/

#warp{

margin: 0 auto;

}

#head{

height:132px;

position:relative;

}

.logo{

position:absolute;

top:17px;

}

.head_pic{

position:absolute;

top:17px;

left:420px;

}

.sc{

position:absolute;

right:5px;

top:12px;

}

.sc a{

padding-left:20px;

color:#666;

}

.nav{

width:960px;

height:42px;

line-height:42px;

position:absolute;

bottom:0px;

background:url(img/nav_bj.jpg) no-repeat center;

}

.nav ul{

float:left;

padding:0 10px;

}

.nav li{

float:left;

background:url(img/li_bj.jpg) no-repeat right center;

padding-right:40px;

padding-left:20px;

text-align:center;

display:inline;

}

.nav li a{

font-size:14px;

font-family:Microsoft YaHei !important;

white-space:nowrap;

}

.nav li a:hover{

color:#FBECB7;

}

</style>

<title></title>

</head>

<body>

<div id="warp">

<div id="head">

<div class="logo"><img src="img/logo.jpg" /></div>

<div class="head_pic"><img src="img/head_pic.jpg" /></div>

<div class="sc">

<a href=""><img src="img/sc_btn.jpg" /></a>

<a href=""><img src="img/sy_btn.jpg" /></a>

<a href=""><img src="img/kf_btn.jpg" /></a>

</div>

<div class="nav">

<ul>

<li><a href="">首页</a></li>

<li><a href="">关于我们</a></li>

<li><a href="">团队文化</a></li>

<li><a href="">公司动态</a></li>

<li><a href="">资讯参考</a></li>

<li><a href="">业务中心</a></li>

<li><a href="">合作银行</a></li>

<li><a href="">联系我们</a></li>

</ul>

</div>

</div>

<div id="main"></div>

<div id="foot"></div>

</div>

</body>

</html>

在上述代码中首先是给head设置relative定位,那么可以看到里面所有的子元素在设置absolute后都会相对head进行定位,而不是相对body定位。这样相对于用浮动来说就简单方便了很多,也不需要担心兼容问题。

*文章不是原创,原创地址忘记了,有人知道的话可以帮忙把原创地址贴到评论里面。

css position 应用(absolute和relative用法)的更多相关文章

  1. 怕忘记了CSS中position的absolute和relative用法

    CSS2.0中的定位确实有时会把人弄糊涂,所以今天给它记下来,同时供以后查阅.下面写的内容有一部分借鉴了w3cschool和divcss5这两个官方网站,在此处特别的说明一下 CSS2.0中posit ...

  2. CSS中position的absolute和relative用法

    static: HTML元素的默认定位方式 absolute: 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位.而其层叠通过z-index属性定义.绝对定位的元 ...

  3. css position static | absolute | fixed | relative

    <div id="bigbox1">    <div id="box1" class="box">box1</ ...

  4. CSS position属性---absolute与relative

    详情请点击此链接 http://www.cnblogs.com/polk6/archive/2013/07/26/3214847.html

  5. CSS position属性absolute relative等五个值的解释

    DIV CSS position绝对定位absolute relative教程篇 常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:abs ...

  6. CSS position绝对定位absolute relative

    常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:absolute和position:relative实现. 一.position语法与结 ...

  7. CSS中应用position的absolute和relative的属性制作浮动层

    我的浮动层结构大概如下: <div id="father"> <div id="son"> </div> </div& ...

  8. position属性absolute与relative 详解

    最近一直在研究javascript脚本,熟悉DOM中CSS样式的各种定位属性,以前对这个属性不太了解,从网上找到两篇文章感觉讲得很透彻,收藏下来,唯恐忘记.一.解读absolute与relative ...

  9. position属性absolute和relative理解

    relative:相对于自身静态位置进行定位,不脱离流. absolute:绝对定位,脱离流,如果父元素定义了position属性,无论是absolute.relative还是fixed,都是相对于父 ...

随机推荐

  1. (转)QT常用快捷键

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  2. WINFORM的DataGridView使用点滴

    1.如果有超过一屏的数据,想通过关键字查找到相关记录,然后再定位之,做法如下:遍历所有行,把某单元格的值和关键字对比,找到后清除所有选择行,然后把当前行设为选择,然后把grid的CurrentCell ...

  3. c++builder向c#开发的webservice传递非数字参数

    一.引用WebService地址 BCB6.0环境下,File-New-Other-WebService-WSDL Importer.然后手动写完整地址.如:“http://192.168.1.3:1 ...

  4. windows8.1 下搭建配置apache+php+mysql

    软件版本: apache:Apache 2.4.10 Win64    http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.10- ...

  5. WEB编码事项

    标准 WEB开发标准是一系列标准的集合, 包含HTML结构标准.CSS表现标准.JS行为标准.代码标准.标准测试. 目标 WEB开发流程统一标准化,实现页面结构.表现.行为适当分离,提高页面易维护性, ...

  6. CSS实现table td中文字的省略与显示

    所谓省略就是把多余的字以“...”显示出来,而显示则是当鼠标移动到td上时,把省略的字重新显示出来.对于一个table,兼容IE与FF.Chrome的省略方式CSS写法: table{ width:2 ...

  7. IOS--UIPageControl的使用方法详细

    IOS--UIPageControl的使用方法详细   // UIPageControl的常用方法 UIPageControl *onePageControl = [[UIPageControl al ...

  8. 浅谈多核CPU、多线程、多进程

    1.CPU发展趋势 核心数目依旧会越来越多,依据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的桌面PC有望在2017年末2018年初达到24核心(或者16核32线程),我们如何来面对这突如其 ...

  9. .net Web.Config配置文件 转

    .net Web.Config配置文件 博客分类: .net   .net Web.Config配置文件 一.配置信息 <?xml version="1.0" encodin ...

  10. C++ 通过Thunk在WNDPROC中访问this指针

    本文基本只讨论原理,具体实现请参见后续文章<C++ 通过Thunk在WNDPROC中访问this指针实现细节> 当注册窗口类时,WNDCLASSEX结构的lpfnWndProc成员应设置为 ...