内容:

1.position属性介绍

2.position属性分类

3.relative相对定位

4.absolute绝对定位

5.relative和absolute联合使用进行定位

6.fixed固定定位

1.position属性介绍

position 属性规定元素的定位类型

这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移

position的值有:absolute、relative、fixed、static、inherit

2.position属性分类

position属性如下:

 1 position 属性用于元素定位:
2 static 默认
3 relative 相对定位,相对于自己本来应该在的位置
4 absolute 绝对定位,行为有点奇怪
5 fixed 固定定位,基于 window 的绝对定位, 不随页面滚动改变
6 非 static 元素可以用 top left bottom right 属性来设置坐标 非 static 元素可以用 z-index 属性来设置显示层次
7 relative 是相对定位(相对自身定位) absolute 完全绝对定位, 忽略其他所有东西, 往上浮动到 非 static 的元素

3.relative相对定位

position:relative -> 相对定位(偏离自身)

relative相对定位:相对定位是相对于该元素的原始位置,即以自己原始位置为参照物。即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置(不脱离文档流);另外relative相对定位依据top,right,bottom,left等属性偏移位置,其层叠通过z-index属性定义

注:position:relative的一个主要用法:方便绝对定位元素找到参照物

实例:显示平方

 HTML:
<h3>relative实现相对定位</h3>
<div class="relative">
<div class="double">
E = MC<span class="square">2</span>是质能公式
</div>
</div> CSS:
.relative .square {
position: relative;
top: -7px;
left:;
color: black;
font-size: 15px;
}

实现效果如下:

4.absolute绝对定位

position: absolute -> 绝对定位

absolute绝对定位:将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块(就是它前面的div并没有设置定位的属性),则相对于body元素,即相对于浏览器窗口

被设置了绝对定位的元素,在文档流中是不占据空间的,如果某元素设置了绝对定位,那么它在文档流中的位置会被删除;

我们可以通过z-index来设置它们的堆叠顺序 。

绝对定位使元素脱离文档流,因此不占据空间 ,普通文档流中元素的布局就当绝对定位的元素不存在时一样,仍然在文档流中的其他元素将忽略该元素并填补他原先的空间。因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素。  

 

5.relative和absolute联合使用进行定位

position: relative/absolute -> 联合使用进行相对定位  这个实际上就是absolute的大部分情况下的作用

联合定位实例效果如下(改变页面大小后红色box还在原来的相对位置上):

代码如下:

 HTML:
<div class="relative-absolute">
<div class="item">
<div class="box left-bottom"></div>
</div>
<div class="item">
<div class="box right-bottom"></div>
</div>
<div class="item">
<div class="box right-top"></div>
</div>
</div> CSS:
.relative-absolute .item{
height: 150px;
border: 1px solid red;
margin-bottom: 15px;
position: relative;
}
.relative-absolute .item .box{
height: 50px;
width: 50px;
background: #ff6f9a;
position: absolute;
}
.left-bottom{
left:;
bottom:;
}
.right-bottom{
right:;
bottom:;
}
.right-top{
right:;
top:;
}

总结:参照物用相对定位(relative),子元素用绝对定位(absolute),并且保证相对定位参照物不会偏移即可

6.fixed固定定位

position:fixed -> 固定在页面某个位置

fixed元素以浏览器窗口为参考物,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,元素不会随着滚动,其层叠通过z-index属性定义

注:

  • 一个元素若设置了fixed; 则其不能设置float。因为这是两个不同的流:浮动流与定位流,但relative可以因为它原本所占的空间仍然占据文档流
  • 在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置
  • 常见的烦人的那些广告以及返回顶部大部分都是使用fixed做的

返回顶部代码:

 HTML:
<div class="return-top">
<a href="#top">返回顶部</a>
</div> CSS:
.return-top {
position: fixed;
right:;
bottom: 50px;
width: 66px;
padding: 5px;
border: 1px solid orangered;
} a {
color: #00b9ff;
text-decoration: none;
}

补充:

脱离文档流3种方式:

  • float
  • absolute
  • fixed

