html - 使不可见文本可选择

标签 html css hidden html-select

我正在制作一个支持折行的源代码显示。虽然使用 CSS 很容易确保替换文本(“隐藏的 N 行”)不可选,但我希望隐藏的源代码仍然被选中,这样用户就可以只选择一段代码而不必担心是否由于折叠,它的一部分丢失了。有没有一种(不是太hacky的)方法来做到这一点?

最佳答案

可以选择 opacity: 0 的元素,尽管它们是不可见的。

.hidden-selectable {
    display: inline-block;
    width: 1px;
    opacity: 0;
}

<div>Visible<span class='hidden-selectable'>selectable</span></div>

在上面的代码片段中,当周围的元素被选中时,“selectable”字符串将出现在选择和复制粘贴的文本中。

元素需要有非零的宽度和高度,否则它不会出现在选择中。此外,它必须在元素流内部(即它不能有 position: absolute),否则,它不会出现在选择中。因此我给它一些非常小但非零的宽度,这样它就不会明显影响流量,但仍然“足够可见”以供选择。

这是 the fiddle .

以下是我尝试过但不起作用的其他方法:

  • 显示:无
  • 可见性:隐藏

关于html - 使不可见文本可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499024/

相关文章:

css - 溢出隐藏在 FF 和 IE 中不起作用

jquery - jQuery.toggle 链接上的 SEO。有什么内幕?

html - 各种屏幕上的导航栏大小调整

HTML CSS 导航子样式错误

javascript - Jquery 事件仅适用于页面中的元素,不适用于来自使用 ajax 的服务器的元素

html - 如何在html中将图像放在背景中

ios - 快速使用按钮让collectionView隐藏

javascript - 无法删除的输入字段中的文本

html - 带有半透明黑色背景的白色文本框 - 需要灯箱吗?

javascript - 文件上传长度错误(...files.length)