• 盒子模型边距和定位


    盒子模型由外到内:由外边距margin,边框border,内边距padding,内容content这四个属性组成。

    1.外边距:margin: val

    val可以是左右居中 auto   

    • 两个盒子水平方向:一个盒子存在margin-left ,第二个存在margin-right。取两者之和显示在浏览器上·
    • 两个盒子垂直方向:一个盒子存在margin-bottom ,第二个存在margin-top。取距离大的值显示在浏览器上·
    • 解决内边距重叠:overflow: hidden;
                /*外边距margin 默认方向是 上—左—下—右
                给一个值默认四个方向都一样 两个值分别代表上下 和 左右,三个值代表上 左右 下*/
                    /*margin: 15px;*/
                    /*margin: 15px 10px;*/
                    /*margin: 15px 10px 5px;*/
                    /*margin: 15px 10px 5px 0;*/
    
                /*也可以给定方位 margin-方位: width*/
                    /*margin-top: 10px;*/

    2.border边框:border: width style color

    • style: 实线solid,虚线dashed,点线dotted,双边框double
    • border-radius: 50% (对于正方形边框达到快速圆角的效果)
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
             /*border边框:border: width style color*/
                border: 5px dotted red;  /*常用写法*/
                /*border-方位-width*/
                border-right- 10px;
                /*border-方位-style*/
                border-bottom-style: dashed;
                /*border-方位-color*/
                border-left-color: #000;   
        </style>
    </head>
    <body>
        <div class="box2">
    
        </div>
    </body>
    </html>

    3.内边距:内容和边框的边距padding: val;

    *** 行内元素只有左右的内边距

    /*!*内边距 padding-四个方位:width*!*/
    padding: 90px;
    /*padding-方向:val*/
    padding-right: 10px;

    4.浮动float: 只有左右浮动

    float-left   float-right

    - 浮动的定义:使元素**脱离文档流** ,按照指定(左右)方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。
    - **文档流** 是文档中可显示对象在排列时所占用的位置/空间(在页面中占位置)
    - **脱离文档流** :在页面内中不占位置

    -  清除浮动 :消除浮动带来的不利影响 是给浮动元素的父级消除影响

    • overflow: hidden;
    • .clearfix: after{content:'';display:block;clear:both;}     clearfix是一个classname

    5.定位:position  

    分为四种:静态定位static 

        1.静态定位相当于没有定位,是在浏览器默认的位置

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            div{
                /*使内容左右居中*/
                text-align: center;
                /*是内容上下居中 通过设置行高达到,行高等于该div的高度*/
                line-height: 200px;
                width: 200px;
                height: 200px;
                background: red;
                /*静态定位 */
                position: static;
                /*静态定位后 给方位值没有效果 没有定位也不能top*/
                top: 50px;
            }
        </style>
    </head>
    <body>
        <div>
            这是div
        </div>
    </body>
    </html>

    效果不变,div块没有移动

      2.相对定位 relactive  不脱离文档流,会占据空间

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            div{
                /*使内容左右居中*/
                text-align: center;
                /*是内容上下居中 通过设置行高达到,行高等于该div的高度*/
                line-height: 200px;
                width: 200px;
                height: 200px;
                background: red;
                /*相对定位 不定义偏移量 没效果*/
                position: relative;
                /*相对定位后 给方位值(定义偏移量)有效果*/
                right: -500px;
            }
        </style>
    </head>
    <body>
        <div>
            这是div
        </div>
    </body>
    </html>

    效果距离right: -500px;

      3.绝对定位 absolute 脱离文档流不占据空间参考父级relactive 或 fixed 定位 或 (没有父级)body

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            div{
                /*使内容左右居中*/
                text-align: center;
                width: 200px;
                height: 200px;
                background: red;
                /*相对定位 不定义偏移量 没效果*/
                position: relative;
                /*相对定位后 给方位值(定义偏移量)有效果*/
                top: 0px;
                /*定位后消除定位带来的不利*/
                overflow: hidden;
            }
    
            p{
                /*text-align: center;*/
                width: 100px;
                height:100px;
                border: 1px solid yellow;
                background: yellow;
                /*绝对定位 他的父级是div(relactive)*/
                position: absolute;
                /*离他父级的top2px*/
                top: 2;
            }
        </style>
    </head>
    <body>
        <div>
            这是div relactive
        </div>
        <p>这是p测试absolute</p>
    </body>
    </html>

    效果p定位之前                      -------                                                     之后    /*离他父级的top2px*/

       

      4.固定定位 fixed  ,相对于浏览器窗口进行定位,无论窗口怎么拉伸,他都跟着跑

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            div{
                /*使内容左右居中*/
                text-align: center;
                /*是内容上下居中 通过设置行高达到,行高等于该div的高度*/
                line-height: 200px;
                width: 200px;
                height: 200px;
                background: red;
                /*固定定位 */
                position: fixed;
                /*固定定位,给方位*/
                top: 100px;
                right: 100px;
            }
        </style>
    </head>
    <body>
        <div>
            这是div fixed
        </div>
    </body>
    </html>

    fixed的效果

    ****** 层级 z-index  默认=0

    <style>
            ul{
                width: 100px;
                height: 100px;
                border: 1px solid red;
           position: relative;
    } ul li{ width: 100px; height: 100px; background: #ddd;
           position: absolute; --2图
    } </style> <body> <ul>
      <li style="background: red"></li>                                       提高层级    <li style="z-index: 1">我是li1</li>
      <li style="background: yellow"></li>
      <li style="background: blue"></li>
    </ul> </body>

    不定位                            li 绝对定位后不占空间重叠在一起,最后一个li在最外层                  要使 li1 显示 用属性z-index: num num越大层级就高,就能显示出来

                                                                        

  • 相关阅读:
    把EXE可执行文件等作为资源包含在Delphi编译文件中
    delphi怎么做桌面滚动文字?
    cxGrid控件过滤筛选后如何获更新筛选后的数据集
    我的ecshop二次开发经验分享
    ECSHOP 数据库结构说明 (适用版本v2.7.3)
    cxGrid 怎样才能让不自动换行 WordWrap:=false
    vi notes
    ODI中显示us7ascii字符集的测试
    ODI 11g & 12c中缓慢变化维(SCD)的处理机制
    ODI中的临时接口
  • 原文地址:https://www.cnblogs.com/tangpg/p/8298592.html
Copyright © 2020-2023  润新知