CSS中常用的position定位几种方式

  • 时间:2018-11-14 23:19 作者:源码时代 来源:源码时代 阅读:359
  • 扫一扫,手机访问
摘要:对于刚学习了常用的CSS,你是不是在使用少量属性的时候,是不是总感觉不是那么的得心应手呢?尤其是在使用position定位的时候,呵呵...那么源码时代Web前台老师今天就给大家分析一下position常用的几种定位方式。大家都知道,在CSS中,我们是通过定位属性position来进行定位的,具体它

对于刚学习了常用的CSS,你是不是在使用少量属性的时候,是不是总感觉不是那么的得心应手呢?尤其是在使用position定位的时候,呵呵...那么源码时代Web前台老师今天就给大家分析一下position常用的几种定位方式。

大家都知道,在CSS中,我们是通过定位属性position来进行定位的,具体它有如下几个属性值。我们先来做一个大概的理解,而后我们开始具体分析它们有哪些不同。

常见的属性有如下几个:

形容
absolute生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative生成相对定位的元素,相对于其正常位置进行定位。因而,"left:20" 会向元素的 LEFT 位置增加 20 像素。
static默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者者 z-index 公告)。
inherit规定应该从父元素继承 position 属性的值。

以上是官方说明:是不是还是有很多童鞋有点儿懵呀!没关系!我会带着大家来分析它。

首先,我们这里用的是标准盒子模型来讲,所以大家在理的时候必须把它看成一个盒子或者者一个框。我们先来学习第一个默认参数static。

static:静态定位是position的默认值,元素框正常生成,也就是没有定位时的正常显示。

absolute:绝对定位

元素从文档流删除,并相对于包含块定位。元素在本来的空间关闭。元素定位后生成一个块级框,不管它原来是行内元素还是块级元素。

这里的包含块是指:最近的position值不是static的祖先元素(块级或者行内),一般会指定一个元素作为绝对定位元素的包含块,将其position设置为relative而且没有偏移。这个是不是有点儿像我们传说的”子绝父相”定位的概念呀,对其实就是指的是它。

fixed:固定定位

元素脱离文本流,从普通文本中删除,并相对于浏览器视窗定位,因而不随文档滚动而移动。元素在本来的空间关闭。元素定位后生成一个块级框,不管它原来是行内元素还是块级元素。与绝对定位的区别仅仅是包含块不同。

包含块:浏览器视窗。

relative:相对定位

相对定位,最常见的使用方式有如下两种:

使用方法一:元素相对自身的原位置偏移某个距离,但是本来的空间仍旧保留,体现为空白。

使用方法二:把一个元素设置为position: relative; 可以使该元素的子元素相对该元素绝对定位(子绝父相定位)。

absolute/fixed和float比照

相同之处:元素都会脱离文本流,从普通文本中删除,但是仍旧会影响布局;都会生成一个块级框,无论原来是不是块级元素。

不同之处:float的包含块是最近的块级祖先元素。

设置偏移属性:top/right/bottom/left,初始值是auto。

采用position定位之后必需采用偏移属性定义偏移量,也就是相对包含块的偏移。在使用的时候需要注意的是:定义偏移量的元素应为position值不是static的元素。

有时也需要定义width和heigth,但是可能会和偏移属性的定义冲突,由于四个偏移属性实际上已经定义了元素的大小。此时,根据width和left属性定义左右,根据top和height属性定义上下。

往往还会出现这样的一种情况:譬如说:当我们做好了一个指定大小的元素时,假如我们内容放不下,就会导致文本内容溢出,所以我们在这里还是得理解一下,CSS中的别一个属性。那就内容溢出:overflow.

通常内容溢出属性有如下几个值:

overflow: visible/ hidden/ scroll /auto/ inherit

overflow初始值是visible。

overflow就是咱们常用在:假如一个元素的大小固定,但是其内容放不下,就会导致溢出。overflow控制溢出部分的可见(visible)、不可见(hidden)、滚动可见(scroll)。

元素可见性visibility: visible/ hidden/ collapse/ inherit,初始值是visible。

visibility:hidden和display:none的区别:

这时候,你是不是会想到我们的另一个隐藏或者显示的属性:display。通常的我们常用于少量特效中来显示或者隐藏我们的元素,那么我们只是能用这个还不够,我们必须对它们两个做一次深入理解。

下面给出了:visbility:hidden和display:none最显著的不同处。

1.visibility:hidden设置元素不可见,但是元素仍旧会影响布局,只是元素部分呈现为空白;

2.display:none元素不显示并且从文档流中删除,对文档布局没有任何影响。

总结:

本文中只提及到几个使用频率比较高的属性值,我们主要在学习的时候肯定要找准每个值的参照物,不然的话,对于初学者,了解起来还是比较麻烦的。常常会用错属性值,而后花费大部分时间来调试,那么问题就来了,假如对每个小的知识点有足够的了解的话,是不是在开发中就倍感得心应手哇!所以特别写了本篇文章分享给大家!并且希望还在水深火热中的你有所帮助。

感谢源码时代Web前台学科讲师提供此文章!

本文为原创文章,转载请注明出处(http://www.itsource.cn)!

  • 全部评论(0)
最新发布的资讯信息
【系统环境|windows】百度网盘如何加入群组(2021-03-01 21:29)
【系统环境|windows】Axios 取消重复请求(2020-11-08 07:00)
【系统环境|windows】熬了一晚上,小白用Python写了一个股票提示系统(2020-11-08 07:00)
【系统环境|windows】2020要想成为一名专业的web前台开发程序员,需要学习什么?(2020-11-08 06:35)
【系统环境|windows】前台面试每日 3+1 —— 第546天(2020-11-08 06:34)
【系统环境|windows】聊聊前台工程师的职业发展 (纯干货)(2020-11-08 06:34)
【系统环境|windows】浅谈OAuth 2.0基本原理(2020-11-08 06:34)
【系统环境|windows】程序员初入职场避坑指南(2020-11-08 06:34)
【系统环境|windows】python的绘图利器--海龟绘图turtle(2020-11-08 06:33)
【系统环境|windows】pyinstaller打包结果瘦身(2020-11-08 06:33)
血鸟云
手机二维码手机访问领取大礼包
返回顶部