本篇文章我们主要给大家说一下css的定位。css的定位是我们以后网页制作中比较常用的属性,也是很重要的知识点。了解各个定位的作用以及层级关系对以后的页面布局至关重要。

css定位主要有四种,静态定位、相对定位、绝对定位和固定定位。其中静态定位这个是元素的默认定位方式,不能使用top,bottom,left,right和z-index属性,其它三种定位可以使用以上几个属性。我们这里主要介绍后边的这三个定位。

1)相对定位

如果想为元素设置层模型中的相对定位,需要设置position:relative;,它还是会占用该元素在文档中初始的页面空间,通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置,然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。比如我们想要让一个div元素相对当前位置左移100px,上移100px。

代码以及页面显示效果就如下所示:(div向左和向上偏移了100px)

2)绝对定位

如果想为元素设置层模型中的绝对定位,需要设置position:absolute;,这条语句的作用将元素从文档流中拖出来,将不占用原来元素的空间,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父级元素进行绝对定位。如果不存在就逐级向上排查,直到相对于body元素,即相对于浏览器窗口。

我们做个例子来看一下,我们这里写两个div,内部都有2个span元素,span元素我们都使用绝对定位,并设置left和top为50px,第一个div我们设置相对定位,第二div不设置定位。

由上图我们可以看出,div1使用了相对定位,所以div1内部的span使用绝对定位是相对于div1来定位元素位置的,而div2没有定位,所以div2内部的span使用绝对定位是相对于浏览器body元素来定位元素位置。

3)固定定位

如果想为元素设置层模型中的固定定位,需要设置position:fixed;,直接以浏览器窗口作为参考进行定位,它是浮动在页面中,元素位置不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响。比如我们准备一长串的文字,让文字超出一屏的宽度,设置浮动元素div1的left和top为100px,拖动浏览器的滚动条,浮动元素div1的位置不会发生变化。

具体代码和展示效果如下图所示:

更多相关文章

  1. 如何使用Watir访问自定义属性的元素?
  2. 禁用div中的所有表单元素
  3. 怎么动态设置html的canvas元素的尺寸?
  4. JQuery基于元素的高度添加类
  5. 单个元素html上的多个类
  6. 样式通常以相同的组合出现:创建单个类还是组合元素?
  7. 在href元素中使用标记<c:out [duplicate]
  8. CSS3列 - 添加第二个元素后的额外宽度
  9. 垂直对齐div中的两个元素

随机推荐

  1. android 学习笔记2——实现基本功能
  2. Android工程手动增加插件包方法
  3. Android消息机制(基于源码解析)
  4. android中使用URL Scheme方式启动app
  5. Android(安卓)Studio 中setOnClickListen
  6. Android系列之Message机制的灵活应用
  7. [原]Android有用代码片断(六)
  8. Android(安卓)EditText 自定义带删除按钮
  9. 14、NFC技术:使用Android Beam技术传输文
  10. Android彻底组件化—如何使用Arouter