如何在悬停时仅使用CSS3更改表格单元格的文本
How to change the text of a table cell while hovering using only CSS3
我想知道SO中是否有人愿意帮助我。只使用CSS(很可能是CSS3),有没有办法在悬停在元素上时更改表单元格的内部HTML?我有一个包含49个单元格(7行乘7列)的数值表,我希望第一行第一个单元格中的数字从数字1变为数字50,但仅当悬停在数字1上时(即,不悬停时变回数字1)。
我可以使用JavaScript中的"changeinnerHTML"函数来实现这一点,但仅当在文档正文中使用与HTML内联的脚本部分时。由于各种原因,我无法使用任何脚本或CSS内联,因此这种实现目标的方法不是我想要使用的(这超出了语义原因)。我真的宁愿避免使用任何脚本来获得这种效果,因为我认为CSS3比JavaScript更优雅、更有选择性地处理效果(即-CS3工具提示比任何基于脚本的工具提示都要好得多)。
我只是想知道是否有人知道如何使用CSS3(可能使用z索引、显示:无;或者以某种方式定位技术?)来实现这一点。我试过它,但我似乎搞不清楚。如果不必将脚本与Markup混合在一起,我会使用JavaScript,但似乎没有办法做到。
有人知道该怎么做吗?谢谢你抽出时间。
更新
@原始的@hiphip
再次感谢。我对的回答是"这个答案对你有帮助吗?"我相信这就是你所说的"被接受"ramesooriginal的意思;正确的感谢嘻哈的回答。我一直在玩下面代码这样的风格,但它在表格单元格中并没有像我希望的那样运行(顺便说一句,对孤立的图像很好)。不过我想我会继续努力;选择越多越好。
div.up {
margin: 10px 0;
position: relative;
width: 40px;
height: 40px;
border: 1px solid rgb(170, 169, 169);
overflow: hidden;
}
div.up div {
width: 40px;
height: 40px;
font-size: 13px;
padding: 10px;
position: absolute;
top: 0;
left: 0;
text-align: center;
background: rgba(255, 255, 255, 1.000);
-moz-transition: left 1s linear;
-webkit-transition: left 1s linear;
-o-transition: left 1s linear;
transition: left 1s linear;
}
div.up div.one {
z-index: 999;
}
div.up:hover div.one {
-webkit-transition: left 1s linear;
-moz-transition: left 1s linear;
-o-transition: left 1s linear;
transition: left 1s linear;
left: -99px;
}
有两种方法,但都需要一些额外的标记:
<td id="example1" class="hoverer"><span class="nohower">1</span><span class="hover">50</span></td>
带有造型
#example1 .hover{
display:none;
}
#example1 .nohower{
display:block;
}
#example1:hover .hover{
display:block;
}
#example1:hover .nohower{
display:none;
}
或
<td id="example2" class="hoverer"><span data-hover="50">1</span></td>
带有造型
#example2:hover span:after{
content:attr(data-hover);
}
#example2:hover span{
width:1px;
margin-left: -0.5em;/* adjust accoridng to font*/
}
您可以在此处查看工作演示:http://jsfiddle.net/ramsesoriginal/W8LQq/
这是不可能的。
CSS仅用于设置HTML样式。它无法访问HTML本身的属性。
只有CSS 无法做到这一点
带定位:
<style>
#outterdiv {
position: relative;
width:20px;
height:20px;
overflow:hidden;
border: 1px blue solid;
}
#innerdiv:hover {
width:20px;
height:20px;
position: absolute;
top: -20px;
}
</style>
<div id="outterdiv">
<div id="innerdiv">
<div>1</div>
<div>50</div>
</div>
</div>
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 如何将jQuery/AAJAX结果放入表格单元格
- 使用下拉选择菜单高亮显示一行表格单元格
- 使用javascript下拉菜单更改表格单元格的颜色
- 表格单元格高度与背景高度匹配
- 在表格单元格中查找超链接
- 如何使用单击属性和工具提示动态创建表格单元格,该工具提示将超链接到页面
- 在 DIV 中定位表格单元格
- 单击时将表格单元格从范围更改为输入
- 使用 javascript 为 HTML 表格单元格指定颜色
- 将单击表格单元格重定向到其中的
- JQuery insertAfter();移动下一个表格单元格
- 单击并用CTRL+C复制值时高亮显示html表格单元格
- TinyMCE - 允许表格单元格元素作为有效的 html
- 使用jsp更改表格单元格的颜色
- 如何从表格单元格中删除html的某些部分
- 在动态表格单元格跨度中单击时更新一个权重值
- 从所选内容中选择选项,并在表格单元格中显示所选内容的信息
- 在输入字段之前提取表格单元格中的文本
- 使用外部 javascript 更改多个表格单元格中的文本