当页面加载时,所有链接都有过渡时间。为什么?
All links have transition time together when the page loads. Why?
我有问题。正如您将从下面的代码中看到的,我为我的菜单项添加了一个过渡时间,因此当(在桌面上)我将鼠标悬停在它们上方时,它们会平滑地缩放。这很好,但我注意到当我单击或触摸任何具有 link 的文本或按钮时,转换会对所有锚标记起作用。当页面加载时,每个项目都是 link,平滑地“blinks”。
我做错了什么?我应该给每个 link 一个不同的 class 并独立地向每个 class 添加过渡吗?或者如何?
- 此外,为了让所有菜单 link 区域都可以点击,我不仅要在菜单容器上添加显示块,还要在每个 link 上添加显示块,你可以看到在 css 代码中(class 菜单项)。这是正常现象还是我做错了什么?
非常感谢!
我认为您无法从下面的代码片段中看到它,所以这里是托管在 netlify 上的网站,因此您可以看到正在运行的转换。 my website
.menu {
width: 100vw;
display: block;
text-align: center;
list-style: none;
line-height: 59px;
padding-top: 15px;
background: linear-gradient(360deg, rgb(255,190,139), rgb(255,210,179));
}
.menuitem {
display: block;
text-decoration: none;
font-family: 'Varela Round', sans-serif;
color: black;
cursor: pointer;
font-size: 43px;
transition: .3s;
}
.item {
transition: 0.2s;
}
.menuitem:hover {
color: white;
text-shadow: 2px 2px 5px black;
}
.item:active {
transform: scale(.8);
color: white;
text-shadow: 2px 2px 5px black;
}
.current {
color: white;
text-shadow: 2px 2px 5px black;
}
<nav>
<ul class="menu">
<li class="item home"><a class="current menuitem menuitemactive" href="index.html">Home</a></li>
<li class="item cani"><a href="cani.html" class="menuitem menuitemactive">Cani</a></li>
<li class="item gatti"> <a href="gatti.html" class="menuitem menuitemactive">Gatti</a></li>
<li class="item comeaiutarci"><a href="comeaiutarci.html" class="menuitem menuitemactive">Come aiutarci</a></li>
<li class="item contatti"><a href="contatti.html" class="menuitem menuitemactive">Contatti</a></li>
</ul>
</nav>
首先,您需要了解 transitions 的工作原理。
div {
transition: <property> <duration> <timing-function> <delay>;
}
在您的示例中,您通过不指定一个来转换每个类型的 属性,因为默认 属性 是“全部”。最佳做法是只转换一个 属性,否则所选元素中的每个 属性 都将被转换。
其次,您应该指定要转换的选择器(classes、ID 等),这样并非所有链接都会受到影响。
因此,如果您只想定位菜单并淡化颜色或 text-shadow,您可以这样做:
.menuitem {
transition: color 0.3s;
transition: text-shadow 0.3s;
}
如果您在网站的任何其他地方(主菜单除外)使用此 class,这些链接也将被转换。
我有问题。正如您将从下面的代码中看到的,我为我的菜单项添加了一个过渡时间,因此当(在桌面上)我将鼠标悬停在它们上方时,它们会平滑地缩放。这很好,但我注意到当我单击或触摸任何具有 link 的文本或按钮时,转换会对所有锚标记起作用。当页面加载时,每个项目都是 link,平滑地“blinks”。
我做错了什么?我应该给每个 link 一个不同的 class 并独立地向每个 class 添加过渡吗?或者如何?
- 此外,为了让所有菜单 link 区域都可以点击,我不仅要在菜单容器上添加显示块,还要在每个 link 上添加显示块,你可以看到在 css 代码中(class 菜单项)。这是正常现象还是我做错了什么?
非常感谢!
我认为您无法从下面的代码片段中看到它,所以这里是托管在 netlify 上的网站,因此您可以看到正在运行的转换。 my website
.menu {
width: 100vw;
display: block;
text-align: center;
list-style: none;
line-height: 59px;
padding-top: 15px;
background: linear-gradient(360deg, rgb(255,190,139), rgb(255,210,179));
}
.menuitem {
display: block;
text-decoration: none;
font-family: 'Varela Round', sans-serif;
color: black;
cursor: pointer;
font-size: 43px;
transition: .3s;
}
.item {
transition: 0.2s;
}
.menuitem:hover {
color: white;
text-shadow: 2px 2px 5px black;
}
.item:active {
transform: scale(.8);
color: white;
text-shadow: 2px 2px 5px black;
}
.current {
color: white;
text-shadow: 2px 2px 5px black;
}
<nav>
<ul class="menu">
<li class="item home"><a class="current menuitem menuitemactive" href="index.html">Home</a></li>
<li class="item cani"><a href="cani.html" class="menuitem menuitemactive">Cani</a></li>
<li class="item gatti"> <a href="gatti.html" class="menuitem menuitemactive">Gatti</a></li>
<li class="item comeaiutarci"><a href="comeaiutarci.html" class="menuitem menuitemactive">Come aiutarci</a></li>
<li class="item contatti"><a href="contatti.html" class="menuitem menuitemactive">Contatti</a></li>
</ul>
</nav>
首先,您需要了解 transitions 的工作原理。
div {
transition: <property> <duration> <timing-function> <delay>;
}
在您的示例中,您通过不指定一个来转换每个类型的 属性,因为默认 属性 是“全部”。最佳做法是只转换一个 属性,否则所选元素中的每个 属性 都将被转换。
其次,您应该指定要转换的选择器(classes、ID 等),这样并非所有链接都会受到影响。
因此,如果您只想定位菜单并淡化颜色或 text-shadow,您可以这样做:
.menuitem {
transition: color 0.3s;
transition: text-shadow 0.3s;
}
如果您在网站的任何其他地方(主菜单除外)使用此 class,这些链接也将被转换。