我想知道是否(以及如何)一些如下图所示的文本阴影是可能的:
阴影在几个列表元素上减少。我想根据悬停在哪个元素上为每个元素赋予不同的悬停类,但我什至不确定如何使用 CSS 获得这种减少的阴影。如果有人能够教我如何做到这一点,那就太酷了。如果你愿意,你可以使用我的jsfiddle代码。
你可以试试这样的
(单击选项卡将其选中并查看阴影)
并使用box-shadow
所选选项卡的伪元素获得效果。
应该看起来像这样
HTML:
<ul class='tabs'>
<li><a href='#' tabindex='1'>1st tab</a></li>
<!-- as many tabs as you would like -->
<li><a href='#' tabindex='1'>aaand another tab</a></li>
</ul>
相关CSS:
.tabs { overflow: hidden; margin-top: 7em; list-style: none; }
.tabs li { float: left; border-right: 1px dotted #222; }
.tabs a {
display: block;
position: relative;
padding: 1em .66em;
font: .66em/1.1 sans-serif;
text-transform: uppercase;
text-decoration: none;
}
.tabs a:focus {
z-index: 3;
outline: none;
box-shadow: 0 -.5em 1.5em black;
background: lemonchiffon;
}
.tabs a:focus:before, .tabs a:focus:after {
position: absolute;
bottom: -1px;
width: 30em; height: 1px;
box-shadow: 0 0 20px 1px black;
content: '';
}
.tabs a:before {
left: -30.5em;
transform: rotate(-3deg);
transform-origin: 100% 100%;
}
.tabs a:after {
right: -30.5em;
transform: rotate(3deg);
transform-origin: 0 100%;
}
您可以增加 an<li>
以使其位于 的整个宽度内<ul>
,旋转它并给它一个阴影..
HTML:
...
</li>
<li class="shadow">1</li>
</ul>
CSS:
ul
{
overflow: hidden;
height: 50px;
}
li.shadow
{
width: 100%;
height: 100%;
position: relative;
top: 15px;
box-shadow: 0px 0px 45px #000;
-webkit-transform:rotate(-1deg);
}
</p>