带有z-index子对象的对象

时间:2014-03-05 07:32:54

标签: html css z-index

我有一个CSS功能区,它的两侧使用z-index。 http://jsfiddle.net/2nMe9/

enter image description here

我想将该对象放在容器上,但是,由于容器的深度可以设置为0,因此不会显示功能区的边距。 http://jsfiddle.net/Ws4CD/

<center><div style="background: black;width: 500px; height:600px;">
<img src="http://m3.i.pbase.com/u45/gaocus/upload/34638653.160x160hawk1301b.jpg" alt="" style="position:absolute;" />
<div id="ribbon">
    <div id="r_content">Text</div>
</div>

如何完全展示色带?

1 个答案:

答案 0 :(得分:1)

将z-indexes从负变为正(参见代码)。问题是背景的z-index是0,这是所有元素的默认值。因此,将z-index置于0会将您的功能区部件发送到该黑色背景后面。

#ribbon {
        padding: .34em 1em;
        width: 129px;
        margin-top: 130px;
        position:relative;
        color: #ffffff;
        font: 16px 'Patua One', sans-serif;
        text-align: center;
        letter-spacing:0.1em;
        text-shadow: 0px -1px 0px rgba(0,0,0,0.3);
        box-shadow: inset 0px 1px 0px rgba(255,255,255,.3),
                    inset 0px 0px 20px rgba(0,0,0,0.1),
                    0px 1px 1px rgba(0,0,0,0.4);
         background: #1eb2df;
        display: inline-block;
    }

#ribbon:before, #ribbon:after {
        content: "";
        width:.2em;
        bottom:-.5em;
        position:absolute;
        display:block;
        border: .9em solid #1eb2df;
        box-shadow:0px 1px 0px rgba(0,0,0,0.4);
        z-index:0;
    }

#ribbon:before {
        left:-1.35em;
        border-right-width: .75em;
        border-left-color:transparent;
    }

#ribbon:after {
        right:-1.35em;
        border-left-width: .75em;
        border-right-color:transparent;
    }

#r_content:before, #r_content:after {
        content:"";
        bottom:-.5em;
        position:absolute;
        display:block;
        border-style:solid;
        border-color: #0675b3 transparent transparent transparent;
        z-index:1;
    }

#r_content:before {
      left: 0;
      border-width: .5em 0 0 .5em;
    }

#r_content:after {
      right: 0;
      border-width: .5em .5em 0 0;
    }

小提琴:http://jsfiddle.net/mB3rn/