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

  • 相关阅读:
    Dotnet全平台下APM-Trace探索
    既生瑜何生亮?ASP.NET MVC VS ASP.NET Web API
    Dapper.NET——轻量ORM
    什么?字符串为空?
    Vue模板语法
    邂逅Vue.js
    Zookeeper是什么&怎么用
    虚拟机间实现免密登录
    十大排序算法最详细讲解
    JS将数字格式化成金融数字样式(千位分隔符,三位一个逗号间隔)
  • 原文地址:https://www.cnblogs.com/gg-qq/p/14066497.html
Copyright © 2011-2022 走看看