Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将鼠标悬停在pre上-如何使用纯CSS突出显示单行?_Html_Css_Pre - Fatal编程技术网

Html 将鼠标悬停在pre上-如何使用纯CSS突出显示单行?

Html 将鼠标悬停在pre上-如何使用纯CSS突出显示单行?,html,css,pre,Html,Css,Pre,我有一些 <pre> #include <stdio.h> int main() { printf("Hello World"); return 0; } </pre> CSS: 香草Javascript: pre div:hover { background-color: rgba(0,0,0,0.2); } 函数PreHover(){ var输出=“”; var preBox=document.getEl

我有一些

<pre>
#include <stdio.h>

int main()
    {
       printf("Hello World");
       return 0;
    }
</pre>
CSS:

香草Javascript:

pre div:hover { background-color: rgba(0,0,0,0.2); }
函数PreHover(){
var输出=“”;
var preBox=document.getElementById('raw');
var txt=preBox.innerHTML.split('\n');
对于(var x=0;x
这将帮助您为每一行包装div

注意:这需要jQuery

可选:添加
空白:nowrap
,以防止换行

为什么要这样做

因为如果只有
,它将是一个DOM元素,其中只包含文本,您可以对其进行整体更改,而不是逐行更改

要使更好地控制每一行,请通过使用pre操作
中包含的文本来构建一个新的DOM元素,pre
包含许多div,每个div都包含一行文本。现在您可以掌握每一个div

这将帮助您为每一行包装div

注意:这需要jQuery

可选:添加
空白:nowrap
,以防止换行

为什么要这样做

因为如果只有
,它将是一个DOM元素,其中只包含文本,您可以对其进行整体更改,而不是逐行更改


为了更好地控制每一行,可以通过操纵
中包含的文本来构建一个新的DOM元素,其中pre包含许多div,每个div都包含一行文本。现在你可以掌握每一个div

你能详细说明你的问题吗你提供了一些代码吗?你对单行的确切意思是什么?这是某种代码行吗?也让我们知道你做了哪些工作?@NileshMahajan-我在我的帖子中添加了更多信息。我不确定没有JavaScript这是可能的。我不确定你想要什么,但关于
pre:first of type
pre:nth of type
?@dippas-
第一种类型
第n种类型
非常适合列表或表格,但不适合原始文本。你能详细说明你的问题吗。例如,你能提供一些代码吗?你对单行的确切意思是什么?这是某种类型的代码吗?也让我们知道你做了哪些工作?@NileshMahajan-我在我的帖子中添加了更多信息。我很抱歉不确定不使用JavaScript是否可行。不确定您想要什么,但是
pre:first of type
pre:nth of type
?@dippas-
first of type
nth of type
非常适合列表或表格,但不适合原始文本。
#pre div:hover {
    background: #ff0;
}
function PreHover() {
    var output = '';
    var preBox = document.getElementById('raw');
    var txt = preBox.innerHTML.split('\n');
    for(var x=0;x<txt.length-1;x++) {
        output = output + '<div>'+txt[x]+'</div>';
    }
    preBox.innerHTML = output;
}
var txt = $('pre').html().split("\n");
var output = "";
for(var x=0;x<txt.length-1;x++)
    output = output + "<div>"+txt[x]+"</div>";
}
$('pre').html(output);
pre div:hover { background-color: rgba(0,0,0,0.2); }