JSFiddle - React, Tailwind, and code Playground

by Swivelgames

HTML

<article>
    <header>
        <h1 contenteditable="true">Test Title</h1>
    </header>
    <p id="editable" contenteditable="true">
        Test Content...
    </p>
</article><br /><hr />
Selection Informaiton: <span id="info_output"></span>

CSS

article {
            padding:5px;
            margin:5px;
            background:#fafafc;
            border:1px solid #ccc;
            border-radius:2px;
            -moz-border-radius:2px;
            -webkit-border-radius:2px;
        }

            article>header>h1 {
                padding:0;
                margin:3px 0 0 7px;
                font-family:serif;
                font-size:1.8em;
                font-weight:normal;
                color:#3d3d80;
            }

            article>header>h2,
            article>footer>h2 {
                line-height:25px;
                margin:0 0 0 16px;
                font-size:0.85em;
                font-weight:normal;
                color:#4c4c95;
                outline:0px;
            }

            article>p {
                line-height:22px;
                margin:0px 0 0 3px;
                padding:2px 10px 4px 10px;
                border-left:3px solid #d6d6d6;
                font-size:0.85em;
                color:#333;
                outline:0px;
            }

            article>p:first-of-type { padding-top:2px !important; }
            article>p+p { padding-top:8px; }

JavaScript

$(document).ready(function () {
    $('#info_output').html('Testing');
    
    $('#editable').click(function() {
        var outputText = $('#info_output');
        var selection = window.getSelection();
        $(outputText).html(selection.toString());
    });
});