CSS悬停在锚标签上,显示i-beam光标几分之一秒

时间:2018-06-19 07:17:06

标签: html css

我正在通过重新创建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>

有什么问题?我该怎么做才能阻止这个?

很抱歉,如果这是一个重复的问题。我试着搜索。找不到完全匹配的。

2 个答案:

答案 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

&#13;
&#13;
.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;
&#13;
&#13;

无需等待:hover应用它。