- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个教程页面,我需要在其中突出显示使用不同语言(HTML、CSS、Javascript、jQuery)的不同源代码
目前,如果我提到 mode:"jQuery"
我想将部分代码突出显示为 HTML,部分代码突出显示为 CSS,部分代码突出显示为 jQuery 等。我该怎么做?
我当前的代码:
<link rel="stylesheet" href="codemirror-5.4/lib/codemirror.css">
<script src="codemirror-5.4/lib/codemirror.js"></script>
<script src="codemirror-5.4/mode/xml/xml.js"></script>
<script src="codemirror-5.4/mode/jquery/jquery.js"></script>
<script src="codemirror-5.4/keymap/sublime.js"></script>
<link rel="stylesheet" href="codemirror-5.4/theme/monokai.css">
<script src="codemirror-5.4/mode/htmlmixed.js"></script>
//代码镜像函数**
<script type="text/javascript">
var areas = document.getElementsByClassName("myTextareaClass");
for(var i = 0; i < areas.length; i++) {
CodeMirror.fromTextArea(areas.item(i), {
mode: "css",
theme: "monokai",
readOnly:true,
});
}
</script>
这就是我要在同一页面上突出显示的内容
//CSS模式高亮代码
<textarea class="myTextareaClass">
.fa-check {
color:green;
}
</textarea>
//HTML模式高亮代码
<textarea class="myTextareaClass">
<div>Sample Div Element</div>
</textarea>
//jQuery模式高亮代码
<textarea class="myTextareaClass">
$( "div" ).css( "border", "2px solid red" ).add( "p" ).css( "background", "green" );
</textarea>
我不能使用自动模式或自动选择,因为它不是由用户选择来检测的。我需要提到的模式可能是手动的。如何使用相同的功能实现此目的?
最佳答案
我终于想出了一个解决方案来完成这项工作。然而,这不是目前最好的解决方案。这可以在以后改进。
要突出显示不同语言的源代码,请使用三个不同的类创建不同的 codemirror 实例,并在其中保留三个不同的主题(html、css、javascript),如下所示。
<script type="text/javascript">
var areas = document.getElementsByClassName("myTextareaHtml");
for(var i = 0; i < areas.length; i++) {
CodeMirror.fromTextArea(areas.item(i), {
mode: "xml",
theme: "monokai",
readOnly:true,
});
}
</script>
<script type="text/javascript">
var areas = document.getElementsByClassName("myTextareaCss");
for(var i = 0; i < areas.length; i++) {
CodeMirror.fromTextArea(areas.item(i), {
mode: "css",
theme: "monokai",
readOnly:true,
});
}
</script>
<script type="text/javascript">
var areas = document.getElementsByClassName("myTextareaJavaScript");
for(var i = 0; i < areas.length; i++) {
CodeMirror.fromTextArea(areas.item(i), {
mode: "javascript",
theme: "monokai",
readOnly:true,
});
}
</script>
然后分别使用这些类来突出显示不同的语法,如下所示。
// hight light the code in css mode
<textarea class="myTextareaCss">
.fa-check{
color:green;
}
</textarea>
// hight light the code in HTML mode
<textarea class="myTextareaHtml">
<div>Sample Div Element</div>
</textarea>
// hight light the code in jQuery mode
<textarea class="myTextareaJavaScript">
$( "div" ).css( "border", "2px solid red" ).add( "p" ).css( "background", "green" );
</textarea>
关于javascript - 如何在同一页面使用codemirror高亮多语言源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595937/
在这个 fiddle 上,函数完美地完成了工作,但我需要稍微调整连接。 该点击甚至需要是父 div 的 addClass(深色/浅色)(true 或 false)。 如果是深色,则添加 Bright
我正在使用 Windows.UI.ViewManagement.UISettings 来获取系统强调色,但该类似乎没有任何亮/暗模式的方法或属性。我找不到此功能的文档,我该如何检测? PS:我正在制作
在使用 iOS 13 在明暗模式之间切换时,我遇到了显示键盘的异常行为。 该 View 有一个 inputAccessoryView 供用户输入消息。当然后在键盘显示的情况下切换亮/暗模式时,亮/暗模
我正在开发一个支持多个主题的 iOS 应用程序。有些主题使用深色背景,有些使用浅色。一些默认图标在深色/浅色背景中不可见。我在 xcassets 中看到一个选项,可以为不同的颜色模式添加图像。我的目标
一些上下文:Sciter (纯 win32 应用程序)已经能够呈现类似 UWP 的 UI: 在深色模式下: 在灯光模式下: Windows 10.1803 在设置小程序中引入深色/浅色开关 as se
我是一名优秀的程序员,十分优秀!