美文网首页
谈css布局之position

谈css布局之position

作者: 小m_up | 来源:发表于2017-01-19 21:38 被阅读85次

position这个属性定义建立元素布局所用的定位机制。
主要有以下几个值:


static

所有元素在默认的情况下position属性均为static,而我们在布局上经常会用到的相对定位和绝对定位常用的属性top、bottom、left、right在position为static的情况下无效。
其用法为:在改变了元素的position属性后可以将元素重置为static让其回归到页面默认的普通流中。

<div style="border: solid 1px #0e0; width:200px;">
        <div style="height: 100px; width: 100px; background-color: Red;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Green;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Red;">
        </div>
    </div>

relative

relative 表现的和 static 一样,除非你添加了一些额外的属性。
在一个相对定位(position属性的值为relative)的元素上设置 top 、 right 、 bottom 和 left 属性会使其偏离其正常位置。其他的元素的位置则不会受该元素的影响发生位置改变来弥补它偏离后剩下的空隙。

<div style="border: solid 1px #0e0; width:200px;">
        <div style="height: 100px; width: 100px; background-color: Red;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Green; position:relative; top:20px; left:20px;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Red;">
        </div>
    </div>

absolute

absolute 与 fixed 的表现类似,但是它不是相对于视窗而是相对于最近的“positioned”祖先元素。如果绝对定位(position属性的值为absolute)的元素没有“positioned”祖先元素,那么它是相对于文档的 body 元素,并且它会随着页面滚动而移动。
还是刚才的例子,让绿色div绝对定位,为了清晰显示,第二个红色div改为黄色。

<div style="border: solid 1px #0e0; width:200px; position:relative;">
        <div style="height: 100px; width: 100px; background-color: Red;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Green; position:absolute; top:20px; left:20px;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Yellow;">
        </div>
    </div>

fixed

一个固定定位(position属性的值为fixed)元素会相对于视窗来定位,即便页面滚动,它还是会停留在相同的位置。和 relative 一样, top 、 right 、 bottom 和 left 属性都可用。

<div style="border: solid 1px #0e0; width:200px;">
        <div style="height: 100px; width: 100px; background-color: Red;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Green; position:fixed; bottom:20px; left:20px;">
        </div>
        <div style="height: 100px; width: 100px; background-color: Yellow;">
        </div>
    </div>

所以说不管是页面纵向滚动条在页面顶端还是底端,绿色div总是在视口左下角。

相关文章

  • 谈css布局之position

    position这个属性定义建立元素布局所用的定位机制。主要有以下几个值: static 所有元素在默认的情况下p...

  • CSS布局

    CSS入门(3) CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+...

  • 2019-01-04

    CSS布局1 说起布局就需要谈谈定位 谈及定位,我就得说说position属性 position static :...

  • 小程序CSS知识点

    一、flex布局Flex 布局教程:语法篇Flex 布局教程:实例篇 二、CSS position 属性总结CSS...

  • CSS布局属性

    CSS布局属性记录 display + float + position flex布局 总模块

  • CSS布局

    CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+float属性(浮...

  • 前端面试知识点

    css 盒模型 布局 左右布局 上下布局 display position nodejs 文件 流 express...

  • css布局之上下两行布局(上面固定高度,下面自适应)

    方法一: 利用position绝对定位+BFChtml: css: 方法二:flex布局 html: css:

  • 前端技能

    HTML 常用标签/分类/属性 标签的分类 CSS 布局:position、float 响应式布局:rem布局(移...

  • CSS实现三栏布局

    CSS实现三栏布局(5种) 常见的布局方式: float布局、Position定位、table布局、弹性(flex...

网友评论

      本文标题:谈css布局之position

      本文链接:https://www.haomeiwen.com/subject/qhqibttx.html