【发布时间】:2023-03-09 11:45:01
【问题描述】:
当您悬停链接时,我正在尝试做一些随着时间的推移出现的边框动画......但由于某种原因,我没有得到矩形并没有填充 svg 宽度并且结束看起来像这样:
这里可以看到sgv的宽度:
在这里你可以看到矩形宽度:
这是我的 HTML 和 CSS
.nav-container {
background-color: #1f1d36;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 60px;
border-radius: 0 0 15px 15px;
display: grid;
grid-template-columns: 1fr 3fr 1fr;
justify-items: center;
align-items: center;
}
.nav-menu-container {
display: flex;
justify-content: space-between;
align-items: center;
width: 65%;
height: 30px;
}
.nav-link-container {
position: relative;
border-radius: 5px;
opacity: 0.55;
padding: 5px;
transition: 0.6s ease all;
overflow: hidden;
}
.nav-link-container svg {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
fill: none;
}
.nav-link-container rect {
width: 100%;
height: 100%;
position: absolute;
stroke: #3f3351;
stroke-width: 4px;
stroke-dasharray: 500;
stroke-dashoffset: 500;
transition: 0.6s ease all;
}
'<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css" integrity="sha512-YWzhKL2whUzgiheMoBFwW8CKV4qpHQAEuvilg9FAn5VJUDwKZZxkJNuGM4XkWuk94WCrrwslk8yWNGmY1EduTA==" crossorigin="anonymous" referrerpolicy="no-referrer" />'
<!--Navigation bar-->
<div class="nav-container">
<!--Right nav items-->
<span class="nav-left-side">
<i class="fas fa-code"> </i>Title
</span>
<!--Center nav items-->
<div class="nav-menu-container">
<!--Home-->
<div class="nav-link-container">
<a href="/">
<span><i class="fas fa-home"> </i>Home</span>
</a>
<svg>
<rect x="0" y="0" fill="none"></rect>
</svg>
</div>
<!--Contact me-->
<div class="nav-link-container">
<a href="/contact">
<span><i class="fas fa-headset"> </i>Contact me</span>
</a>
<svg>
<rect x="0" y="0" fill="none"></rect>
</svg>
</div>
<!--About me-->
<div class="nav-link-container">
<a href="/about">
<span><i class="fas fa-gamepad"> </i>About me</span>
</a>
<svg>
<rect x="0" y="0" fill="none"></rect>
</svg>
</div>
<!--Flex box-->
<div class="nav-link-container">
<a href="/flex-box">
<span><i class="fas fa-code-branch"> </i>Flex box</span>
</a>
<svg>
<rect x="0" y="0" fill="none"></rect>
</svg>
</div>
</div>
<!--Left nav items-->
<span class="nav-right-side"> <i class="fas fa-search"> </i>Seach </span>
</div>
【问题讨论】:
-
尝试将
cureentColor用于您的平均元素,<svg fill="currentColor">...</svg>
标签: html css css-animations