我正在通过重新创建ionicframework.com网站来学习ReactJS。但是有一个小问题。
标题上有一组锚标记。当我将鼠标悬停在它们上面时,光标会变为工字形,持续几分之一秒,然后它会变为指针(这是预期的)。在我的机器上的firefox和chrome中都可以看到这一点。 website显然没有这个小故障。我试着抓住我的屏幕来说明发生了什么。 Here's在imgur上托管了一个GIF。
我没有附加反应链接的听众。它是纯CSS,带有:hover伪类。
我也做了一个fiddle,但遗憾的是故障很少(尝试快速移动鼠标并经常通过链接查看)
.preheader {
position: relative;
background: white;
box-shadow: 0 1px 2px 0 rgba(0, 20, 56, .06);
padding: 8px 0;
top: 0;
left: 0;
z-index: 999;
}
.container {
padding-left: 15px;
padding-right: 15px;
margin-left: auto;
margin-right: auto;
width: 100%;
}
.preheaderMenu {
font-family: 'Eina', "Helvetica Neue", Helvetica, sans-serif;
font-weight: 600;
display: flex;
justify-content: space-between;
align-items: baseline;
z-index: inherit;
}
.preheaderLinks {
z-index: inherit;
box-sizing: border-box;
transition: .2s color;
padding-right: 16px;
font-size: 10px;
color: #a8b0be;
letter-spacing: .04em;
}
.preheaderLinks:hover {
color: #3880ff;
cursor: pointer;
}
.subMenu {
z-index: inherit;
box-sizing: border-box;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: baseline;
}
.preheaderLinksUnderlined {
letter-spacing: .06em;
color: #727a87;
text-transform: uppercase;
padding: 0;
border-bottom: 2px solid #e8ebf1;
}
.preheaderCTA {
text-decoration: none;
transition: 0.3s background, 0.2s color;
color: #3880ff;
background-color: #e3efff;
box-sizing: border-box;
font-size: 10px;
letter-spacing: 0.04em;
border-radius: 3px;
padding: 4px 6px;
margin-right: 30px;
}
.preheaderCTA:hover {
color: #fff;
background-color: #3880ff;
box-shadow: none;
}
<nav class="preheader">
<div class="container">
<div class="preheaderMenu">
<div class="subMenu">
<a class="preheaderLinks">FRAMEWORK</a>
<a class="preheaderLinks">PWAs</a>
</div>
<div class="subMenu">
<a class="preheaderLinks preheaderLinksUnderlined"}>
The 2018 Ionic Developer Survey is here - Take the 2018 survey
</a>
</div>
<div class="subMenu">
<a class="preheaderLinks">HELP</a>
<a href="#" class="preheaderCTA">
LOG IN
</a>
</div>
</div>
</div>
</nav>
有什么问题?我该怎么做才能阻止这个?
很抱歉,如果这是一个重复的问题。我试着搜索。找不到完全匹配的。
答案 0 :(得分:6)
因为你在光标上使用了光标:指针,
尝试将cursor:指针应用于非悬停功能。
像这样,.preheaderLinks {
z-index: inherit;
box-sizing: border-box;
transition: .2s color;
padding-right: 16px;
font-size: 10px;
color: #a8b0be;
letter-spacing: .04em;
cursor:pointer;
}
答案 1 :(得分:3)
将cursor: pointer;
从.preheaderLinks:hover
移至.preheaderLinks
:
.preheader {
position: relative;
background: white;
box-shadow: 0 1px 2px 0 rgba(0, 20, 56, .06);
padding: 8px 0;
top: 0;
left: 0;
z-index: 999;
}
.container {
padding-left: 15px;
padding-right: 15px;
margin-left: auto;
margin-right: auto;
width: 100%;
}
.preheaderMenu {
font-family: 'Eina', "Helvetica Neue", Helvetica, sans-serif;
font-weight: 600;
display: flex;
justify-content: space-between;
align-items: baseline;
z-index: inherit;
}
.preheaderLinks {
z-index: inherit;
box-sizing: border-box;
transition: .2s color;
padding-right: 16px;
font-size: 10px;
color: #a8b0be;
letter-spacing: .04em;
cursor: pointer;
}
.preheaderLinks:hover {
color: #3880ff;
}
.subMenu {
z-index: inherit;
box-sizing: border-box;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: baseline;
}
.preheaderLinksUnderlined {
letter-spacing: .06em;
color: #727a87;
text-transform: uppercase;
padding: 0;
border-bottom: 2px solid #e8ebf1;
}
.preheaderCTA {
text-decoration: none;
transition: 0.3s background, 0.2s color;
color: #3880ff;
background-color: #e3efff;
box-sizing: border-box;
font-size: 10px;
letter-spacing: 0.04em;
border-radius: 3px;
padding: 4px 6px;
margin-right: 30px;
}
.preheaderCTA:hover {
color: #fff;
background-color: #3880ff;
box-shadow: none;
}
&#13;
<nav class="preheader">
<div class="container">
<div class="preheaderMenu">
<div class="subMenu">
<a class="preheaderLinks">FRAMEWORK</a>
<a class="preheaderLinks">PWAs</a>
</div>
<div class="subMenu">
<a class="preheaderLinks preheaderLinksUnderlined"}>
The 2018 Ionic Developer Survey is here - Take the 2018 survey
</a>
</div>
<div class="subMenu">
<a class="preheaderLinks">HELP</a>
<a href="#" class="preheaderCTA">
LOG IN
</a>
</div>
</div>
</div>
</nav>
&#13;
无需等待:hover
应用它。