css_position的相关用法

简介

position用于固定位置,是尤为重要的一个属性

其值可以为:

  • static: 默认值,忽略top, bottom, left, right 或者 z-index 声明
  • relative: 相对于该父级区域以及上一个子集区域的定位,用top, bottom, left, right来设定,可以使用Z-index
  • absobute: 相对于该父级区域的位置【左上角】的定位,用top, bottom, left, right来设定,可以使用z-index
  • fixed: 相对于浏览器的定位,忽略父级位置等的其他位置,可以使用Z-index
  • inherit: 继承父级position的属性

具体

 1 <style type="text/css">
 2 div
 3 {
 4 position:100px 100px;
 5 width:100px;
 6 height:100px;
 7 border:5px solid black;
 8 }
 9 div.pos_left
10 {
11 position:relative;
12 left:-20px;
13 border:5px solid green;
14 }
15 div.pos_right
16 {
17 position:relative;
18 left:20px;
19 border:5px solid green;
20 }
21 div.pos_ab
22 {
23 position:absolute;
24 left:30px;
25 top:50px;
26 border:5px solid blue;
27 }
28 div.main
29 {
30 position:absolute;
31 left:100px;
32 top:50px;
33 width:200px;
34 height:300px;
35 border:5px solid red;
36 }
37 div.pos_fix
38 {
39 position:fixed;
40 left:10px;
41 top:0px;
42 clip:rect(0px 50px 200px 0px);
43 }
44 </style>
45 </head>
46
47 <body>
48 <div class="main">
49     <div>1.normal</div>
50     <div class="pos_left">2.re-left:-20px</div>
51     <div class="pos_right">3.re-left:20px</div>
52     <div class="pos_ab">4.ab-(left:30px,top:50px)</div>
53     <div class="pos_right">5.re-left:20px</div>
54     <div class="pos_fix">6.fix-(left:30px,top:50px)</div>
55 </div>

其中:

  • 【2】,【3】,【5】 为relative

当设定position: relative

则参照父级中上一个子元素的内容区的左上角为原始点结合TRBL属性进行定位。无父级则以BODY的左上角为原始点

——必须注意的是,相对与上个子元素的左上角,并非图片上2对3显示的左上角而言,而是,若【2】为static,不进行TRBL变换位置时候的左上角。

——即,relative的元素其即使进行TRBL变换,但是占有的区间还是原本的区间,因此会对其他元素覆盖。

较明显的显示:

将图中【2】:

position:relative;
left:-20px;
top:-50px;

则:

图中包含【2】与【3】上下空白区域的一个区域为【2】真正占有的空间

  • 【4】为absolute

当设定position: relative

则参照父级中左上角为原始点结合TRBL属性进行定位。无父级则以浏览器的左上角为原始点

同时我们由relative属性的【5】看出 —— 【5】是相对【3】的空间而言的

—— absolute相当于直接覆盖而不占有真正的空间

  • 【4】为absolute

当设定position: relative —— 则以浏览器的左上角为原始点

此外

  • 只有当设定TRBL属性(TOP、RIGHT、BOTTOM、LEFT)时,relative,absolute,fixed才有效,不然将遵从正常的HTML布局规则,在前一个对象之后立即被呈递。
  • 页面居中显示时一般不用absolute,因为放缩时,absolute会以浏览器的左上角为顶点,当然也可将其固定在一个父级区域中,固定宽度来解决
  • 【6】中所用到的 clip:rect(0px 50px 200px 0px); 可以对区域进行裁剪
  • z-index,可设置层数,高数值的元素总是会处于低数值元素的上面【只有position属性值为absolute、relative或fixed时才有效】
时间: 2024-12-19 17:37:32

css_position的相关用法的相关文章

Js相关用法个人总结

Js相关用法个人总结  js中将数组元素添加到对象中var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<pushArr.length;i++) { obj[i] = pushArr[i]; } obj.length = pushArr.length; console.log(obj); //{0:11,1:22,2:33,3:44,4:55,5:66,length:6} 在js中为对象添加属性和方法 var obj = {

STL中的Vector相关用法

STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int>是一种数据类型. Vector的存储空间是连续的,list不是连续存储的. 1. 定义和初始化 vector< typeName > v1; //默认v1为空,故下面的赋值是错误的v1[0]=5;//v2是v1的一个副本,若v1.size()>v2.size()则赋值后v2.size()被

MyEclipse相关用法介绍

MyEclipse相关用法介绍 ================================================================================ 编辑: Ctrl+Shift+L      显示所有快捷键 Ctrl+K        参照选中的词(Word)快速定位到下一个 Ctrl+Shift+K      参照选中的词(Word)快速定位到上一个 Ctrl+O         快速显示OutLine Ctrl+T        快速显示当前类的

#ifdef预编译相关用法

#ifdef预编译相关用法主要有:(1)#ifdef XXX executing the corresponding xxx code #endif(2)#ifdef XXX executing the corresponding xxx code #else executing the other code(3)#ifdef XXX executing the corresponding xxx code #elifdef YYY executing the corresponding yyy

Java中Date各种相关用法

Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 注:在使用set方法之前,必须

Python中的Scrapy 命令相关用法

Python语言中Scrapy 命令是非常重要的一个命令,今天和大家分享的就是Scrapy 命令的相关用法.Scrapy 命令分为两种: 全局命令和项目命令,具体的用法,一起来看看吧 . 全局命令:在哪里都能使用. 项目命令:必须在爬虫项目里面才能使用. 全局命令 C:\\Users\\AOBO>scrapy -h Scrapy 1.2.1 - no active project Usage: scrapy[options] [args] Available commands: bench Ru

Nodejs学习之net模块相关用法详解

net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socket).也就是说,做node服务端编程,net基本是绕不开的一个模块.本文就和大家详细扒一扒Nodejs的net相关用法,希望对大家学习Nodejs 有所帮助吧.  从组成来看,net模块主要包含两部分,了解socket编程的同学应该比较熟悉了:  · net.Server:TCP server,内部

《C++ Primer》学习 之 函数指针相关用法

/* 函数指针相关用法*/ 1 #define _CRT_SECURE_NO_WARNINGS 2 #define HOME 3 //#define NDEBUG 4 #include <iostream> 5 #include <stdexcept> 6 #include <cassert> 7 #include <ctype.h> 8 #include <locale> 9 #include <iterator> 10 #incl

oradmin相关用法

[转]oradmin相关用法 创建例程: -NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒] 编辑例程: -EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名] [-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst