• CSS中position属性的理解,相对位置relative,绝对位置absolute,固定fixed,页脚固定的实现2种方法


    页脚固定的底部的两种方式:

    1、使用fixed属性值

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style="height: 1500px; 100%;background-color: green;margin-bottom: 320px;">
     8         
     9     </div>
    10     <div style="height: 300px;position: fixed;bottom: 0;background-color: red; 100%;">
    11         
    12     </div>
    13 </body>
    14 </html>

    注意点:要给第一个div设置一个margin-bottom,要不会被fixed的div给覆盖,而使用相对位置绝对位置的则不要

    效果图如下:

    2、使用相对绝对位置

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style="background-color: green;position: absolute;top: 0;bottom: 320px; 100%;overflow: scroll;">
     8         <div style="height: 1500px;"></div>
     9     </div>
    10     <div style="position: absolute;bottom: 0;height: 300px; 100%;background-color: red;"></div>
    11 </body>
    12 </html>

    实现的效果图和使用fixed的一致,第一个的div的大小会自适应,但是bottom为320px,不会覆盖了下一个同级高度无300px的div,要是第一个div的内容过多,会出现滚动条

    效果如下所示:

    相对位置、绝对位置的理解:

    1、相对位置

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style=" 200px;height: 300px;background-color: red;margin-top: 30px;">
     8         <div>
     9             <div style="top: 20px;position:relative;border:1px solid white; 50px;height: 30px;background-color: black;"></div>
    10         </div>
    11     </div>
    12 </body>
    13 </html>

    效果图如下:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style="position: relative; 200px;height: 300px;background-color: red;margin-top: 30px;">
     8         <div>
     9             <div style="top: 20px;border:1px solid white; 50px;height: 30px;background-color: black;"></div>
    10         </div>
    11     </div>
    12 </body>
    13 </html>

    效果图如下:

    比较上面两项发现,要是top为20的div没有设置position为relative,top属性没有生效,要是设置position为relative,则是相对于自身,也就是没有第二张效果图的位置向下移动20px

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style=" 200px;height: 300px;background-color: red;margin-top: 30px;">
     8         <div>
     9             <div style="height: 60px; 30px;background-color: green;"></div>
    10             <div style="top: 20px;border:1px solid white; 50px;height: 30px;background-color: black;"></div>
    11         </div>
    12     </div>
    13 </body>
    14 </html>

    效果图如下,注意位置哦:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style=" 200px;height: 300px;background-color: red;margin-top: 30px;">
     8         <div>
     9             <div style="height: 60px; 30px;background-color: green;"></div>
    10             <div style="position: relative;top: 20px;border:1px solid white; 50px;height: 30px;background-color: black;"></div>
    11         </div>
    12     </div>
    13 </body>
    14 </html>

    效果图如下:

    由以上得出结论:position为relative都是相对于自身而言

    2、绝对位置

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title></title>
     5 </head>
     6 <body>
     7     <div style=" 200px;height: 300px;background-color: red;margin-top: 30px;">
     8         <div>
     9             <div style="height: 60px; 30px;background-color: green;"></div>
    10             <div style="position: absolute;top: 20px;border:1px solid white; 50px;height: 30px;background-color: black;"></div>
    11         </div>
    12     </div>
    13 </body>
    14 </html>

    效果图如下:

    将top为20的div的position设置为absolute,那么就会向上找到的position为relative的父元素,要是没有找到,则是相对于body的top为20px,否则是相对于含有position为relative的父元素而言

  • 相关阅读:
    使用国内镜像安装pyqt5
    python线程池 ThreadPoolExecutor 的用法及实战
    进程和线程、协程的区别
    python线程池实现
    python 多进程使用总结
    参与开源项目
    脑图——前端技术
    HTML中DTD使用小结
    浅谈面向对象——追溯法
    Dva.js 里面的几个概念
  • 原文地址:https://www.cnblogs.com/zhanghuiyun/p/6366034.html
Copyright © 2020-2023  润新知