:root { --terminal-font: 1rem "Lucida Console", "Courier New", monospace; --background-color: transparent; --text-color: var(--text); --prompt-char: '$ '; --cursor-char: '_'; } /* Basic terminal style. * If you wan t to overwrite them use custom properties (variables). */ .terminal { display: block; font: var(--terminal-font); background-color: var(--background-color); color: var(--text-color); overflow-y: scroll; width: 100%; max-width: 640px; margin: 0 auto; } /* The terminal consits of multiple "line" elements * Because sometimes we want to add a simulates "prompt" at the end of a line * we need to make it an "inline" element and handle line-breaks * by adding
elements */ .terminal pre.line { display: inline-block; font: var(--terminal-font); margin: 0; padding: 0; } /* The "terminal" has one "prompt" input-element. */ @keyframes prompt-blink { 100% { opacity: 0; } } .terminal #prompt { display: inline-block; } .terminal #prompt:before { display: inline-block; content: var(--prompt-char); font: var(--terminal-font); } .terminal #prompt:after { display: inline-block; content: var(--cursor-char); background: var(--text); animation: prompt-blink 1s steps(2) infinite; width: 0.75rem; opacity: 1; } .terminal input#prompt { text-transform: uppercase; background: none; border: none; outline: none; caret-color: var(--text); color: var(--text); font: var(--terminal-font); } /* Terminal scrollbar */ ::-webkit-scrollbar { width: 3px; height: 3px; } ::-webkit-scrollbar-track { background: var(--background-color); } ::-webkit-scrollbar-thumb { background: var(--text-color); }