0

Using this block of code to create an overlay and a box.

problem: the box is inheriting the opacity of parent and I will like it to have no transparency.

#overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #000;
      filter:alpha(opacity=50);
      -moz-opacity:0.5;
      -khtml-opacity: 0.5;
      opacity: 0.5;
      z-index: 10000;
      text-align: center;        
    }

    #formed{
      background-color: white;      
      width:300px;
      height:200px;
      position:relative;
      left:50%;
      top:50%;
      margin:-100px 0 0 -150px;
    }

<div id="overlay"><div id="formed">Enter Here</div></div>
4

3 に答える 3

1

残念ながら、それが機能する方法です。親divの場合、背景色にRGBAを使用してみることができます-http background: rgba(0, 0, 0, 0.5); ://css-tricks.com/rgba-browser-support/

于 2012-05-22T18:04:57.257 に答える
0

このような場合(IE7以前をサポートする必要がないと仮定して)、このフィドルのように不透明度を疑似要素に適用します。コード:

CSS

#overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 10000;
      text-align: center;        
    }

#overlay:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    filter:alpha(opacity=50);
    -moz-opacity:0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
    z-index: 0;
}

#formed{
    background-color: white;      
    width:300px;
    height:200px;
    position:relative;
    left:50%;
    top:50%;
    margin:-100px 0 0 -150px;
    z-index: 1;
 }
于 2012-05-22T19:14:30.113 に答える
0

みんなありがとう。次の2つのことを行うことで問題を解決できました。

  • 子 div を親の外に持っていきます。 <div id="overlay"></div><div id="formed">Here</div>

  • 両方の div の位置を変更する

    #overlay{
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: #000;
          filter:alpha(opacity=50);
          -moz-opacity:0.5;
          -khtml-opacity: 0.5;
          opacity: 0.5;
          z-index: 10000;
          text-align: center;
          display: none;
        }
    
        #formed{
          /* for IE */
          filter:alpha(opacity=100);
          /* CSS3 standard */
          opacity:1;
          -webkit-border-radius: 10px;
          -moz-border-radius: 10px;
          border-radius: 10px;
          background-color: white;
          width:300px;
          height:200px;
          position: absolute;
          left:50%;
          top:50%;
          margin:-100px 0 0 -150px;
          z-index: 12000;
          border: 2px solid #eee;
          display: none;
        }
    
于 2012-05-22T21:51:34.820 に答える