代码之家  ›  专栏  ›  技术社区  ›  newbie

为什么CSS不透明度会影响上面的div?

  •  2
  • newbie  · 技术社区  · 16 年前

    编辑:我只在最新的Firefox上测试过。

    .overlay {
        z-index: 1000;
        border: medium none;
        margin: 0pt;
        padding: 0pt;
        width: 100%;
        height: 100%;
        top: 0pt;
        left: 0pt;
        background-color: #fff;
        opacity: 0.6;
        cursor: wait;
        position: absolute;
    }
    .overlay .message {
        z-index: 1001;
        position: absolute;
        padding: 0px;
        margin: auto;
        width: 30%;
        top: 15%;
        left: 30%;
        text-align: center;
        color: #fff;
        border: 3px solid red;
        background-color: #fff;
        background: fuchsia;
        font-size: 18px;
        font-weight: bold;
        padding: 5%;
    }
    

    下面是HTML代码:

    <div class="overlay">
        <div class="message">
            test
        </div>
    </div>
    
    1 回复  |  直到 16 年前
        1
  •  2
  •   Gumbo    16 年前

    不透明度不仅影响元素本身,而且影响所有元素 覆盖 (所以 消息 也是)。如果您将覆盖和消息分开,它将起作用:

    <div class="modal">
        <div class="overlay">overlay</div>
        <div class="message">message</div>
    </div>
    

    .modal {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .overlay {
        /* … */
    }
    .message {
        /* … */
    }
    

    在这里 消息 覆盖 覆盖 这是我的风格。