创建带阴影的css折角

时间:2015-12-17 14:55:59

标签: html5 css3 box-shadow

如何使用外部阴影进行折角,该阴影继续显示父div阴影,如下所示:

What I want to do

感谢。

2 个答案:

答案 0 :(得分:0)

CSS背景和边框模块第4级介绍了the corner-shape property

  

默认情况下,非零border-radii定义一个四舍五入的圆形   受影响的角落。但是在某些情况下,其他角落形状也是如此   期望。 corner-shape属性指定重新解释   半径定义其他角落形状。

在您的情况下,您应将其设置为bevel

  

边界半径定义了角落处的对角切片。

代码就像

corner-shape: bevel;
border-radius: 0 0 30px;
box-shadow: 0 0 5px #000;

但是,此规范草案尚未准备好实施。所以浏览器还没有实现它。但您可以使用corner-shape preview查看其外观。

答案 1 :(得分:0)

尝试了这个,有点复杂,但它有效



.box {
  width: 200px;
  height: 100px;
  position: relative;
  padding: 25px;
  background: none;
}

.box .content {
  position: relative;
  z-index: 2;
}

.box .the_background {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.box .the_background .square-top-right {
  width: 250px;
  height: 125px;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  display: block;
  z-index: 3;
}

.box .the_background .square-bottom-left {
  width: 225px;
  height: 150px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #fff;
  display: block;
  z-index: 3;
}

.box .the_background:after {
  content: '';
  width: 35px;
  height: 35px;
  background: #ddd;
  position: absolute;
  z-index: 2;
  right: 7px;
  bottom: 7px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-box-shadow: 0px 0px 10px #000;
  -moz-box-shadow: 0px 0px 10px #000;
  box-shadow: 0px 0px 10px #000;
}

.box .the_background .square-shadow {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.box .the_background .square-shadow:before {
  content: '';
  position: absolute;
  left: 0;
  width: 250px;
  height: 125px;
  -webkit-shadow: 0px 0px 10px #000;
  -moz-shadow: 0px 0px 10px #000;
  box-shadow: 0px 0px 10px #000;
}

.box .the_background .square-shadow:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 225px;
  height: 25px;
  -webkit-shadow: 0px 0px 10px #000;
  -moz-shadow: 0px 0px 10px #000;
  box-shadow: 0px 0px 10px #000;
}

<div class="box">
  <div class="content">
    Lorem ipsum...
  </div>
  <div class="the_background">
    <div class="square-top-right"></div>
    <div class="square-bottom-left"></div>
    <div class="square-shadow"></div>
  </div>
</div>
&#13;
&#13;
&#13;