2012-08-31 94 views
0

我已经看过几个堆栈溢出问题,虽然有些人帮助我制作了迄今为止我所拥有的东西,但是我仍然无法让它看起来完全像我之后的样子。我正在努力实现this盒子内的彩色边框和不透明度的曲线盒子

到目前为止this is my result查看时。

似乎它几乎在那里,除了中间区域的那些白色的角落。任何人都可以帮我弄清楚我做错了什么?我的代码如下。

HTML:

<div class="outerborder"> 
     <div class="middleborder"> 
      <div class="innerborder"> 
       <div class="contentarea"> 

        Text here lalalalala 

       </div> 
      </div> 
     </div> 
    </div> 

CSS:

.outerborder 
{ 
border-radius:10px; 
border: 1px solid #000; 
} 

.middleborder 
{ 
border-radius:10px; 
border: 10px solid rgba(102,153,102, .5); 
} 

.innerborder 
{  
border-radius:10px; 
border: 1px solid #000; 
} 

.contentarea 
{ 
padding: 10px; 
border-radius:10px; 
background: #c7c7c7; 
} 
+0

为什么要用这么多的元素,而不只是一个? – Ana

+0

你的'middleborder'有一个白色背景,因为它的孩子的边界半径而显示。如果需要,您可以为其背景添加颜色,但@ SNAG的解决方案很好。 – DigTheDoug

+0

你实际上也可以移除内边界。我已编辑我的回答 – SNAG

回答

3

我进一步修改此。

摆脱middleborder并使用它。

<style> 
     .outerborder 
     { 
     border-radius:10px; 
     border: 1px solid #000; 
     background:rgba(102,153,102, .5); 
     padding:10px; 
     } 

     .contentarea 
     { 
     padding: 10px; 
     border-radius:10px; 
     background: #c7c7c7; 
     border: 1px solid #000; 
     } 
     </style> 
     <div class="outerborder"> 
     <div class="contentarea"> 
      Text here lalalalala 
     </div> 
     </div>​ 
+0

感谢您的意见。最受欢迎 –

+0

欢迎你 – SNAG

0
<div class="outerborder"> 
     <div class="contentarea"> 
      Text here lalalalala 
     </div> 
</div> 

.outerborder 
{ 
    border-radius:10px; 
    border: 1px solid #000; 
    background-color:rgba(102,153,102, .5); 
    padding:10px; 
} 
.contentarea 
{ 
    padding: 10px; 
    border-radius:10px; 
    border:1px solid #000; 
    background: #c7c7c7; 
} 
2

你可以只用1元做到这一点:http://dabblet.com/gist/3559637

HTML:

<div class='b'>Text-here lalala</div> 

CSS:

.b { 
    position: relative; 
    padding: 10px; 
    border: solid 1px #000; 
    border-radius: 10px; 
    box-shadow: 0 0 0 10px rgba(102, 153, 102, .5); 
    margin: 125px 15px 0; 
} 
.b:before { 
    position: absolute; 
    top: -11px; right: -11px; bottom: -11px; left: -11px; 
    border: solid 1px #000; 
    border-radius: 21px; 
    content: ''; 
} 
+1

你也可以做这样的事情:http://jsfiddle.net/charlescarver/dkdDb/1/尽管我的方式并不是最好的方式,因为绿色阴影有一个不透明的,但它是在它下面有一个黑色阴影,所以两者之间必须有一个阴影,那就是背景的颜色。 – Charlie

+0

是的,这正是我使用伪元素的原因:)背景可能是渐变或图像。 – Ana

+0

使用伪元素时,需要一个空的'content'属性吗? – Charlie