position属性用来规定元素的定位类型和方式

①position:static 默认值,没有定位,元素出现在正常的流中;

②position:fixed  固定定位 是相对于浏览器窗口来进行定位;

③position:relative 相对定位  相对于其本身正常位置来进行定位,它原本所占的空间仍保留;

④position:absolute 绝对定位 相对于定位方式不是static的第一个父元素进行定位(往上寻找参照元素,一直到根元素为止,即body),此时元素原先在正常

文档流中所占的空间会关闭,就像元素原来不存在一样,绝对定位后会生成一个块级框,而不管它原先在正常流中是何种类型。

选好定位方式后可通过设置 top/right/bottom/left 来设置元素位置,但是对static无用,static定位下是靠margin来移动位置。

注意:当元素设置position:absolute后,再想用 margin:0px auto; 来使元素水平居中是无效的,可进行如下设置:

<style>
.s1{width:100%;height:100%;background:red;position:relative;}
.s2{background:yellow;width:300px;height:100px;position:absolute;
left:50%;margin-left:-150px;//是让元素到其相对定位的父元素左边的距离为该父元素宽度的50%,这时左边边界正好在父元素的中间线上,再左移宽度的一半正好居中,即再设置margin-top:-150px可使其水平居中
top:50%;margin-top:-50px;//与上述原理相同,设置后可垂直居中}
</style>
<body>
<div class="s1">
<div class="s2">
水平居中
</div>
</div>
</body>

position的四种定位方式:static、fixed、relative、absolute的更多相关文章

  1. css中对position的几种定位方式的最佳诠释

    关于元素的position定位的理解,牛客网的hardy给出了一个比较好的理解: 在html中网页可以看成一个立体的空间,一个完整的页面是由很多个页面堆积形成的,如上图所示   CSS中Positio ...

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

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

  3. Position属性四个值:static、fixed、absolute和relative的区别和用法

    Position属性四个值:static.fixed.absolute和relative的区别和用法 在用CSS+DIV进行布局的时候,一直对position的四个属性值relative,absolu ...

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

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

  5. CSS四种定位及应用

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

  6. CSS的4种定位方式比较

    CSS有四种定位(Positioning)方法:Static,Relative, Absolute和Fixed 元素flow, overlap 相对参照物: 能否用offset( top, left, ...

  7. HttpwebClient的四种请求方式

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.      本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...

  8. xml常用四种解析方式优缺点的分析×××××

    xml常用四种解析方式优缺点的分析 博客分类: xml   最近用得到xml的解析方式,于是就翻了翻自己的笔记同时从网上查找了资料,自己在前人的基础上总结了下,贴出来大家分享下. 首先介绍一下xml语 ...

  9. list的四种遍历方式

    1.手先增强for循环和iterator遍历的效果是一样的,也就说 增强for循环的内部也就是调用iteratoer实现的,但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容.不能获 ...

随机推荐

  1. 非线性规划带约束-scipy.optimize.minimize

    # coding=utf-8 from scipy import optimize import numpy as np def get(args): a, b, c, d, e, f, g, h = ...

  2. Django 中 makemigrations、migrate时 No changes detected

    Django创建的项目中,需要更改.增加.删除表中的某些属性,性急直接把之前数据库表删除了,之后再执行: python manage.py makemigrations python manage.p ...

  3. linkin大话设计模式--简单工厂

    linkin大话设计模式--工厂方法 什么是工厂方法:将多个类对象交给工厂来生成的设计被称为简单工厂模式,个人认为主要是为了实现解耦,在代码重构的时候会很重要. 代码如下: public class ...

  4. SVN错误:Attempted to lock an already-locked dir的解决

    问题: SVN locked,文件被锁无法更新,SVN上更新代码失败,某些文件提示错误:Attempted to lock an already-locked dir 解决方法: 右键具体文件→Tea ...

  5. 在Intellij IDEA 中clean报错:-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.

    解决办法:添加VM属性   -Dmaven.multiModuleProjectDirectory=$M2_HOME

  6. 一个ios的各种组件、代码分类,供参考

    http://github.ibireme.com/github/list/ios/#

  7. shell中awk printf的用法

    打印输出时,可能需要指定字段间的空格数,从而把列排整齐.在print函数中使用制表符并不能保证得到想要的输出,因此,可以用printf函数来格式化特别的输出. printf函数返回一个带格式的字符串给 ...

  8. Jetson TX2刷机教程(原创)

    Jetson TX2刷机教程 一,硬件准备 1台host主机(linux系统,最好是ubuntu64位) 1台Jetson TX2的平台 二,软件包 JetPack(Jetson SDK) 下载地址: ...

  9. Redis .Net 基本类型使用之南

    前言 最近需要使用redis,看了一些文档,也在博客园里面看了很多文章,这里就记录下Redis常用类型的操作. String string是redis基本类型,一般通过Get,Set 命令进行操作,这 ...

  10. linux上的组管理

    上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理. groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制 ...