There’s finally wide enough support to start using the native HTML dialog element! Here’s a simple post loop, with extra post details in a modal for each post, no external libraries required:
<Loop type=post>
<button onclick="document.getElementById('postDialog{Field id}').showModal();"><Field title /></button>
<dialog id="postDialog{Field id}" aria-labelledby="dialog_title{Field id}" aria-describedby="dialog_description{Field id}" >
<h2 id="dialog_title{Field id}"><Field title /></h2>
<p id="dialog_description{Field id}">
<Field excerpt />
</p>
<div>
<button id="close_dialog" onclick="document.getElementById('postDialog{Field id}').close();">Close</button>
</div>
</dialog>
</Loop>