js实现代码高亮显示

项目需要实现java代码高亮,像编辑器那种,就好比CSDN这种,网上搜了好多插件,最终选择了highlight.js

先上效果图

可以在网上下载highlight.js插件,或者去官网下载,样式文件也会一起下载下来,或者npm install highlight

首先引入js文件和样式文件,样式文件有很多,这里我选的是sublime样式。

 <link rel="stylesheet" href="./monokai-sublime.css">
 <script src="./highlight.js"></script>

然后书写html代码

<body>
    <pre>
        <code class="css">
           .common{
                width:100px;
                height:100px;
                background-color:red;
           }
        </code>
    </pre>
    <pre>
        <code class="java">
            @RequestMapping(value = "/menuPrivilege", method = RequestMethod.GET)
            public void menuPrivilege(@RequestParam(required = false) String code,@RequestParam(required = false) String url) {
                PrivilegeDTO privilegeDTO = new PrivilegeDTO();
                if(Strings.isNullOrEmpty(code)){
                    privilegeDTO.code = "envParas";
                    privilegeDTO.name = "环境参数管理";
                    privilegeDTO.urlPath = "/envparams/index";
                }
                String basicServer = env.getProperty("basic.server");
                String menuPath = env.getProperty("basic.upmenu");
                new StringBuilder().append(basicServer).append(menuPath).toString();//
                List<PrivilegeDTO> privilegeDTOList = new ArrayList<>();
            }
        </code>
    </pre>
    <pre >
        <code class="javascript">
            var a = 123;
            function fn(){
                a = 456;
            }
        </code>
    </pre>
</body>

这里需要用到pre标签和code标签,对于用别的标签有没有别的写法我也没去具体探究,不过这种写法必须用precode标签。

最后是插件初始化部分

<script>
    hljs.initHighlightingOnLoad();
</script>

就是这么简单。

其中初始化方法有

highlightBlock(block)
应用高亮到一个包含代码的DOM节点上

initHighlighting()
在页面的<pre><code>..</code></pre>区域上应用高亮

initHighlightingOnLoad()
绑定高亮到页面加载事件上

【右上角点个赞,谢谢】

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值