概述:元素定位属性主要包括的模式和边偏移两部分,也就是说以后定位要和边偏移量搭配使用。边偏移加定位定位模式才能构成一个完整的定义方式。

偏移量说明:

边偏移属性   描述
top: 顶端偏移,定义元素相对于其父元素上边线的距离
bottom: 底部偏移,定义元素相对于其父元素下边线的距离
left: 左侧偏移,定义元素相对于其父元素左边线的距离
right: 右侧偏移,定义元素相对于其父元素右边线的距离

定位模式的分类

值       描述
static 自动定位(默认定位方式)
relative 相对定位,相对于其元文档流的位置进行定位
absolute 绝对定位,相对于其上一个已经定位的父元素进行元素定位
fixed 固定定位,相对于浏览器窗口进行对位

一、静态定位

是所有元素的默认定位方式,当position属性的取值为static,可以将元素设置为静态,也就是各个元素在html中默认的位置,其实就是标准流的意思
对边偏移无效,一般用来清除定位

二、相对定位

position:relative
1.相对对位最重要的一点是它可以通过边偏移移动位置,但是原来的所占位置继续占有。
2.其次,每次移动的位置是,自己在左上角为基点移动 (相对自己来移动) 相对对位的盒子仍然在标准流中,它后面的盒子仍然以标准流的方式对待它(相对定位不脱标)

三、绝对定位

position: absolute
绝对定位可以通过边偏移量移动位置,但是完全脱标,完全不占位置 父级没有定位
如果父元素没有定位,孩子以浏览器为基准对齐
绝对定位是根据最近的定位(绝对、相对、或者固定)的父元素(祖先)进行定位 一般会结合相对定位使用 (子绝父相) 加了绝对定位的盒子设置margin 左右auto不会生效
解决水平的方法:先设置盒子left: %50 然后margn-left: 盒子的负一半
left: 50%;
margin-left: -50px; 水平居中也是同样的原理
top:50%;
margin-top: -20px; 另一种完美的写法:transform: translateX(-50%);

四、固定定位

position: fixed;

固定定位也是完全脱标的特性
固定定位的盒子一定要写宽和高,除非有内容撑开的不用写
以浏览器为基点

五、叠放层次z-index

当对多个元素同时设置定位时,定位元素之间有可能发生重叠
可以通过优先级来解决
注意点:
1. z-index的默认值是0,取值越大,定位元素在层叠元素中越居上
2. 如果取值相同,则根据书写顺序,后来者居上
3. 后面数字一定不能加单位
4. 只有相对定位,绝对对位,固定定位由此属性,其余标准流,,浮动,静态无此属性

六、定位的模式转换

当元素添加了相对定位和绝对定位,元素模式也会转换成行内块

(浮动的盒子会转换成行内块,没给宽度的情况下  以内容撑开宽度)
如果盒子本身就需要添加浮动后者绝对固定定位就不需要转换了

css四种定位的更多相关文章

  1. CSS四种定位及应用

    定位(position) 如果,说浮动, 关键在一个 “浮” 字上面, 那么 我们的定位,关键在于一个 “位” 上. PS: 定位是我们CSS算是数一数二难点的了,但是,你务必要学好它,我们CSS离不 ...

  2. 前端基础----CSS语法、CSS四种引入方式、CSS选择器、CSS属性操作

    一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如: h1 {color:red; font-size:14px;} 二.CSS四种引入方式 1,行内式 行内式是在标 ...

  3. CSS 四种引入样式表优缺点分析

    CSS 四种引入样式表 CSS 有四种方式引入样式表,如下: 外部样式表 内部样式表 行内样式表 导入样式表 外部样式表优缺点 优点 实现了结构与表现的代码完全分离 方便复用及维护 因为分离到各自独立 ...

  4. css五种定位方式介绍

    1.static定位(普通流定位) -------------- 默认定位 2.float定位(浮动定位) 例:float:left; 有两个取值:left(左浮动)和right(右浮动).浮动元素会 ...

  5. Css五种定位之间的区别

    ##CSS 定位机制## CSS 有三种基本的定位机制:普通流.浮动流和定位流. 除非专门指定,否则所有框都在普通流中定位.也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定. 块级 ...

  6. CSS 四种样式表 六种规则选择器 五种常用样式属性

    新的html程序要在VS中编写了,在vs中安装ASP.NET和Web开发,并用ASP.NET Web 应用程序(.NETFramework)创建一个网页程序.添加一个html页 后面的代码都是在htm ...

  7. css四种选择器总结

    css 在网页开发中扮演着重要的角色,被誉为网页开发的三剑客,如果说html是人的外在器官部分,那css无疑是各个器官组成在一起然后表现出来,css又称样式重叠在网页排版布局中的地位举足轻重.   做 ...

  8. CSS的四种定位的参照物

    一.static定位 HTML 元素的默认值,即没有定位,遵循正常的文档流对象. 静态定位的元素不会受到 top, bottom, left, right影响. <!DOCTYPE html&g ...

  9. CSS布局的四种定位方式

    1.static(静态定位): 默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明).参考上篇随笔. 2.relative(相对 ...

随机推荐

  1. kotlin 类的委托

    fun main(arg: Array<String>) { val baseImpl = baseImpl() demo(baseImpl).printL() } interface b ...

  2. 关于一个GPGPU优化中Bank Conflict的讨论

    出自OpenGPU: 关于去除bank conflict的一个例子程序

  3. protobuf ubuntu 18.04环境下安装

    (t20190518) luo@luo-All-Series:~/MyFile$ (t20190518) luo@luo-All-Series:~/MyFile$ (t20190518) luo@lu ...

  4. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_24-CMS前端页面查询开发-使用钩子方法实现立即查询

    进入页面默认就去查询数据 这要用到vue的钩子函数,每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听. 编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等. ...

  5. javaweb大文件上传

    本文主要关于利用html表单上传文件的后台代码实现. 需要用到两个工具类Apache commons-fileupload和commons-io. 注意要校验是否选择文件上传,最开始写的时候没有加上校 ...

  6. php 转化整型需要注意的地方

    public function tt(){ $num = '19.90'; echo $num; echo '<br/>--------------<br/>'; echo 1 ...

  7. 基于文件系统(及MySQL)使用Java实现MapReduce

    实现这个代码的原因是: 我会MapReduce,但是之前都是在AWS EMR上,自己搭过伪分布式的,但是感觉运维起来比较困难: 我就MySQL会一点(本来想用mongoDB的但是不太会啊) 数据量不是 ...

  8. 如何做一个项目v2.ppt

    链接:https://pan.baidu.com/s/159GQsYK9BcQad3h1CyVUYg 提取码:ivcj 复制这段内容后打开百度网盘手机App,操作更方便哦

  9. 义隆单片机学习笔记之(一) 硬件框架&资源下载

    参考网址: 点击链接或右键链接地址 (台湾义隆官网)http://www.emc.com.tw/chs/tech_8bit.asp (EM78P153K官方资料)http://www.emc.com. ...

  10. 获取淘宝客推广位id(adzone_id)

    在 获取淘宝联盟选品库的宝贝信息 这个接口中需要用到 推广位id,那边这个ID在哪找呢?1.进入阿里妈妈后台>推广管理>推广位管理,如下图: 2.在推广位管理 列表页 找到 PID,最后一 ...