【发布时间】:2016-01-18 02:00:30
【问题描述】:
我正在尝试构建响应式图像悬停。我已经使宽度响应没有问题,但是高度引起了问题。我试过了:
- 设置最小/最大高度像素明智设置高度为自动(此 导致我的图像消失)
- 使用百分比表示高度(100% - 这会导致我的图像消失)
- 使用媒体查询(仅在断点处更改)
我主要基于 Responsive Image Hover - CSS/JQuery 的帖子来创建这个 CSS,但我无法理解为高度提供的解决方案,或者我执行不正确。
.viewport_css {
position: relative;
max-width: 599px;
height: auto;
overflow: hidden;
}
.viewport_css .dummy {
width: 100%;
height: auto;
display: block;
}
.viewport_css a,
.viewport_css a:hover:before,
.viewport_css a:hover:after {
position: absolute;
left: 0;
right: 0;
}
.viewport_css a,
.viewport_css a:hover:after {
top: 0;
bottom: 0;
}
.viewport_css a:hover:after {
content: '';
display: block;
z-index: 100;
background-color: rgba(255, 255, 255, .25);
}
.viewport_css a:hover:before {
content: 'View';
color: #fff;
top: 50%;
text-align: center;
z-index: 200;
margin-top: -0.5em;
}
.viewport_css .imgwrapper {
width: 200%;
height: 200%;
margin-left: -50%;
margin-top: -50%;
transition: all 0.5s ease-in;
}
.viewport_css .imgwrapper img {
width: 100%;
height: auto;
display: block;
}
.viewport_css .imgwrapper:hover {
width: 100%;
height: 100%;
margin-left: 0;
margin-top: 0;
}
<div class="ImageContainer">
<div id="PurpleColor">
<h2>Videography</h2>
</div>
<div class="viewport_css">
<a class="imgwrapper" href="#">
<img class="dummy" src="links/Home-Videography.jpg" />
</a></div>
<div class="ImageFooter" id="Purple">
<p class="ImageContainerP">
The latest technology</p>
</div>
</div>
【问题讨论】:
-
悬停时的预期行为是什么?您是否要添加文本和/或叠加颜色?
-
图像将缩小(200% 到 100%)并覆盖白色(在 .viewport_css a:hover:after 中定义)。问题是我似乎需要一个以像素为单位的定义高度,但我还没有找到解决这个问题的好方法。