创建一个slopy元素

时间:2012-07-17 01:53:25

标签: html css css3 css-shapes

我想在我的网页上实现这种效果..

enter image description here

红色框是我要放置菜单的地方,我希望红色框的底部是倾斜的。倾斜右侧的部分需要是透明的,因为背景中可能存在灰色的图像。

我唯一能想到的就是旋转元素,但这也会旋转我不想要的元素的内容..只有红色元素的底部bg(将是纯色)应该倾斜。

2 个答案:

答案 0 :(得分:0)

你可以这样做,只是突出显示旋转的部分蓝色,你看到会发生什么;)

你可能需要使用top:和left:值来改变大小

编辑:添加了一个小菜单示例(非常小^^)

jsfiddle link

这是html部分:

<div id="menucontainer">
    <ul>
        <li>some</li>
        <li>menu</li>
        <li>here</li>
    </ul>
</div>
<div id="rotatedDiv">
</div>
<div id="background"></div>

这里是css部分:

#menucontainer{
    position: relative;
    z-index: 100;
    background: red;
    height: 100px;
}

#menucontainer ul {
    position: absolute;
    bottom: 0px;
    left: 30px;    
}

#menucontainer li {
    list-style: none;
    margin-left: 10px;
    background: #123;
    display: inline-block;
}

#rotatedDiv {
    z-index: 99;
    background: blue;
    position: absolute;
    top: 14px;
    left: -5px;
    height: 90px;
    width: 200%;
    -moz-transform: rotate(-2deg);
    -webkit-transform: rotate(-2deg);
    -o-transform: rotate(-2deg);
    -ms-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

#background {
    background: green;    
}

您可能希望以您能想到的任何方式对其进行修改,但我认为主要部分应该清楚;)

答案 1 :(得分:0)

您可以使用透明边框:

HTML

<div class="bgone">
    <div class="content">This is where the menu would go.</div>
</div>
<div class="bgtwo"></div>

CSS

.bgone {
    height: 100px;
    background: black;
    position: relative;
}

.bgtwo {
    height: 50px;
    border-top: 100px solid black;
    border-right: 1000px solid transparent;

}
.content {
    position: absolute;
    top: 10px;
    left: 10px;
    color: #FFF;
}