html - CSS 悬停效果只适用于绝对定位?

标签 html css

当鼠标悬停在图像上时,我试图让一些文本出现在图像上。

这通常是一个简单的过程,但显然 :hover 在第一个 div 时不起作用(例如)

first.div:hover second.div {

over(在我的例子中是图像)使用相对定位而不是绝对定位。

这个页面有很多图片,通过CSS设置成表格,属性有display:table;所以我不认为我可以选择切换到绝对定位。我知道 CSS 表格通常不受宽恕,但我绝对必须这样做。

现在我正在使用不透明度更改来尝试使文本出现。我也尝试过使用 z-index,但我认为问题在于 :hover 效果在绝对定位时效果不佳。有哪些解决方法(如果有)可用?

我不反对使用 HTML/CSS 以外的语言,但我没有经验而且我不理解它们,所以我更喜欢 CSS 解决这个问题,但乞丐不是选择者。

根据要求,这里有一些代码:

HTML

<div class="cell"><img class="box" src="image1.jpg"><div id="text">Text text text</div></div>

CSS

.cell { position:relative; display:table-cell; background-color:black; width:700px; height:auto; } #text { display:table; position:absolute; z-index:999; color:#fff; text-align:center; width:100%; top:48%; left:0; }

img { max-height:600px; max-width:600px; height:auto; width:100%; filter: url(filters.svg#grayscale); /* Firefox 3.5+ */ filter: gray; /* IE6-9 */ -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */ opacity:0.4; z-index:2; }

img:hover { filter: none; -webkit-filter: grayscale(0); opacity:1.0; }

我不确定是什么原因造成的,所以我包含了很多不必要的东西......我对编码有点陌生所以对我来说放轻松,但我无法获得 cell.div:hover #text { opacity:1;}上类。我在某处读到这是因为悬停效果不适用于相对定位的 div...

最佳答案

我没有让你明白,你的问题是什么。如果你清楚你只有不透明度有问题,那么你可以使用如下的 css。

first.div:hover second.div {
cursor: pointer;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
filter: alpha(opacity=75);
-khtml-opacity: 0.75;
-moz-opacity: 0.75;
opacity: 0.75; }

如果它不适合你,那么请分享你的代码或实时链接,然后适本地解释你。

关于html - CSS 悬停效果只适用于绝对定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018078/

相关文章:

html - 当我将鼠标悬停在导航栏中的链接上时,如何创建下划线?

javascript - 如何在 CSS 中创建响应式 Sprite 表动画?

javascript - AngularJS - 如何对动态编译和添加的 ng-include 进行动画处理

css - 如何将 pt 转换为 em?

jquery - phonegap 和 jquery mobile 的 $.getScript 和 css 问题

html - 设置主体宽度会改变 div 的绝对定位

html - 为什么要这样使用数据属性?

html - 一行三个div

html - Internet Explorer 8 无法正确显示搜索表单

javascript - 慢弹跳Javascript