我遇到了一个问题,我有一个nav
,其中我有两个div
,其中我有一个li
。我希望div
与nav
栏重叠,但让我陷入困境的是,我希望nav
栏能够获得圆角,div
重叠,这意味着div
需要伸展他们的角落以使nav
栏形成圆形。这可能吗?我怎么能这样做?
ul {
list-style: none;
}
div {
display: inline-block;
width: 20%;
height: 30px;
margin: 0;
position: relative;
text-align: center;
-webkit-transform: skew(-40deg);
-moz-transform: skew(-40deg);
-o-transform: skew(-40deg);
background-color: #ddd;
}
nav {
background-color: #777;
padding: 0;
}
li {
font-size: 0.8em;
position: relative;
top: 505;
margin-top: -0.4em;
-webkit-transform: skew(40deg);
-moz-transform: skew(40deg);
-o-transform: skew(40deg);
}

<nav>
<ul>
<div class="overlapping_div">
<li>Text in div</li>
</div>
<div class="overlapping_div">
<li>Text in div</li>
</div>
</ul>
</nav>
&#13;
答案 0 :(得分:0)
li需要成为ul的直接孩子,为了做你想做的事,可以尝试这个解决方案:
<nav>
<ul>
<li class="overlapping_div">
<span>Text in div</span>
</li>
<li class="overlapping_div">
<span>Text in div</span>
</li>
</ul>
</nav>
,CSS看起来像这样
ul {
list-style: none;
}
.overlapping_div {
display: inline-block;
width: 20%;
height: 30px;
margin: 0;
position: relative;
text-align: center;
-webkit-transform: skew(-40deg);
-moz-transform: skew(-40deg);
-o-transform: skew(-40deg);
background-color: #ddd;
}
nav {
background-color: #777;
padding: 0;
}
span {
font-size: 0.8em;
position: relative;
top : 5px;
display : block;
-webkit-transform: skew(40deg);
-moz-transform: skew(40deg);
-o-transform: skew(40deg);
}