我希望元素在元素悬停时移动到另一个元素。 这些元素是兄弟姐妹,因为我希望那个元素覆盖另一个元素。
以下HTML和CSS给我带来了不错的结果。 但是我不想使用“width”和“left”的常量值来为它们设置动画。 有没有办法将移动元素放在悬停元素上而不使用常量位置值?
nav .animation {
position: absolute;
height: 100%;
top: 0;
z-index: 0;
transition: all .5s ease 0s;
border-radius: 8px;
}
nav .start-home,
a:nth-child(1):hover~.animation {
width: 105px;
left: 0;
background-color: #1abc9c;
}
nav .start-blog,
a:nth-child(2):hover~.animation {
width: 105px;
left: 105px;
background-color: #e74c3c;
}
nav .start-projects,
a:nth-child(3):hover~.animation {
width: 135px;
left: 210px;
background-color: #3498db;
}
nav .start-about,
a:nth-child(4):hover~.animation {
width: 115px;
left: 345px;
background-color: #9b59b6;
}
nav .start-contact,
a:nth-child(5):hover~.animation {
width: 130px;
left: 460px;
background-color: #e67e22;
}
nav {
margin: 27px auto 0;
position: relative;
display: table;
height: 50px;
background-color: #34495e;
border-radius: 8px;
font-size: 0;
white-space: nowrap;
}
nav a {
line-height: 50px;
padding: 2px 30px;
height: 100%;
font-size: 15px;
display: inline-block;
position: relative;
z-index: 1;
text-decoration: none;
text-transform: uppercase;
text-align: center;
color: white;
cursor: pointer;
}
<nav>
<a href="#">Home</a>
<a href="#">Blog</a>
<a href="#">Projects</a>
<a href="#">About</a>
<a href="#">Contact</a>
<div class="animation start-home"></div>
</nav>
答案 0 :(得分:0)
我只能用CSS找到方法,所以我使用了JavaScript并修改了元素的样式。 这是我不想做的事情。 如果您只知道如何使用CSS,请告诉我。