我正在尝试创建带有一些边框和阴影的选项卡式内容。
这与我试图创建阴影的问题略有不同。此外,选项卡的整个区域都应该是可点击的。基本上是一个锚标签内的复杂 divli
尝试 1 使用一个方形框并以两个可见的边框宽度旋转它。
我现在拥有的:
我希望在打开/激活选项卡时获得什么(仅使用 CSS):
尝试 2 在每个 li 元素之后使用一个直角三角形。将其定位在下一个 li 元素之前在中间的白色填充处失败(可以用两个 li 之间的边距固定),但找不到可能的阴影解决方案。
尝试 3 将彩色右尖三角形定位在一个元素之后 将白色三角形定位在它后面并且 : 在下一个 li 元素之前。这次阴影吓到我了。
所以基本上问题是下一个 li 元素的尾巴和当前元素的人字形的阴影。
Stack Snippets 中的尝试演示
.my-tabs {
width: 100%;
margin: 10px 0 !important;
display: flex;
overflow: hidden;
position: relative;
z-index: 100;
padding-top: 10px;
}
.my-tabs li a {
padding: 15px 20px 15px 50px;
background: #ff5050;
display: block;
height: 56px;
}
.my-tabs li {
display: block;
width: 20%;
font-size: 1.1em;
margin: 0;
}
.my-tabs li:last-child:after {
border-top: 28px solid #fff;
border-left: 28px solid transparent;
margin-right: 0;
border-style: solid;
border-right: 0;
border-bottom: 28px solid #fff;
content: '';
height: 0;
float: right;
margin-top: -56px;
transform: none;
width: 0;
}
.my-tabs:after {
border-left: 40px solid #ff5050 !important;
margin-top: 1px;
margin-left: -2px;
}
.my-tabs li:after {
margin-right: -7px;
border-style: solid;
border-width: 4px 4px 0 0;
border-color: white;
content: '';
height: 43px;
float: right;
margin-top: -43px;
transform-origin: center top;
transform: rotate(45deg);
width: 43px;
}
.my-tabs li.active:after {
-webkit-box-shadow: 8px 0px 4px -3px #090A09;
-moz-box-shadow: 8px 0px 4px -3px #090A09;
-o-box-shadow: 8px 0px 4px -3px #090A09;
box-shadow: 8px 0px 4px -3px #090A09;
}
.my-tabs li.active {
border-bottom: 8px solid white;
}
.my-tabs li.active a {
-webkit-box-shadow: 0px 8px 4px -3px #090A09;
-moz-box-shadow: 0px 8px 4px -3px #090A09;
-o-box-shadow: 0px 8px 4px -3px #090A09;
box-shadow: 0px 8px 4px -3px #090A09;
}
<ul class="my-tabs">
<li id="gtab0" class=""><a href="javascript:void(0)">tab1</a></li>
<li id="gtab1" class=""><a href="javascript:void(0)">tab2</a></li>
<li id="gtab2" class="active"><a href="javascript:void(0)">tab3'</a></li>
<li id="gtab3" class=""><a href="javascript:void(0)">tab4</a></li>
<li id="gtab4" class=""><a href="javascript:void(0)">tab5</a></li>
</ul>