中底盒阴影

时间:2013-11-07 16:47:45

标签: html css css3

我想在底部边框下方创建一个带有框显示的H2

这是我的“基础”代码:

<div class="bloc-principal">
<h2 id="toto">My H2</h2>
</div>
<style type="text/css">
   #toto{
     box-shadow: 0 4px 2px -2px gray;
    }
</style>

但我希望得到这样的结果:http://www.hostingpics.net/viewer.php?id=275479boxshadow.png

另一边没有边框,只是底部中间的这个小阴影。

我试图找到教程,但我没有得到相同的结果....

2 个答案:

答案 0 :(得分:1)

我认为多色/淡化阴影超出了box-shadow属性的能力。我使用了具有该渐变的绝对定位元素并将其放在文本的顶部。

http://jsfiddle.net/efdJA/

#toto {
    position:relative;
    background-color:white;
    height:100px;
    border:1px solid red;
}

#toto:before {
background: rgb(255,255,255);
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2UyZTJlMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(left,  rgba(255,255,255,1) 0%, rgba(226,226,226,1) 50%, rgba(255,255,255,1) 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,1)), color-stop(50%,rgba(226,226,226,1)), color-stop(100%,rgba(255,255,255,1)));
background: -webkit-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(226,226,226,1) 50%,rgba(255,255,255,1) 100%);
background: -o-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(226,226,226,1) 50%,rgba(255,255,255,1) 100%);
background: -ms-linear-gradient(left,  rgba(255,255,255,1) 0%,rgba(226,226,226,1) 50%,rgba(255,255,255,1) 100%);
background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(226,226,226,1) 50%,rgba(255,255,255,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=1 );

    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:10px;
    content:'';
}

抱歉可怕的background胡言乱语,我使用了惊人的CSS Gradient Generator

答案 1 :(得分:0)

向阴影图层添加剪裁,这样您就可以使框也半透明

#toto {
   position:relative;
   background: rgba(8,55,81,0.8);
   height:100px;
}

#toto:after {
   position: absolute;
   width: 90%;
   height: 5%;
   left: 5%;
   border-radius: 50%;
   z-index: -1;
   bottom: 0%;
   content: "";
   box-shadow: 0 4px 12px rgba(0,0,0,0.8);
   clip:rect(8px,auto,40px,auto);
}