Skip to content

Instantly share code, notes, and snippets.

View psynt's full-sized avatar
💭
Typing...

Nichita psynt

💭
Typing...
View GitHub Profile
@psynt
psynt / main.css
Created May 24, 2023 14:52
Theme chooser using only HTML and CSS
body {
margin: 0;
font-family: system-ui, sans-serif;
font-size: 1.25rem;
line-height: 1.5;
background: var(--clr-body-bg);
color: var(--clr-text);
}
h1,
@psynt
psynt / index.html
Created November 4, 2022 06:36
CSS theme picker
<head>
<title>Theme Chooser CSS</title>
<link rel="stylesheet" href="themes.css">
<link rel="stylesheet" href="main.css">
<script src="themes.js" defer></script>
</head>
<body>
<form class="color-picker" action="">
<fieldset>
<legend class="visually-hidden">Pick a color scheme</legend>
@psynt
psynt / autosave.js
Created August 2, 2022 12:42
Autosaving forms
//call fieldUpdate() as the handler for oninput on your form
function fieldUpdate(){
const formData = {};
const inputs = Array.of(...document.querySelectorAll("input")).filter(it => it.type !== "submit")
inputs.forEach(it => formData[it.id || it.name] = it.value)
window.localStorage.setItem("formData", JSON.stringify(formData))
}
function load(){
const formData = JSON.parse(window.localStorage.getItem("formData"))
@psynt
psynt / responsive-videos.css
Last active May 24, 2023 14:54
CSS responsive videos
.responsive-container{
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin-bottom: 50px;
}
.responsive-container iframe{