我无法用CSS和HTML创建想要的布局。嵌套歪斜divs,我怎样才能正确填充它们?
我想要的是一个标题偏斜的div,然后沿着x轴有一个直的背景。类似的事情下面的图片:
到目前为止,我的努力是徒劳的,你可以在这里看到。我需要内部div来扩展到外部div的全部点。
任何人有任何想法?
我无法用CSS和HTML创建想要的布局。嵌套歪斜divs,我怎样才能正确填充它们?
我想要的是一个标题偏斜的div,然后沿着x轴有一个直的背景。类似的事情下面的图片:
到目前为止,我的努力是徒劳的,你可以在这里看到。我需要内部div来扩展到外部div的全部点。
任何人有任何想法?
这是哈克的版本,你可以作为一个起点使用:
为您所需要的菜单后面显示的标题下的背景更复杂。因此,它需要菜单之后的白色条的另一个元素。我已将白色区域设置为%宽度,但菜单并非如此,因此需要进行修正以确保它们不会重叠。
基本技巧是用skewX
这个白色区域得到对角线,反向歪斜h1
这样文字就是直的。然后我添加一个负边距来隐藏元素的左侧。
header {
transform: skewX(-35deg);
margin-left: -5em
}
header h1 {
padding: 4em;
-webkit-transform: skewX(35deg);
}
我绝对随后位置的菜单项目,使他们在nav
的左下角,并将其旋转到正确的角度,在底部左侧的起源。然后,我的位置摆弄直到第一个项目是在正确的位置:
nav li {
transform: rotate(-55deg);
transform-origin: bottom left;
position: absolute;
bottom: -2.6em;
left: 0em;
}
最后我单独选择每个菜单项,并添加到左侧值正确poisition他们:
NAV李:nth- (2){ left:2.5em; }
等等......
理想情况下,菜单将保持在文档的流量,使您不必手动定位每个菜单项。这可能是可能的,但我已经没时间研究它了。我相信你可以建立它。
获得答案,这让我开始了。 – 2013-06-21 11:04:40
我建议你试试border-width
属性。这将解决您的问题。 这里是fiddle
的HTML:
<div class="abc"> </div>
的CSS:
.abc {
width: 200px;
height: 0px;
border-color: lightgray transparent;
border-style: solid;
border-width: 350px 350px 0px 0px;
position:relative;
display:block;
margin-left:50px;
}
希望这有助于。
当你说“你可以在这里看到”,这里在哪里? – vals 2013-05-09 18:17:54