私は自分のウェブページでこの効果を達成しようとしています..
赤いボックスはメニューを配置する場所です。赤いボックスの下部を斜めにしたいと思います。傾斜の右側のセクションは、背景に灰色の画像がある可能性があるため、透明にする必要があります。
私が思い付くことができる唯一のことは、要素を回転させることですが、それは私が望まない要素の内容も回転させます..赤い要素の一番下のbg(単色になります)のみを傾ける必要があります.
私は自分のウェブページでこの効果を達成しようとしています..
赤いボックスはメニューを配置する場所です。赤いボックスの下部を斜めにしたいと思います。傾斜の右側のセクションは、背景に灰色の画像がある可能性があるため、透明にする必要があります。
私が思い付くことができる唯一のことは、要素を回転させることですが、それは私が望まない要素の内容も回転させます..赤い要素の一番下のbg(単色になります)のみを傾ける必要があります.
透明な境界線でそれを行うことができます:
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;
}
回転した部分を青色で強調表示するだけで、何が起こるかがわかります ;)
サイズを変更する場合は、 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;
}
考えられる方法で変更したいかもしれませんが、主要部分は明確である必要があります;)