【问题标题】:Change the color of highlighted/selected text更改突出显示/选定文本的颜色
【发布时间】:2012-12-27 11:10:41
【问题描述】:

我想更改页面上突出显示文本的颜色。

目前,我是这样处理的:

::selection, ::-moz-selection {
    background-color: #ffffff;
}

不幸的是,如果字符串由换行符分隔,我将无法更改突出显示文本的背景颜色,如下所示:

Hello
  World

可以在我当前的 Web 应用程序项目中找到一个示例:http://term.qt.io 通过执行 CTRL+A(对于大多数浏览器来说是全选)来突出显示所有文本。您会注意到它在某些区域显示为灰色,而在其他区域显示为蓝色。我希望所有突出显示的文本在某些区域都是灰色背景而不是蓝色。

【问题讨论】:

  • 可以加个截图吗?因为对我来说,一切都是灰色的(在 Chrome 上)。
  • 好的,添加截图。
  • 在我看来,这似乎按预期工作。所有选定的文本都有灰色背景。蓝色区域不是选择的一部分 - 这是外部容器的(空)背景。
  • 可能是 Chrome 的错误!
  • 看起来它只是在您的divp 或您正在使用的任何元素中突出显示直到行尾。 AFAIK 没有办法改变这种行为。

标签: css


【解决方案1】:

span 的使用破坏了它。像这样编码效果很好:

<p class="prompt">Welcome to term.
    <br>
    <br>
    login as: <span class="input blinker">&nbsp;</span>
</p>

IMO 的语义更好。

【讨论】:

  • 如果采用这种方法,如何防止&lt;p&gt; 断行?
  • 我不确定你的意思。 &lt;p&gt;This&lt;/p&gt;&lt;p&gt;works&lt;/p&gt;&lt;p&gt;too&lt;/p&gt;jsfiddle.net/QxRSx。注意:当我尝试在同一行 CSS 中包含 ::selection::-moz-selection 时,我在 FF 中遇到了麻烦。 -moz 似乎更喜欢自己的行/声明。
猜你喜欢
  • 1970-01-01
  • 2019-07-06
  • 2016-03-29
  • 1970-01-01
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多