我正在尝试在我的网页中实现此效果..
红框是我放置菜单的地方,我希望红框的底部倾斜。斜面右侧的部分需要透明,因为背景中可能存在灰色的图像。
我唯一能想到的是旋转元素,但这也会旋转我不想要的元素的内容。只有红色元素(将是纯色)的底部 bg 应该倾斜。
我正在尝试在我的网页中实现此效果..
红框是我放置菜单的地方,我希望红框的底部倾斜。斜面右侧的部分需要透明,因为背景中可能存在灰色的图像。
我唯一能想到的是旋转元素,但这也会旋转我不想要的元素的内容。只有红色元素(将是纯色)的底部 bg 应该倾斜。
您可以这样做,只需将旋转的部分突出显示为蓝色,您就可以看到会发生什么;)
如果您更改大小,您可能必须使用 top: 和 left: 值
编辑:添加了一个小菜单示例(真的很小^^)
这是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;
}
您可能想以您能想到的任何方式对其进行修改,但我认为主要部分应该很清楚;)
您可以使用透明边框来做到这一点:
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;
}