【问题标题】:CSS Follow Mouse EffectCSS 跟随鼠标效果
【发布时间】:2017-09-07 19:57:23
【问题描述】:

如何创建鼠标跟随效果,如图中带箭头的效果,箭头是鼠标跟随的直线对象,而红色框是效果发生的宽度。

【问题讨论】:

  • 不清楚你想要达到什么。你想要一个红色箭头跟随你的鼠标吗?到目前为止你有什么尝试?请记住,Stack Overflow 不是一个代码编写服务,它给我们一个模糊的规范,期望代码作为回报不太可能得到很好的接受。
  • 显示你的尝试。
  • 请在您的问题中更具体:) 向我们展示一些代码
  • 嘿 Sasori,据我了解,您需要在每个单独的菜单项中创建绝对位置和宽度为 0 的菜单项。将鼠标悬停在 item 上后,此宽度应为 100% 。这样你就可以实现。提供一些代码可以更好地帮助我们和您。
  • 嗨!感谢您的回复。 @JonP 抱歉,这是我第一次在 stackoverflow 中提问。

标签: javascript html css


【解决方案1】:

我想你说的是这种类型的菜单

#cssmenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1;
  display: block;
  zoom: 1;
}

#cssmenu ul:after {
  content: " ";
  display: block;
  font-size: 0;
  height: 0;
  clear: both;
  visibility: hidden;
}

#cssmenu ul li {
  display: inline-block;
  padding: 0;
  margin: 0;
}

#cssmenu.align-right ul li {
  float: right;
}

#cssmenu.align-center ul {
  text-align: center;
}

#cssmenu ul li a {
  color: #434351;
  text-decoration: none;
  display: block;
  padding: 15px 25px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 14px;
  position: relative;
  -webkit-transition: color .25s;
  -moz-transition: color .25s;
  -ms-transition: color .25s;
  -o-transition: color .25s;
  transition: color .25s;
}

#cssmenu ul li a:hover {
  color: #333333;
}

#cssmenu ul li a:hover:before {
  width: 100%;
}

#cssmenu ul li a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 3px;
  width: 0;
  background: #434351;
  -webkit-transition: width .25s;
  -moz-transition: width .25s;
  -ms-transition: width .25s;
  -o-transition: width .25s;
  transition: width .25s;
}

#cssmenu ul li.last>a:after,
#cssmenu ul li:last-child>a:after {
  display: none;
}

#cssmenu ul li.active a {
  color: #434351;
}

#cssmenu ul li.active a:before {
  width: 100%;
}

#cssmenu.align-right li.last>a:after,
#cssmenu.align-right li:last-child>a:after {
  display: block;
}

#cssmenu.align-right li:first-child a:after {
  display: none;
}

@media screen and (max-width: 768px) {
  #cssmenu ul li {
    float: none;
    display: block;
  }
  #cssmenu ul li a {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #fb998c;
  }
  #cssmenu ul li.last>a,
  #cssmenu ul li:last-child>a {
    border: 0;
  }
  #cssmenu ul li a:after {
    display: none;
  }
  #cssmenu ul li a:before {
    display: none;
  }
}
<div id='cssmenu'>
  <ul>
    <li class='active'><a href='#'><span>Home</span></a></li>
    <li><a href='#'><span>Products</span></a></li>
    <li><a href='#'><span>Company</span></a></li>
    <li class='last'><a href='#'><span>Contact</span></a></li>
  </ul>
</div>

【讨论】:

  • 这实际上不是我正在寻找的答案。但我想这也很棒。谢谢@Ezzuddin
猜你喜欢
  • 2015-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 2022-01-15
  • 2011-11-08
  • 2014-06-23
相关资源
最近更新 更多