马黑黑 发表于 2024-5-19 09:41

本帖最后由 马黑黑 于 2025-8-4 12:24 编辑 <br /><br /><style>
        .artBox { font-size: 18px; }
        .artBox > p { margin: 10px 0; line-height: 30px; }
        .artBox mark { padding: 4px 6px; background: lightblue; }
        .tRed { color: red; }
        .tGreen { color: green; }
</style>

<div class="artBox">
        <p>lnum,line number的缩写,行号之意。这是个极简的ES6模块,简简单单地给<mark>class="codebox"</mark>的HTML元素内的代码加上行号,不着色。</p>
        <p>模块的导入和使用方法:</p>
        <div class="codebox">
<span class="tGreen">&lt;!-- 导入和使用 lnum --&gt;</span>
&lt;script <span class="tRed">type="module"</span>&gt;
        import <span class="tRed">lnum</span> from '<span class="tRed">https://638183.freep.cn/638183/web/js/lnum.js</span>';
        <span class="tRed">lnum()</span>;
&lt;/script&gt;
</div>
        <p>在HTML代码中,建议使用具有block块状属性的 div 标签装载代码,该 div 只要在class列表中存在 codebox 名称,模块就会自动为其加上代码行号,同时改变该 div 的背景颜色、字体等属性。像这样:</p>
        <div class="codebox">
&lt;div <span class="tRed">class="codebox"</span>&gt;
        <span class="tGreen">&lt;!-- 这里是代码 --&gt;</span>
&lt;/div&gt;
        </div>
        <p>需要注意的是,要加行号的代码HTML标签符号必须事先转义,就两个符号:<span class="tRed">&lt;</span> 转为 <span class="tRed">&amplt;</span>,<span class="tRed">&gt;</span> 转为 <span class="tRed">&ampgt;</span> 。模块之所以不自动转义,主要原因是保留代码中的自定义HTML功能,满足代码展示时可能需要添加关键代码的着色、加粗、设置斜体等修饰需求。</p>
        <p>以下是一个完整使用了 lnum 模块的示例:</p>
        <div class="codebox">
<span class="tGreen">&lt;!-- 用 class="codebox" 的 div 装载转义过的代码 --&gt;</span>
&lt;div class="codebox"&gt;
        <span class="tRed">&amplt;</span>style<span class="tRed">&ampgt;</span>
                .ma {
                        margin: 30px auto;
                        padding: 4px 8px;
                        width: fit-content;
                        height: fit-content;
                        position: relative;
                }
        <span class="tRed">&amplt;</span>style<span class="tRed">&ampgt;</span>
&lt;/div class="codebox"&gt;

<span class="tGreen">&lt;!-- 导入和启用 lnum --&gt;</span>
&lt;script type="module"&gt;
        import lnum from 'https://638183.freep.cn/638183/web/js/lnum.js';
        lnum();
&lt;/script&gt;
        </div>
        <p>最后附上 lnum.js 源码,敬请批评指正:</p>
        <div class="codebox">
export default function lnum() {
        const boxes = document.querySelectorAll('.codebox');
        if (boxes.length &lt; 1) return;
        boxes.forEach(box => {
                const ol = document.createElement('ol');
                const lines = box.innerHTML.trim().split('\n');
                lines.forEach(line => {
                        const li = document.createElement('li');
                        li.style.cssText += `
                                padding: 0 10px;
                                font: normal 16px/20px Consolas, 'Courier New', 'Andale Mono', monospace;
                                color: #000;
                                white-space: pre-wrap;
                                word-break:break-all;
                                tab-size: 4;
                        `;
                        li.innerHTML = line;
                        ol.appendChild(li);
                });
                box.innerHTML = '';
                box.style.cssText += `
                        margin: 20px 10px;
                        padding: 10px 12px;
                        background: beige;
                        box-shadow: 0 0 1px rgba(0,0,0,.9);
                        position: relative;
                `;
                box.appendChild(ol);
        });
}
        </div>
