HTML code
HTML
<div class="custom-code-container">
<pre class="language-html"><code>
<h1>Hello World</h1>
<p>This is an improved version!</p>
</code></pre>
<button class="copy-code-btn">
<span class="copy-text">Copy Code</span>
<span class="copied-text">Copied!</span>
</button>
</div>
CSS
.custom-code-container {
position: relative;
background: #282c34;
padding: 20px;
border-radius: 10px;
color: #ffffff;
font-family: 'Fira Code', monospace;
display: flex;
flex-direction: column;
gap: 10px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.custom-code-container pre {
margin: 0;
padding: 15px;
background: #1e1e1e;
border-radius: 5px;
overflow-x: auto;
white-space: pre-wrap;
word-wrap: break-word;
color: #ffffff;
font-size: 14px;
line-height: 1.5;
max-height: 300px;
}
.copy-code-btn {
align-self: flex-end;
background: linear-gradient(135deg, #ff9800, #ff5722);
color: white;
border: none;
padding: 10px 15px;
cursor: pointer;
border-radius: 8px;
font-size: 14px;
font-weight: bold;
display: flex;
align-items: center;
gap: 5px;
transition: 0.3s ease-in-out;
}
.copy-code-btn:hover {
transform: scale(1.05);
background: linear-gradient(135deg, #ff5722, #ff9800);
}
.copy-code-btn.copied .copy-text {
display: none;
}
.copy-code-btn.copied .copied-text {
display: inline-block;
}
JavaScript
<script>
document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll(".copy-code-btn").forEach(button => {
button.addEventListener("click", function() {
var code = this.previousElementSibling.innerText;
var textArea = document.createElement("textarea");
textArea.value = code;
document.body.appendChild(textArea);
textArea.select();
document.execCommand("copy");
document.body.removeChild(textArea);
this.classList.add("copied");
setTimeout(() => {
this.classList.remove("copied");
}, 1500);
});
});
});
</script>
Prism.js
<!-- Prism.js Syntax Highlighting -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-html.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-css.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-javascript.min.js"></script>