html - 不透明度的 CSS 过渡不起作用

标签 html css hover transition

我的问题已经在标题中说明了。我想我做的一切都是正确的。但是,不会出现过渡效果。请注意,实际上出现了悬停效果,并且出现了 h5 标签内的文字,但没有过渡效果。这让我发疯,任何建议将不胜感激。

a.jobBoxLink {
  color: #B2B2B2;
  -moz-box-shadow: 3px 0 0px 0 #F2F2F2;
  -webkit-box-shadow: 3px 0 0px 0 #F2F2F2;
  box-shadow: 3px 0 0px 0 #F2F2F2;
}
.jobBoxLink:hover {
  text-decoration: none;
  color: black;
  display: block;
  background #B2B2B2;
}
.text-content {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  cursor: pointer;
  height: 200px;
  position: absolute;
  width: 200px;
  margin: 0;
  opacity: 0;
  -webkit-transition: opacity 5000ms;
  -moz-transition: opacity 5000ms;
  -o-transition: opacity 5000ms;
  transition: opacity 5000ms;
}
a.jobBoxLink:hover .text-content {
  opacity: 1;
}
.books {
  -moz-box-shadow: 0 0 8px 3px #F2F2F2;
  -webkit-box-shadow: 0 0 8px 3px #F2F2F2;
  box-shadow: 0 0 8px 3px #F2F2F2;
  border-radius: 5px;
  height: 200px;
  width: 200px;
  margin-bottom: 10px;
  margin-top: 10px;
  padding-left: -100px;
  alignment-adjust: central;
}
<div class="col-sm-4 col-md-2 BoxCol">
  <a href="#" class="jobBoxLink ">

    <div class="books" style="background-image:  url('images/dummy/design.jpg'); background-size: cover; background-repeat: no-repeat; background-position: 50% 50%;">
      <h5 class="text-content">Place Name</h5>
    </div>
    <!-- Job boxes -->
  </a>
  <div class="caption">
    <a href="#" class="icon"> <span class="fa fa-thumbs-up fa-lg"></span> &nbsp;</a>
    <span class="greyCaption"> 22</span> 
    <a href="#" class="icon">   &nbsp;<span class="fa fa-thumbs-down fa-lg"></span> </a> 
  </div>
  <!--like caption -->
</div>

最佳答案

这是因为您在 anchor 悬停时应用 css,默认情况下 <a>是一个内联元素,如果检查元素,您会看到实际上没有 <a> 的高度和宽度.

使用 display:block<a>将其转换为 block 元素和 css 将正常工作

a.jobBoxLink {
  color: #B2B2B2;
  display:block;
  -moz-box-shadow: 3px 0 0px 0 #F2F2F2;
  -webkit-box-shadow: 3px 0 0px 0 #F2F2F2;
  box-shadow: 3px 0 0px 0 #F2F2F2;
}
.jobBoxLink:hover {
  text-decoration: none;
  color: black;
  display: block;
  background #B2B2B2;
}
.text-content {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  cursor: pointer;
  height: 200px;
  position: absolute;
  width: 200px;
  margin: 0;
  opacity: 0;
  -webkit-transition: opacity 5000ms;
  -moz-transition: opacity 5000ms;
  -o-transition: opacity 5000ms;
  transition: opacity 5000ms;
}
a.jobBoxLink:hover .text-content {
  opacity: 1;
}
.books {
  -moz-box-shadow: 0 0 8px 3px #F2F2F2;
  -webkit-box-shadow: 0 0 8px 3px #F2F2F2;
  box-shadow: 0 0 8px 3px #F2F2F2;
  border-radius: 5px;
  height: 200px;
  width: 200px;
  margin-bottom: 10px;
  margin-top: 10px;
  padding-left: -100px;
  alignment-adjust: central;
}
<div class="col-sm-4 col-md-2 BoxCol">
  <a href="#" class="jobBoxLink ">

    <div class="books" style="background-image:  url('images/dummy/design.jpg'); background-size: cover; background-repeat: no-repeat; background-position: 50% 50%;">
      <h5 class="text-content">Place Name</h5>
    </div>
    <!-- Job boxes -->
  </a>
  <div class="caption">
    <a href="#" class="icon"> <span class="fa fa-thumbs-up fa-lg"></span> &nbsp;</a>
    <span class="greyCaption"> 22</span> 
    <a href="#" class="icon">   &nbsp;<span class="fa fa-thumbs-down fa-lg"></span> </a> 
  </div>
  <!--like caption -->
</div>

关于html - 不透明度的 CSS 过渡不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38737965/

相关文章:

javascript - 将 lat、long 点列表映射到 java 中的 x、y : is there a cleaner way to do this?

html - 我怎样才能使 div *不* 扩展以填充它的父级?

html - 我的链接不起作用(应该很简单)

jquery - 如何在不影响内容不透明度(悬停时)的情况下为背景不透明度设置动画?

html - 垂直居中页面,如果大于屏幕则使其滚动

html - Internet Explorer 中的 Segoe UI 字体

当内容延伸到页面下方时,HTML 正文不会滚动

CSSTransition 动画不工作

html - 从 Javascript 添加时,Bootstrap 列表组元素不显示

javascript - 如何使用 jquery 的 .hover 事件将图像更改为文本