热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

css布局定位(position)

定位:将盒子定在某一个位置,所以定位也是在摆盒子,按照定位的方式移动盒子。定位定位模式变偏移(通过top、bottom、left、right设置

定位:将盒子定在某一个位置,所以定位也是在摆盒子,按照定位的方式移动盒子。
定位 = 定位模式 + 变偏移(通过top、bottom、left 、right设置)
定位模式用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置。
一、静态定位(static)


  1. HTML 元素默认情况下的定位方式为 static(静态)
  2. 静态定位的元素不受 top、bottom、left 和 right
  3. 属性的影响 始终根据页面的正常流进行定位
  4. 示例1:

// html 部分代码

11
22
33
44

// css部分代码.border2 div{border: 1px solid saddlebrown;background-color: antiquewhite;height: 50px;width: 50px;text-align: center;line-height: 50px;}

效果图:
静态定位

二、相对定位(relative)


  1. 设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。(参考位置为自身未定位时的位置)
  2. 不会对其余内容进行调整来适应元素留下的任何空间。(不影响其它元素)
  3. 示例2: 在示例1的基础下添加代码,使第一个div相对定位

.border2 div:first-child{position: relative;left: 30px;top:10px;}

相对定位

三、固定定位(fixed)


  1. 适用固定定位的元素是相对于视口定位的(即使滚动页面,它也始终位于同一位置)
  2. top、right、bottom 和 left 属性用于定位此元素。
  3. 示例3:

// html 部分代码

固定div
滚动区域

// css部分代码.divbox div:nth-child(1){border: 1px solid red;background-color: aquamarine;position: fixed;width: 100px;height:100px;right: 10px;bottom: 100px;}.divbox div:nth-child(2){border: 1px solid red;background-color: gold;height: 100vh;width: 100%;}

固定定位

四、绝对定位(absolute)


  1. position: absolute; 的元素相对于最近的定位祖先元素进行定位
  2. 如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。
  3. 绝对定位后,定位元素不占空间(正常流中忽略绝对定位元素)
  4. 示例4:在示例2的基础上添加代码,让第三个div绝对定位

.border2 div:nth-child(3){position: absolute;left: 30px;top:10px;}

绝对定位

五、粘性定位(sticky)


  1. position: sticky; 的元素根据用户的滚动位置进行定位。

  2. 起先它会被相对定位,直到在视口中遇到给定的偏移位置为止 - 然后将其“粘贴”在适当的位置(比如 position:fixed)。

  3. Internet Explorer、Edge 15 以及更早的版本不支持粘性定位。 Safari 需要 -webkit- 前缀(请参见下面的实例)。您还必须至少指定 top、right、bottom 或 left 之一,以便粘性定位起作用。

  4. 示例4:

    div.sticky {position: -webkit-sticky; /* Safari */position: sticky;top: 0;background-color: green;border: 2px solid #4CAF50;}

在此例中,在到达其滚动位置时,sticky 元素将停留在页面顶部(top: 0)。
五、定位属性(top、bottom、left 和 right)的使用
一般情况下同一个元素使用top或bottom、left或right
六、定位属性z-index 的使用


  1. 元素定位导致,元素与元素重叠,可使用z-index改变重叠顺序
  2. z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
  3. 取值范围(-2147483584 ~ 2147483584 )参考 CSS: z-index 取值范围
    七、定位属性clip 使用
    clip 属性剪裁绝对定位元素。rect (top, right, bottom, left)

img{position:absolute;clip:rect(0px,60px,200px,0px);}

参考 css定位:为什么需要定位


推荐阅读
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
author-avatar
yovan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有