</div>

<script type="module">
        import lnum from 'https://638183.freep.cn/638183/web/js/lnum.js';
        lnum();
</script>

红影 发表于 2024-5-19 16:59

马黑黑 发表于 2024-5-19 09:41
严格来讲不是学代码,而是学习组织代码的方法,具体说就是尽可能多地掌握编程语言的相关概念、语法、内置 ...

这些都可以笼统地归为代码这个大类啊。

南无月 发表于 2024-5-19 17:21

马黑黑 发表于 2024-5-18 22:47
拉而不倒

多拉两下{:4_170:}

马黑黑 发表于 2024-5-19 17:21

南无月 发表于 2024-5-19 17:21
多拉两下

不倒翁怎么拉都一样

马黑黑 发表于 2024-5-19 17:28

红影 发表于 2024-5-19 16:59
这些都可以笼统地归为代码这个大类啊。

不是的。代码是代码,语法是语法。好比语文说的语言,语言是语言,语法是语法一样道理。你总不能吧

这个人的语言很生动

说成

这个人的语法很生动

南无月 发表于 2024-5-19 17:30

马黑黑 发表于 2024-5-19 17:21
不倒翁怎么拉都一样

晃晃悠悠{:4_172:}

马黑黑 发表于 2024-5-19 17:31

南无月 发表于 2024-5-19 17:30
晃晃悠悠

就是不倒

南无月 发表于 2024-5-19 17:33

马黑黑 发表于 2024-5-19 17:31
就是不倒

真是坚固

马黑黑 发表于 2024-5-19 17:34

南无月 发表于 2024-5-19 17:33
真是坚固

是稳

南无月 发表于 2024-5-19 17:45

马黑黑 发表于 2024-5-19 17:34
是稳

是的,不倒翁很稳{:4_170:}

红影 发表于 2024-5-19 18:43

马黑黑 发表于 2024-5-19 17:28
不是的。代码是代码,语法是语法。好比语文说的语言,语言是语言,语法是语法一样道理。你总不能吧

这 ...

差不多啊,知道指的是什么就好啊{:4_173:}

马黑黑 发表于 2024-5-19 19:27

红影 发表于 2024-5-19 18:43
差不多啊,知道指的是什么就好啊

你这是模糊概念

马黑黑 发表于 2024-5-19 19:43

南无月 发表于 2024-5-19 17:45
是的,不倒翁很稳

稳如泰山,泰山抵不住地震;稳如不倒翁,不倒翁摇摇晃晃不认怂。

南无月 发表于 2024-5-19 19:45

马黑黑 发表于 2024-5-19 19:43
稳如泰山,泰山抵不住地震;稳如不倒翁,不倒翁摇摇晃晃不认怂。

不倒翁比泰山厉害{:4_170:}

红影 发表于 2024-5-19 21:15

马黑黑 发表于 2024-5-19 19:27
你这是模糊概念

又不是做教科书,交流中只要指向明确即可。

马黑黑 发表于 2024-5-19 23:02

红影 发表于 2024-5-19 21:15
又不是做教科书,交流中只要指向明确即可。

模糊就是明确?

红影 发表于 2024-5-19 23:12

马黑黑 发表于 2024-5-19 23:02
模糊就是明确?

知道指的什么,这不是模糊啊。

马黑黑 发表于 2024-5-19 23:13

红影 发表于 2024-5-19 23:12
知道指的什么,这不是模糊啊。

是稀里糊涂?

红影 发表于 2024-5-19 23:22

马黑黑 发表于 2024-5-19 23:13
是稀里糊涂?

知道,意味着就是明确呢。

马黑黑 发表于 2024-5-20 12:11

红影 发表于 2024-5-19 23:22
知道,意味着就是明确呢。

额,说反话呢
页: 1 2 3 [4] 5
查看完整版本: 一句代码生成rgba随机颜色