如何用纯CSS叠加div?

时间:2014-04-22 09:36:54

标签: css

要创建此效果:

enter image description here

可能或者我需要用软件设计它吗?

4 个答案:

答案 0 :(得分:2)

您可以使用渐变作为背景

div {
    background: -moz-linear-gradient(-45deg,  #1e5799 50%, #207cca 50%, #7db9e8 100%); 
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%,#1e5799),   color-stop(50%,#207cca), color-stop(100%,#7db9e8));    
    ...
}

示例:http://jsfiddle.net/w9fYj/

答案 1 :(得分:1)

您可以使用三角形(基本上适用于边框调整)How do CSS triangles work?

more

的其他形状

以下是您可能感兴趣的许多部门的变换的广泛示例。

Demo

HTML

<div class="wrapper">
    <div class="shape3">
        <div class="shape3-content">Hi there!</div>
    </div>
    <div class="shape1">
        <div class="shape1-content">Hi there!</div>
    </div>
    <div class="shape2">
        <div class="shape2-content">Hi there!</div>
    </div>
</div>

CSS

.wrapper {
    border: 1px solid #ff8888;
    height: 480px;
    left: 50%;
    margin: -240px 0 0 -320px;
    overflow: hidden;
    position: absolute;
    top: 50%;
    width: 640px;
}
.shape1 {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    background-color: #fff;
    border: 1px solid black;
    height: 50%;
    left: -25%;
    position: absolute;
    top: 70%;
    width: 150%;
}
.shape1-content {
    -webkit-transform: rotate(-15deg);
    -moz-transform: rotate(-15deg);
    padding-left: 230px;
}
.shape2 {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    background-color: #fff;
    border: 1px solid #88ff88;
    bottom: 244px;
    height: 100%;
    position: absolute;
    right: 50%;
    width: 100%;
}
.shape2-content {
    -webkit-transform: rotate(-15deg);
    -moz-transform: rotate(-15deg);
    bottom: 10px;
    position: absolute;
    right: 10px;
}
.shape3 {
    background:red;
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    border: 1px solid #8888ff;
    bottom: 40%;
    height: 100%;
    position: absolute;
    right: 20%;
    width: 100%;
}
.shape3-content {
    -webkit-transform: rotate(-30deg);
    -moz-transform: rotate(-30deg);
    bottom: 50%;
    position: absolute;
    right: 10px;
}

答案 2 :(得分:1)

这里使用纯CSS:

<强> HTML

<div id="test">
</div>

<强> CSS

#test {
    widh:300px;
    height:150px;
    background:#C3C3C3;
    position:relative;
    overflow:hidden;
}
#test:after {
    content:'';
    position:absolute;
    right:-100px;
    top:10px;
    transform:rotate(-30deg);
    -webkit-transform:rotate(-30deg);
    -moz-transform:rotate(-30deg);
    -o-transform:rotate(-30deg);
    -ms-transform:rotate(-30deg);
    width:500px;
    height:250px;
    background:#880015;
}

这是 FIDDLE

答案 3 :(得分:0)

如果您考虑在不使用CSS3的情况下支持旧浏览器,那么:

HTML

<div class="wrapper">
    <div class="left"></div>
    <div class="middle"></div>
    <div class="right"></div>
</div>

CSS

.wrapper {
    width: 400px;
    height: 100px;
}
.left {
    display: inline;
    float: left;
    background-color: #ccc;
    width: 100px;
    height: 100px;
}
.right {
    display: inline;
    float: right;
    background-color: #610A0A;
    width: 200px;
    height: 100px;
}
.middle {
    float:left;
    display: inline;
    line-height: 0%;
    width: 0px;
    border-top: 100px solid #ccc;
    border-right: 100px solid #610A0A;
}

<强> Fiddle Demo