zoukankan      html  css  js  c++  java
  • CSS宽度或者高度设置100%和inherit的区别

    一、相同点

      大多数情况下,两者作用是一样的。

    ① 父容器width/height: auto,无论width/height:100%或者width/height:inherit表现都是auto。
    ② 父容器width/height: 100px,无论width/height:100%或者width/height:inherit表现都是100px高。

      例如如下代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style type="text/css">
            .outer {
                width: 200px;
                height: 200px;
                border: 5px solid #cd0000;
                margin: 10px;
            }
    
            .height-100 {
                width: 100%;
                height: 200px;
                background-color: #beceeb;
            }
    
            .height-inherit {
                width: inherit;
                height: 200px;
                background-color: #beceeb;
            }
        </style>
    </head>
    <body>
    <div class="outer">
        <div class="height-100"></div>
    </div>
    <div class="outer">
        <div class="height-inherit"></div>
    </div>
    </body>
    </html>

      效果如下所示:

     二、不同点

      当子元素为绝对定位时,父元素的position值为static时,由于父元素脱离了文档流,宽度设置为100%即和body的宽度一致了。

      如果设置width:inherit的时候,浏览器会将父盒子的宽度赋值给他。

      如下代码所示:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style type="text/css">
            .outer {
                width: 200px;
                height: 200px;
                border: 5px solid #cd0000;
                margin: 10px;
            }
    
            .height-100 {
                position: absolute;
                width: 100%;
                height: 200px;
                background-color: #beceeb;
            }
    
            .height-inherit {
                position: absolute;
                width: inherit;
                height: 200px;
                background-color: #beceeb;
            }
        </style>
    </head>
    <body>
    <div class="outer">
        <div class="height-100"></div>
    </div>
    <div class="outer">
        <div class="height-inherit"></div>
    </div>
    </body>
    </html>

      效果如下所示:

       解决绝对定位脱离文档流从而导致宽度为body宽度的问题,在父元素上加position:relative

  • 相关阅读:
    20、Windows API 进程间通信,邮槽(Mailslot)
    15、Windows API 线程同步
    11、Windows API 内存管理(1)
    17、Windows API 图形用户界面(1)
    16、Windows API 服务
    12、Windows API 内存管理(2)
    19、Windows API 系统信息
    Oracle: 四、Oracle连接查询,子查询(相关子查询,嵌套子查询)(下)
    OpenSource: “一个开源的留言系统”,欢迎加入,共同开发
    Oracle: 四、对scott用户的基本查询操作(上篇)
  • 原文地址:https://www.cnblogs.com/gg-qq/p/14066497.html
Copyright © 2011-2022 走看看