问题: 我有一个响应式设计和一组2列链接。每组链接都是一个列表。它们是对齐的中心。当你悬停时,会出现一个应该出现在文本旁边的箭头,但是我无法顺畅地定位它。最好的我想出了将箭头放在悬停上的绝对位置,这样它就可以与我的所有列表项“一起工作”。它看起来像垃圾。我希望它位于每个列表中每个h3的左侧。我只是没有想出一个聪明的方法。
<div class="contentLeft">
<ul class="ca-menu">
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
</ul>
</div>
<div class="contentRight">
<ul class="ca-menu">
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
<li>
<a href="#">
<div class="ca-content">
<h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
<p class="ca-sub">This is the subheading</p>
</div>
</a>
</li>
</ul>
</div>
这是我的CSS:
.arrow {
display: none;
width: 61px;
}
.ca-menu li:hover .arrow {
display: inline;
width: 61px;
position: absolute;
top: 10px;
}
.ca-menu {
margin-left: 0;
padding-left: 0;
z-index: 1;
}
.ca-menu li {
height: 100px;
overflow: hidden;
position: relative;
display: block;
margin-bottom: 4px;
-webkit-transition: all 300ms linear;
-moz-transition: all 300ms linear;
-o-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
}
.ca-menu li:last-child {
margin-bottom: 0px;
}
.ca-menu li a {
text-align: center;
width: 100%;
height: 100%;
display: block;
color: #333;
position: relative;
text-decoration: none;
}
.ca-content {
height: 60px;
}
.ca-main {
font-size: 26px;
color: #666;
margin-bottom: 10px;
text-decoration: none;
line-height: 29px;
-webkit-transition: all 300ms linear;
-moz-transition: all 300ms linear;
-o-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
}
.ca-sub {
color: #999 !important;
-webkit-transition: all 300ms linear;
-moz-transition: all 300ms linear;
-o-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
}
.ca-menu li:hover .ca-icon {
color: #e3721e;
opacity: 0.8;
text-shadow: 0px 0px 13px #fff;
}
.ca-menu li:hover .ca-main {
opacity: 1;
color: #e3721e;
-webkit-animation: moveFromTop 300ms ease-in-out;
-moz-animation: moveFromTop 300ms ease-in-out;
-ms-animation: moveFromTop 300ms ease-in-out;
}
.ca-menu li:hover .ca-sub {
opacity: 1;
-webkit-animation: moveFromBottom 300ms ease-in-out;
-moz-animation: moveFromBottom 300ms ease-in-out;
-ms-animation: moveFromBottom 300ms ease-in-out;
color: #333 !important;
}
感谢任何帮助。谢谢!
答案 0 :(得分:0)
开始了一个jsfiddle开始这方面的工作,因为它肯定值得关注。现在我不确定我是否得到了你想要的东西,但我很肯定这需要更多的工作。我得到了起始格式和箭头外观,但要激活它们,你需要将链接悬停在链接中的“the”上,然后将鼠标向上滑动一点。我将继续研究这个问题,以便你可以实际使用我提供的内容,但如果还有其他任何你想要的不同,请告诉我。
这是小提琴:jsfiddle linked here :)
答案 1 :(得分:0)
快速解决此问题的方法是-ve margin。 Here 是一个有效的现场演示。但你必须考虑一些事情。如果为图像指定高度和宽度,如果没有更改,并且已经在CSS中设置了它,则无需将其与<img>
一起放置。只需在CSS中定义图像宽度和高度。