position定位——让人又爱又恨的属性

关于css中的position这个属性,在使用的时候,有时很强大,有时又让人很无奈。

强大的时候,对于div中的一些小物件不方便使用margin或者padding的时候,给与position:absolute;再配备left、right、top和bottom,基本上就是想放哪里放哪里了。

让人无奈的时候,就是我们一旦滥用了position这个定位属性,就会让自己的布局飞的满天是,又因为z-index没有设定好,基本上,整体的布局就会让你手足无措,找原因的话,又非常麻烦,最后,恐怕只能推倒重做了。

所以,对待position这个属性,我们要详细的了解到它运行的原理,以及应用的场景,这样,我们才可以在想用的时候完美的驱使它来完成我们想要的效果。

废话不多说,直接上步骤,先说position的概念吧

position,我们百度一下,就知道这个单词的意思是方位,在css中,就是定位的意思,属性名字是 position,属性值有五个,分别是 static(默认定位)、absolute(绝对定位)、relative(相对定位)、fixed(固定定位)、inherit(继承定位,不常用)

书写规则:

position:static|absolute|relative|fixed|inherit

每个属性值都介绍一下吧

   1、position:static(默认定位)

顾名思义,就是我们平常书写的时候,每个div在文档流中默认的排版,就是static属性值,它不会让div或者其他元素脱离文档流,而是遵循排版的原则,从上到下,块级元素换行,行内元素不换行等等通用原则,所以,如果不用定位属性,那么这个position就不用设置。

      2、position:relative(相对定位)

相对定位,就是相对于自己本身进行定为移动,它不会脱离文档流,也就是说,我给一个元素设定了这个属性,那么这个文件还会在这个文档流中来回移动,至于怎么移动,下面再讲。

      3、position:absolute(绝对定位)

跟相对定位不同,它是相对于拥有相对定位属性父元素进行定位移动,它会脱离文档流。

如果父元素中的所有子元素都设置了absolute,那么所有的子元素都会浮起来,然后堆叠到一块儿,所以为了把各个元素摊开显示,我们需要移动这些元素,而移动这些元素的方法,就是直接是style样式表中书写:left、right、top、bottom四个属性,然后在属性的后面写上px(像素)、%(百分比)等可以表示距离的单位。

  在这里,我们要特别强调,left和right不能同时使用,top和bottom不能同时使用。

  并且,这四个元素,都是相对于拥有相对定位(relative)属性的父元素进行移动的。如果父元素没有相对定位,那么绝对定位就是相对于body进行定位的。

  所以,为了不让自己设置的元素跑飞了,那就记得给父元素设置relative吧。

  4、fixed(固定定位)

  这个定位是相对于浏览器窗口进行的定位,移动方法跟相对和绝对定位一样的。

  它也会脱离文案流,我们常见的侧边栏或者广告图就是用这个功能实现的。很实用,很强大的功能。

  5、inherit(继承定位),就是从父元素继承position定位属性,不怎么常用。

  讲到这里,我们就涉及到一个z-index (层级)的问题。刚才我们讲过,如果给子元素全部设置了absolute,那么所有的子元素就会堆叠在一起,互相遮盖。

  如果我们需要在一个元素上堆叠好多层,那怎么给它们排序呢。这就需要用到z-index属性了。

  z-index属性的属性值是数字。数字越大,那么它就显示的最考上,比如说吧,

  z-index=0 的元素就会再 z-index=1的下面显示,z-index=10会再z-index=8上面显示,所以,堆叠它们的显示顺序,设置z-index就可以了。

  当然,如果不设置z-index的话,默认的,后面的元素会遮盖前面的元素。

  使用时需注意的问题:

  1、float属性不可以和position属性共用,切记!

  2、使用absolute时记得给父元素加relative

  3、除了用left和top外,还有right和bottom,活学活用

  4、能不用position就不用position,毕竟容易把布局搞乱

  5、Javascript中调用position的方法是:div.style.positio=”absolute”类似 div是变量名

  上面只是简单的讲了一下position的基本东西,如果你在这里面没有了解到你想要的答案,你可以在下面给我留言,我会积极回复的。

  最后,积极交流,共同进步!

时间: 2024-10-06 04:51:23

position定位——让人又爱又恨的属性的相关文章

Java让人又爱又恨的“高端行业”

--动力节点java Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于个人PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群.在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景. 在计算机应用以及遍及生活各个角落的时代,Java语言已经是使用最广泛的服务器端语言,覆盖到了关系国计民生的各个行业领域,如电信.银行.互联网等,这些行业的企业都在使用基于

为什么95后、00后这批消费者会让美业人又爱又恨?

