zoukankan      html  css  js  c++  java
  • css 定位

    css定位有四种不同类型,position值分别为:static, relative,absolute,fixed

    1. relative(相对定位):相对定位的偏移参考元素是元素本身,不会使元素脱离文档流。元素的初始位置占据的空间会被保留。相对定位元素常常作为绝对定位元素的父元素。并且定位元素经常与z-index属性进行层次分级

    代码实例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    .rel{
    200px;
    height:200px;
    background: red;
    position: relative;
    top:200px;
    left: 200px;
    }
    </style>
    </head>
    <body>
    <div class="rel">相对定位</div>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>

    </body>
    </html>
    效果图: 

    尽管rel元素产生了偏移,但是文字并没有填补它的原来的位置,可以看出相对定位元素没有脱离文档流,原来的位置依然会被保留。

    2. absolute(绝对定位)绝对定位元素以父辈元素中最近的定位元素为参考坐标,如果绝对定位元素的父辈元素中没有采用定位的,那么此绝对定位元素的参考对象是html,元素会脱离文档流。就好像文档流中被删除了一样。并且定位元素经常与z-index属性进行层次分级

    代码实例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">

    .abs{
    200px;
    height:200px;
    background: red;
    position: absolute;
    top: 200px;
    left: 200px;
    }

    </style>
    </head>
    <body>
    <div class="abs">绝对定位</div>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    </body>
    </html>
    效果图: 

    在此辟谣一下哈!如果绝对定位元素的父辈元素中没有采用定位的,那么此绝对定位元素的参考对象是谁呢,有的人说是body,有的人会说是document,其实都不是,看了MDN上的介绍,以initial containing block为参考,它的尺寸是和视口是一致的,但不是由Viewport所产生的,而是由根元素<html>所产生的。

    代码实例:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    <style>
    * {
    margin:0px;
    padding:0px;
    }
    body {
    height:1500px;
    }
    div {
    100px;
    height:100px;
    background:green;
    position:absolute;
    bottom:0px;
    }
    </style>
    </head>
    <body>
    <div></div>
    </body>
    </html>
    实例效果图: 

    如果参考对象是body或者document的话,div元素肯定要位于页面的最底部,注意到这里有滚动条,元素只是位于视口的最底部。

    3. fixed  (固定定位)位移的参考坐标是可视窗口,使用fixed的元素脱离文档流。并且定位元素经常与z-index属性进行层次分级

    实例代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    .fix{
    200px;
    height: 200px;
    background: red;
    position: fixed;
    top: 200px;
    left: 200px;
    }

    </style>
    </head>
    <body>
    <div class="fix">固定定位</div>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>
    阿什顿发斯蒂芬阿斯蒂芬阿斯蒂芬阿斯蒂芬</br>


    </body>
    </html>
    实例效果图:

    fixed固定定位和absolute绝对定位比较类似,它们都能够让元素产生位移上面演示了固定定位;如果到目前为止还没有看到与绝对定位的区别,那么我们可以在文中多加些文字是浏览器产生滚动条,拖动滚动条就可以看到两个定位方式的区别,固定定位的元素如其名一样,能够固定在某个位置。而绝对定位就会随着滚动条滚动而移动位置。

    4.static (静态定位)默认值,元素框正常生成的,top left bottom right这几个偏移属性不会影响其静态定位的正常显示
    ---------------------
    作者:luoyu6
    来源:CSDN
    原文:https://blog.csdn.net/luoyu6/article/details/80108181
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    一种神奇的双向循环链表C语言实现
    ucore_lab0
    使用展开操符作替代 .apply() (prefer-spread)
    使用剩余参数代替 arguments (prefer-rest-params)
    LeetCode 11. Container With Most Water 单调队列
    Codecademy网站安利 及 javaScript学习
    谈项目团队分工角色和改进
    谈大型项目开发的多个环境配合
    以api文档为中心--前后端分开发离新思维
    中国进出口商品交易会开发总结
  • 原文地址:https://www.cnblogs.com/qj696/p/10974175.html
Copyright © 2011-2022 走看看