[CSS]CSS Position 详解

news/2024/5/20 21:48:05

一. CSS position 属性介绍

CSS中position属性指定一个元素(静态的,相对的,绝对或固定)的定位方法的类型。有static,relative,absolute和fixed四种取值,默认是static。

二. position: static

static:没有定位,元素出现在正常的文档流中,忽略left,right,top,bottom和z-index。

图片描述

所以对元素position属性设定static时,left属性不起作用,但是元素出现在正常的流中。

三. position: fixed

fixed:生成固定定位的元素,相对于浏览器窗口定位,即浏览器窗口滚动也不会影响元素位置,元素的位置与文档流无关,因此不占据空间,可能会和其他元素发生重叠。

图片描述

窗口滚动不会影响content元素位置,content元素一直在contaniner元素的右下角。

四. position: relative

reletive:元素相对其自己正常位置定位,元素在正常的文档流中。

图片描述

没有设置left和top时的正常位置。

图片描述

设置了left和top属性,元素位置移动,向右移动50px,向下移动20px。但是元素预留的空间保持正常流动,也就是不会对其他元素产生影响。

五. position: absolute

absolute:元素绝对定位,相对于static定位以外的第一个父元素,元素脱离文档流。

图片描述

所以会找到static定位以外的第一个父元素,因为span的父元素content和container都没有设置position属性,默认为static,找到的第一个父元素就为html<body>,相对于<body>向左移动100px。

如果对content或container设置position属性为relative,absolute或fixed,span会相对于content或container来定位。
以下是三个例子,

图片描述

span元素的第一个position属性不为static的父元素是content,所以相对于content向左移动10px。

图片描述

当content属性设置为fixed时,span元素相对于content向左移动10px。

图片描述

span元素第一个position属性不为static的父元素是container,所以相对于container向左移动10px。

六. 总结

position: static,元素出现在正常的流中,无法通过left,right,top和bottom设置元素定位。
position: fixed,元素脱离文档流,相对于浏览器窗口定位不变。
position: relative,元素出现在正常的流中,相对于其正常位置定位。
position: absolute,元素脱离文档流,相对于static以外的第一个父元素定位。

理解了position的属性,可以更好的设计页面和实现页面。


http://www.niftyadmin.cn/n/2519822.html

相关文章

计算机打印机提示无法打印,打印机无法打印_打印机无法打印怎么办【步骤|图文教程】-太平洋IT百科...

打印机不能打印怎么回事打印机无法打印的原因有很多&#xff0c;如果我们遇到打印机无法打印应该首先从简单到复杂入手。首先必须排除一些最简单的问题&#xff0c;比如打印机是否正常安装。另外打印机内部是不是已经放置有墨盒以及打印纸等&#xff0c;这些基本问题必须排除&a…

Django第2步_创建model数据库表

数据库模型 数据发展过程中产生过三种基本的数据模型&#xff0c;它们是层次模型、网状模型和关系模型 django里面的db.model 它包含要存储数据的基本字段和行为。通常&#xff0c;每个模型都映射到单个数据库表。 追根溯源&#xff0c;包含太多&#xff0c;这里略过&#x…

java并发之原子性、可见性、有序性

原子性&#xff1a;即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断&#xff0c;要么就都不执行。可见性&#xff1a;是指当多个线程访问同一个变量时&#xff0c;一个线程修改了这个变量的值&#xff0c;其他线程能够立即看得到修改的值。有序性&#x…

Django第3步_url路由映射与TEMPLATES添加检索路径

DNS地址解析协议 域名系统&#xff08;Domain Name System&#xff0c;缩写&#xff1a;DNS&#xff09;是互联网的一项服务。 它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便地访问互联网。 DNS协议是用来将域名转换为IP地址&#xff08;也可以将…

美国计算机相关专业大学,美国计算机专业相关院校推荐

原标题&#xff1a;美国计算机专业相关院校推荐计算机专业 主要可分为计算机科学(Computer Science,简称CS)和计算机工程(Computer Engineering&#xff0c;简称CE)&#xff0c;还有计算机科学与工程、计算机科学与数学等混合交叉专业。计算机科学和计算机工程虽同属于计算机专…

Django第4步_理解form表单类与处理html的post、get

表单类 用户登陆框 可以用纯粹的html代码来编写&#xff0c;也可以用django中的forms编写 创建forms.py来写这个表单数据 在python控制台打印查看login_form&#xff0c;结果就是html代码 既然这样为什么不直接用html写&#xff1f; form不会这么无聊&#xff0c;它可以暂存表…

Java基础-DBCP连接池(BasicDataSource类)详解

Java基础-DBCP连接池(BasicDataSource类)详解 作者&#xff1a;尹正杰 版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程&#xff0c;为了解决此类性能问题&#xff0c;通…

计算机web程序设计考试题,2015年计算机等级考试二级《web程序设计》试题.doc

2015年计算机等级考试二级《web程序设计》试题1、 % Response.Buffer True % % Dim varNumber ’定义一个访问次数变量 varNumber Request.Cookies "Number" ’读取Cookies值 if varNumber "" then varNumber 1??? ’如果是第一次&#xff0c;则令访问次…