实现HTML展示类似ghub的功能可以通过以下步骤:

  1. 使用HTML的

    标签来展示代码,可以在
    标签里放置标签,使得代码能够被高亮显示。

  2. 添加CSS样式,使

    标签里的代码能够像在Github上一样被高亮显示。

  3. 添加复制按钮,可以使用JavaScript来实现复制功能,当用户点击复制按钮时,将代码复制到剪切板中。

  4. 将复制按钮放置在代码框右上角,可以使用CSS样式来实现。

以下是一个示例代码:

HTML代码:

<pre>
  <code class="language-javascript">
    function sayHello() {
      console.log("Hello World!");
    }
  </code>
  <button class="copy-btn">Copy</button>
</pre>

CSS代码:

pre {
  background-color: #f6f8fa;
  border-radius: 3px;
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  font-size: 14px;
  line-height: 1.45;
  overflow: auto;
  padding: 16px;
}

pre code {
  display: block;
  overflow-x: auto;
  white-space: pre;
}

pre code::before,
pre code::after {
  content: "";
}

pre code[class*="language-"],
pre[class*="language-"] {
  color: #333;
  text-shadow: none;
}

pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
  background: #b3d4fc;
}

pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
  background: #b3d4fc;
}

/* Copy button */

.copy-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 8px;
  cursor: pointer;
}

.copy-btn:hover {
  background-color: #555;
}

.copy-btn:focus {
  outline: none;
}

JavaScript代码:

const copyBtn = document.querySelector('.copy-btn');
const codeBlock = document.querySelector('pre code');

copyBtn.addEventListener('click', () => {
  const code = codeBlock.innerText;
  const textarea = document.createElement('textarea');
  textarea.value = code;
  document.body.appendChild(textarea);
  textarea.select();
  document.execCommand('copy');
  document.body.removeChild(textarea);
});

通过以上代码,我们就可以实现HTML展示类似ghub的功能了,用户可以在代码框右上角找到复制按钮,将代码复制到剪切板中,方便用户进行复制和粘贴操作

让实现HTML展示类似ghub的功能代码框增加复制按钮 小放在代码框右上角

原文地址: https://www.cveoy.top/t/topic/hnOi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录