我已尝试为我的头部菜单创建此mouse over shadow,但遗憾的是我无法创建足够令人满意的内容。我正在玩盒子半径和盒子阴影(插图),以创造正确的形状和阴影。
这就是我得到的:
background: tomato;
width: 100px;
height: 50px;
border-bottom-right-radius: 45px;
border-bottom-left-radius: 45px;
-webkit-box-shadow: inset 0px 0px 17px 0px rgba(0,0,0,0.75);
-moz-box-shadow: inset 0px 0px 17px 0px rgba(0,0,0,0.75);
box-shadow: inset 0px 0px 17px 0px rgba(0,0,0,0.75);
我可以使用其他命令吗?或者,我被迫使用图像?在这种情况下,是否可以使用CSS sprites动态更改相同图像的宽度,具体取决于文本的长度?我已经看到了用于此目的的精灵图像,看起来像这样CSS sprite images example,但我从未使用过这种技术,因为我没有找到它的“如何”指南。也许你可以把我好的东西联系起来或仔细解释一下?
谢谢你们!
答案 0 :(得分:0)
可能你可以使用这种技术,并且元素后面只有红色背景? (并将缩进放在上面)
http://codepen.io/Paulie-D/pen/LawCb
(javascript只是提供演示点击) (我没有制作那些代码,只知道它。)
<nav role='navigation'>
<ul>
<li><a class="current" href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</nav>
CSS:
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
ul, li {
padding: 0;
list-style: none;
}
ul {
text-align: center;
margin-top:15px;
}
li {
display: inline-block;
background-color: red;
font-size:0;
position: relative;
}
a {
display: block;
text-decoration: none;
font-size:1rem;
color:white;
padding: 1rem 2rem;
position: relative;
}
li:before,
li:after {
position: absolute;
content:"";
top:100%;
width:calc(50% - 12px); /* allows to width of triangle*/
height:12px;
background-color: red;
}
li:before{
left:0;
}
li:after {
right:0;
}
a:before {
position: absolute;
content:"";
z-index:-1; /* hide behind link */
border:12px solid red;
top:100%;
left:50%;
transform:translate(-50%, -50%); /* center the pseudo element and only show bottom half*/
}
a.current:before {
border-bottom-color:transparent; /* our triangle */
}