0

我正在尝试在我的网页中实现此效果..

在此处输入图像描述

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

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

4

2 回答 2

0

您可以这样做,只需将旋转的部分突出显示为蓝色,您就可以看到会发生什么;)

如果您更改大小,您可能必须使用 top: 和 left: 值

编辑:添加了一个小菜单示例(真的很小^^)

jsfiddle链接

这是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;    
}

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

于 2012-07-17T02:11:51.077 回答
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;
}
于 2012-07-17T02:27:09.787 回答