刚刚摸清90后的消费喜好,95后.00后已经成为消费主体. 还没赚钱就已经很会花钱,95.00后的消费观让人头疼.这代人的出生伴随着数字化互联网的发展,比任何一代都熟悉电子产品和互联网的使用,使得他们的消费习惯和消费特征有了明确的变化.就连美容美发市场,95后,00后已经成为市场消费主力,如何吸引这部分高质量的消费者呢,那首先要对他们有深刻的了解. 近日,美媒发起一项针对年轻人的调查发现,中国的"Z一代"的年轻人的人生态度和生活方式明显与众不同.这些孩子生于2 0世纪90年代.21世纪

让人又爱又恨的char(字符型)

今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据类型 然后,就是字符型变量 字符型变量的重点是将一个字符存入字符变量中,实际上存入的不是这个字符的形,而是这个字符的ASCII码 输入:getchar(); 输出:putchar(); getchar和scanf的区别在于他可以输入空格 字符型常量: 1.普通 'a' 2.转义 1.‘\t’ 斜杠+

让人又爱又恨的this

this是个神奇的东西, 既可以帮助我们把模拟的类实例化. 又可以在事件绑定里准确指向触发元素. 还可以帮助我们在对象方法中操作对象的其他属性或方法. 甚至可以在使用apply.call.bing.filter等方法时指向我们指定的对象,以便灵活的使用. 但是如此强力的东西,势必有时难以把握,今天遇到一问题,出了错,重新温故下常见的this指向问题. 要说灵活无比的this的指向,很有必要先知道一个知识点,JavaScript中有四种调用模式. this的指向很大程度收调用模式的影响,具体如下

喜欢计算机的孩子们啊,欲望,将会是你又爱又恨的东西

我小学二年级接触数学竞赛,四五年级接触计算机竞赛,现在计算机系大三,关键这条路还是我自己选的,你肯定就知道我对数学和计算机感情多深了. 小学数学风生水起,到中学勉强双一保送,再到如今大学生活平平,身边人大都见证了我的颓废,而我自己觉得呢?颓废是颓废,可更准确地说,其实是迷茫. 数学好玩,我小时候一直这么觉得:数学没意思,计算机好玩,这是我中学的想法:如今,我觉得它们都好玩,只可惜自己走了弯路. 于是,愚蠢的我在奋斗的路上手忙脚乱.但正因我忙,我更想挤出时间把自己走的弯路记录下来,但愿后人别走我的

匹马行天下——没有无缘无故的爱和恨,没有无缘无故的编程

没有无缘无故的爱和恨,没有无缘无故的编程 前言: 想这世间,没有无缘无故的爱,也没有无缘无故的恨,一切都有有原因的,我想编程亦是如此,技术时常更新,程序员时常学习,随着时间的推移,程序员发际线的增高,生活无处不编程,未来必将是编程的天下,大势所趋,人工智能的时代已经到来,程序员还会少吗?敢问路在何方,路在脚下,人人心中的压力都是来自于自己不努力不积极而又不甘于现状,少给自己找借口,多给自己找方法,幸运女神不是人人都能遇到的,还是正确面对现实,我命由我不由天,人生赢在转折处,改变从现在开始. 一览

又爱又恨系列之枚举enum

其实枚举挺简单的,只不过以前没好好学,所以不知道这个东西,恩,现在梳理一下 整体而言,首先枚举是一个数据类型,这个数据类型和结构体有点像 可以分为三个层次 1.枚举数据类型定义 第一种:enum 枚举名 { 枚举元素 1, 枚举元素 2, ......, ...... } eg: enum week{Sun,Mon,Tue,Wed,Thu,Fri,Sat}; 2.枚举变量的定义 主要有两种方式 方式一:根据1中定义的数据类型定义枚举变量 enum week Workday,Holiday; 方式

position定位的解析与理解

每当我们在制作页面布局的时候总会遇到各种各样的让元素进行移动的时候,我们要不就是用margin属性来使元素进行移动,要不就是用position定位来进行,下面我就说下position定位的使用以及注意事项. 我们常用的position它有4种值,分别是  static    relative     absolute     fixed. static它是position的默认值: 给代码添加和不添加没有任何的不同,它是没有任何定位于效果的,也不会脱离文档流. relative是position

元素重叠及position定位的z-index顺序

多次在项目中遇到html页面元素的非期待重叠错误,多数还是position定位情况下z-index的问题.其实每次解决类似问题思路大致都是一样的,说到底还是对z-index的理解比较模糊,可以解决问题却不大了解其原因,导致重复出错......于是决定把重叠问题弄清下,把z-index理顺下. 经过一番查找对比实践理解,下面就从元素重叠的背景常识及可能原因说起,浅谈下position定位元素的z-index顺序.总结下我目前的理解,希望也能对遇到过类似问题有同样疑惑的你有一点帮助或启发. 元素位置