html - 悬停元素时添加背景图像

标签 html css flexbox

所以我想做的是:

  1. 当你将鼠标悬停在 li 上时,a 也会变得透明(因此它也会受到影响)
  2. 当您点击 li 时,它会转到另一个页面(基本上,它正在做 a 应该做的事情)。
  3. 当您将鼠标悬停在 li 上时,会出现背景图片,替换 a 中的文本。

这是我在 html 中的内容:

nav ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
nav ul li:hover {
  background-color: #FFB53A;
}
nav ul li a {
  text-decoration: none;
  color: black;
  font-family: Gotham book;
}
nav ul li {
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: center;
  width: 20%;
  border-right: 1px solid #b3b3b3;
}
nav {
  background-color: #ccc;
  width: 100%;
}
nav ul .lupa {
  background-image: url("http://i.imgur.com/kXm05cw.png");
  background-repeat: no-repeat;
  background-position: center;
}
<nav>
  <ul>
    <li class="opcion-1"><a title="Opcion 1" href="#">Quiénes somos</a></li>
    <li class="opcion-2"><a title="Opcion 2" href="#">Nuestro trabajo</a></li>
    <li class="opcion-3"><a title="Opcion 3" href="#">UNAC news</a></li>
    <li class="opcion-4"><a title="Opcion 4" href="#">Cómo donar</a></li>
    <li class="lupa"><a title="Opcion 5" href="#"></a></li>
  </ul>
</nav>

最佳答案

nav {
  display: flex;
  justify-content: space-between;
  background-color: #ccc;
}

nav > a {
  text-decoration: none;
  color: black;
  font-family: Gotham book;
  text-align: center;
  width: 20%;
  border-right: 1px solid #b3b3b3;
  padding-top: 15px;
  padding-bottom: 15px;
}

nav > .lupa {
  background-image: url("http://i.imgur.com/kXm05cw.png");
  background-repeat: no-repeat;
  background-position: center;
}

nav > a:hover {
  background-color: #FFB53A;
  color: transparent;
  background-image: url(http://i.imgur.com/60PVLis.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
<nav>
  <a class="opcion-1" title="Opcion 1" href="#">Quiénes somos</a>
  <a class="opcion-2" title="Opcion 2" href="#">Nuestro trabajo</a>
  <a class="opcion-3" title="Opcion 3" href="#">UNAC news</a>
  <a class="opcion-4" title="Opcion 4" href="#">Cómo donar</a>
  <a class="lupa" title="Opcion 5" href="#"></a>
</nav>

jsFiddle

关于html - 悬停元素时添加背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386055/

相关文章:

android - 如何在 android 上修复键盘上方的内容 (manifest.json)

css - 如何使用 Bootstrap 减少输入元素的宽度

javascript - 如何在 css 中的 flex-item 中设置相对边距?

html - flex : n with different n of items

javascript - 为什么我的 react-native 组件会重叠

html - 下拉列表对齐问题 (HTML/CSS)

jquery - 防止 JQUERY .load 从缓存中加载

python - 如何在html中提取python列表变量的值?

html - 绝对定位子元素,忽略父元素的边距

jquery - 如何使用jquery设置di​​v向下滑动和向上滑动?