• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > 使用CSS的position属性控制页面布局的入门教程

使用CSS的position属性控制页面布局的入门教程

作者:StephenLee 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,position,布局等相关知识,StephenLee 希望在学习及工作中可以帮助到您

postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响。该属性共有5个值:

position: absolute
position: relative
position: fixed
position: static
position: inherit
本文主要详细讨论 position 属性的前三个值,首先大概讲解下后两个值:

static

static 为 position 属性的默认值,static 元素会遵循正常的文档流,且会忽略 top,bottom,left,right 等属性。

inherit

inherit 值如同其他 css 属性的 inherit 值,即继承父元素的 position 值。

absolute

absolute 元素将会脱离正常的文档流,所以 其周围的元素将会忽略它的存在。如同 absolute 元素的 display 属性被设为了 none 一样。此时,我们可以使用 top,bottom,left,right 等属性对 absolute 元素进行绝对定位。一般情况下定义两个属性,top 或 bottom,left 或 right。
这个绝对定位需要稍微理解下,因为这里容易与 relative 产生混淆。
例如,当对 absolute 元素添加 left:10px 定位后,这个 left 究竟是对哪个元素而言呢?其实,此时将会往上查找 absolute 元素的第一个父元素,如果该父元素的 position 值存在(且不为 static),那么这个 left:10px 就是根据该父元素进行的定位,否则将会继续查找该父元素的父元素,一直追溯到某个父元素具备不为 static 的 position 值为止,如果不存在满足条件的父元素,则会根据最外层的 window 进行定位。

  1. <div style="position: absolute">Im an absolute element</div>   
  2. <div>Im a default element</div>  

2016428112744860.jpg (213×33)//直接忽略 absolute 元素的存在

relative

relative 元素遵循正常的文档流,所以周围元素不会忽略它的存在,relative 元素同样支持 top,bottom,left,right 等属性。当我们使用 top,bottom,left,right等属性对 relative 元素进行相对定位时的效果有点类似于 margin 属性达到的效果,但是区别在于, relative 元素周围的元素将会忽略 relative 元素的移动。我们注意,当 relative 元素未使用定位属性进行相对定位时,它不会被周围的元素忽略,但利用定位属性进行定位后,周围的元素会忽略 relative 元素的移动,它们会认为 relative 元素仍然在原来的位置,并未进行移动,我们用个例子来说明:

  1. <div style="position: relative">Im a relative element</div>   
  2. <div>Im a default element</div>  

2016428112813677.jpg (214×50)//并未忽略 relative 元素的存在

全选复制放进笔记

  1. <div style="position: relative;top:10px">Im a relative element</div>   
  2. <div>Im a default element</div>  

2016428112844259.jpg (213×43)//忽略了 relative 元素的移动

fixed

fixed 元素将会脱离正常的文档流,所以它与 absolute 元素很相似,同样会被周围元素忽略,支持 top,bottom,left,right 属性,但两者仍有很大不同。
首先,fixed 元素定位与它的父元素无任何关系,它永远是相对最外层的 window 进行定位的。
第二,fixed 元素正如它的名字一样,它是固定在屏幕的某个位置,它不会因为屏幕的滚动而消失。

全选复制放进笔记

  1. <div style="height:1000px">   
  2.   <div style="position: absolute;">Im an absolute element</div>   
  3.   <div style="position: fixed;">Im a fixed element</div>   
  4.   <div>Im a default element</div>   
  5. </div>  

2016428112918323.jpg (220×41)//如同 absolute,fixed元素也被周围元素忽略

因为外层 div 高度超过一屏,所以现在我们往下滚动屏幕。
2016428112941913.jpg (212×30)//只有 fixed 元素未因为屏幕滚动而消失,因为它是“固定”的

z-index

为什么要在这里提到 z-index 属性呢?那是因为 z-index 属性只对定位元素有效,即 position 值为 absolute,relative,fixed 时才有效。我们首先了解下什么叫 z-index。
2016428113000734.png (465×419)

从上图我们不难发现 z-index 值代表的是元素的堆叠顺序,值越高则显示顺序越优先。

  1. <div style="position: absolute;z-index:1">Im an absolute element</div>   
  2. <div style="position: fixed;z-index:2">Im a fixed element</div>  

2016428113035154.jpg (211×32)//fixed 元素 z-index 比 absoulute 元素高,所以显示在前面

(我把背景色调为非透明,这样可以看得更清楚),假如 z-index 值相同会出现什么情况呢?

  1. <div style="position: absolute;z-index:1">Im an 

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06仿Word自动套用格式使用CSS设置表格样式实例
  • 2017-08-06解决chrome浏览器中input背景透明问题
  • 2017-08-06CSS黑魔法之计数器counter的使用技巧
  • 2017-08-06CSS中基代码base.css一览
  • 2017-08-06CSS 之强制换行技巧
  • 2017-08-06CSS改变网页中鼠标选中文字背景颜色例子
  • 2017-08-06利用CSS生成精美细线Table表格无需复杂style代码
  • 2017-08-06css 兼容性书写记录
  • 2017-08-06IE绝对定位元素神秘消失或被遮挡的解决方法
  • 2017-08-06css background 背景图的设置方法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • CSS控制文本的长度 超过一行显示省略号的实现方法
    • CSS中的font-size属性使用教程
    • cursor:hand与cursor:pointer的区别介绍
    • IE6下div层被select控件遮住的问题解决方法
    • 一波CSS的Checkbox复选框样式代码分享
    • IE6定义1px左右高度的容器示例代码
    • CSS的执行顺序和优先级问题示例探讨
    • CSS实现表格细边框的两种方法
    • 纯css 实现footer 一直在页面底部,不随页面滚动
    • 多步骤进度条的实现原理及代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有