当前位置:  开发笔记 > 编程语言 > 正文

如何用CSS实现剧透报价?

如何解决《如何用CSS实现剧透报价?》经验,为你挑选了2个好方法。

blockquote喜欢这样的:

Soopah sekkrit!

我想隐藏它,只有当用户将鼠标悬停在它上面时才显示它.我现在正在用JS做这件事:

blockquote.addEventListener('mouseover', function() {
    this.style.height = this.offsetHeight + 'px';
    this.dataset.contents = this.innerHTML;
    this.innerHTML = '';
});
blockquote.addEventListener('mouseout', function() {
    this.style.height = '';
    this.innerHTML = this.dataset.contents;
});

使用CSS有更好的方法吗?

它必须background-color使用自定义颜色保持其内容,大小和内容.如果可能的话,我也想给它制作动画,使内容逐渐淡出.



1> Ilmari Karon..:

这与我在SOUP中使用的内容非常相似:

.spoiler, .spoiler > * { transition: color 0.5s, opacity 0.5s }
.spoiler:not(:hover) { color: transparent }
.spoiler:not(:hover) > * { opacity: 0 }
/* fix weird transitions on Chrome: */
blockquote, blockquote > *:not(a) { color: black }

.spoiler, .spoiler > * { transition: color 0.5s, opacity 0.5s }
.spoiler:not(:hover) { color: transparent }
.spoiler:not(:hover) > * { opacity: 0 }
/* fix weird transitions on Chrome: */
blockquote, blockquote > *:not(a) { color: black }

/* some basic bg styles for demonstration purposes */
blockquote { background: #fed; margin: 1em 0; padding: 8px; border-left: 2px solid #cba }
code { background: #ccc; padding: 2px }
img { vertical-align: middle }
Soopah sekkrit text with code and links and images!

You can also have paragraphs in here.

  • And lists too!
Even nested spoilers work!


2> bjb568..:

是的,这可以通过CSS实现.基本上,您希望使所有内容都不可见.在CSS中,这意味着透明.

首先在非伪类中使用hover伪类:

.spoiler:not(:hover)

但我们还需要选择悬停扰流板的所有子元素,以设置它们的颜色和背景:

.spoiler:not(:hover) *

并且我们设置颜色和背景(仅用于子元素)transparent以使它们对用户不可见.全部一起:

.spoiler:not(:hover), .spoiler:not(:hover) * { color: transparent }
.spoiler:not(:hover) * { background: transparent }

code { padding: 2px; background: #bbb }
a { color: #00f }
Hover: 
Some stuff and a colored link and some code!
推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有