position属性详解的更多相关文章

  1. HTML中元素的position属性详解

    HTML中元素的position属性详解 转载自:https://blog.csdn.net/wangzunkuan/article/details/81540935   HTML中DOM元素有5种定 ...

  2. DIV-CSS布局中position属性详解

    本文向大家描述一下DIV CSS布局中的position属性的用法,position属性主要有四种属性值,任何元素的默认position的属性值均是static,静态.这节课主要讲讲relative( ...

  3. CSS2.1SPEC:视觉格式化模型之width属性详解(下)

    本文承接CSS2.1SPEC:视觉格式化模型之width属性详解(上),继续分析CSS视觉格式化模型中width以及相关值的计算问题: 注:与上节不同,本节的demo中由于出现了float,absol ...

  4. z-index属性详解

    z-index属性详解 目录 z-index属性详解 一.定义和用法 二.代码 三.效果图 一.定义和用法 z-index属性指定一个元素的堆叠顺序,也就是z轴 position属性定义的是x轴和y轴 ...

  5. css 14-CSS3属性详解:Web字体

    14-CSS3属性详解:Web字体 #前言 开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体.从此,把特殊字体处理成图片的方式便成为了过去. ...

  6. css 12-CSS3属性详解:动画详解

    12-CSS3属性详解:动画详解 #前言 本文主要内容: 过渡:transition 2D 转换 transform 3D 转换 transform 动画:animation #过渡:transiti ...

  7. android:exported 属性详解

    属性详解 标签: android 2015-06-11 17:47 27940人阅读 评论(7) 收藏 举报 分类: Android(95) 项目点滴(25) 昨天在用360扫描应用漏洞时,扫描结果, ...

  8. OutputCache属性详解(一)一Duration、VaryByParam

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  9. OutputCache属性详解(二)一 Location

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

随机推荐

  1. CentOS7安装OpenStack(Rocky版)-09.安装Cinder存储服务组件(控制节点)

    本文分享openstack的Cinder存储服务组件,cinder服务可以提供云磁盘(卷),类似阿里云云盘 ----------------------- 完美的分隔线  -------------- ...

  2. 王垠:完全用Linux工作 - imsoft.cnblogs

    完全用Linux工作,抛弃windows 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Linux 不是每个人都想用的.如果你只需要处理一般的事务, ...

  3. 利用Fierce2查询子域名

    http://pnig0s1992.blog.51cto.com/393390/368428 安装方法引用Mickey的: 1.Mickey@pentestbox:/pentest/enumerati ...

  4. Luogu 3245 大数

    Luogu 3245 大数 开始就想 \(10\) 进制 \(hash\) ,\(Hash(r)\equiv Hash(l-1)\cdot 10^{r-l+1}\) ,感觉没什么美妙的性质啊... 然 ...

  5. 《DSP using MATLAB》Problem 4.23

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  6. hdu1160 dp

    hdu1160 题意:给出很多老鼠的数据,分别是它们的体重和跑速,为了证明老鼠越重跑得越慢,要找一组数据,由若干个老鼠组成,保证老鼠的体重依次增加而跑速依次减小,问这组数据最多能有多少老鼠,并按体重从 ...

  7. cf 295 div 2 B (bfs)

    题意:给出 n.m 两数,可以对 n 进行两种操作 减一或者乘二,操作过程中 n 必须保证非负,问使 n 变为 m 至少需要几步操作. 这是我练水题的时候做到的,题目不难,只是我 bfs 一直没怎么用 ...

  8. freemarker逻辑判断写法#if

    <li class="<#if (position.flag)! =='haha1'>hide<#else >show</#if>"> ...

  9. 在 ASP.NET 网页中不经过回发而以编程方式实现客户端回调

    在 ASP.NET 网页的默认模型中,用户会与页交互,单击按钮或执行导致回发的一些其他操作.此时将重新创建页及其控件,并在服务器上运行页代码,且新版本的页被呈现到浏览器.但是,在有些情况下,需要从客户 ...

  10. atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux

    atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过执行一个EXE就启动视窗系 ...