Skip to content

Instantly share code, notes, and snippets.

@curlpipe
Last active September 2, 2024 16:44
Show Gist options
  • Save curlpipe/0ef309137717f664a9f99e00ebd67e67 to your computer and use it in GitHub Desktop.
Save curlpipe/0ef309137717f664a9f99e00ebd67e67 to your computer and use it in GitHub Desktop.
An ultra lightweight css framework
/*
CSShock v0.2: rapid styling for your web interfaces
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
:root {
/* Colors */
--text-color: #E0E0E0;
--background-color: #1A1A2E;
--accent-color-1: #3A0CA3;
--accent-color-2: #0B99A3;
--white-color: #FFFFFF;
--black-color: #000000;
/* Spacing */
--spacing-xxs: 0.25rem;
--spacing-sm: 0.5rem;
--spacing-md: 1rem;
--spacing-lg: 2.5rem;
--spacing-xl: 5rem;
--spacing-xxl: 9.5rem;
/* Fonts */
--font-family: 'DM Sans', sans-serif;
--font-size-sm: 1rem;
--font-size-md: 1.2rem;
--font-size-lg: 1.4rem;
--font-size-xl: 1.8rem;
--font-size-xxl: 2.5rem; /* Added extra-large font size */
--font-weight-light: 400;
--font-weight-normal: 500;
--font-weight-bold: 700;
/* Border */
--border-width: 1px;
--border-radius-sm: 1rem;
--border-radius-md: 1.4rem;
--border-radius-lg: 2rem;
/* Shadows */
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.15);
}
/* Global Styles */
html {
scroll-behavior: smooth;
font-size: 16px;
}
body {
font-family: var(--font-family);
font-size: var(--font-size-md);
color: var(--text-color);
background-color: var(--background-color);
line-height: 1.5;
margin: 0;
padding: 0;
}
/* Headings */
h1, h2, h3, h4, h5, h6 {
margin-top: var(--spacing-md);
margin-bottom: var(--spacing-md);
font-weight: var(--font-weight-normal);
line-height: 1.2;
}
h1 { font-size: var(--font-size-xxl); }
h2 { font-size: var(--font-size-xl); }
h3 { font-size: var(--font-size-lg); }
h4 { font-size: var(--font-size-md); }
h5 { font-size: var(--font-size-sm); }
h6 { font-size: var(--font-size-sm); }
/* Paragraphs */
p {
margin-bottom: var(--spacing-md);
font-size: var(--font-size-sm);
}
/* Links */
a {
font-size: var(--font-size-sm);
color: var(--accent-color-2);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* Buttons */
button, input[type="submit"] {
display: inline-block;
padding: var(--spacing-sm) var(--spacing-md);
font-size: var(--font-size-md);
font-weight: var(--font-weight-light);
border-radius: var(--border-radius-md);
box-shadow: var(--shadow-sm);
cursor: pointer;
transition: background-color 0.3s ease, color 0.3s ease;
}
button.primary, input[type="submit"].primary {
color: var(--white-color);
background-color: var(--accent-color-1);
border: var(--border-width) solid var(--accent-color-1);
}
button.secondary, input[type="submit"].secondary {
color: var(--white-color);
background-color: transparent;
border: var(--border-width) solid var(--accent-color-1);
}
button:hover, input[type="submit"]:hover {
background-color: var(--accent-color-2);
border-color: var(--accent-color-2);
}
/* Inputs */
input, textarea, select {
display: block;
padding: var(--spacing-sm);
font-size: var(--font-size-md);
font-family: var(--font-family);
color: var(--black-color);
background-color: var(--white-color);
border: var(--border-width) solid var(--black-color);
border-radius: var(--border-radius-sm);
box-shadow: var(--shadow-sm);
margin-bottom: var(--spacing-md);
}
input:focus, textarea:focus, select:focus {
border-color: var(--accent-color-1);
outline: none;
box-shadow: var(--shadow-md);
}
/* Tables */
table {
width: 100%;
border-collapse: collapse;
margin-bottom: var(--spacing-lg);
}
th, td {
padding: var(--spacing-sm);
border: var(--border-width) solid var(--accent-color-2);
text-align: left;
}
th {
background-color: var(--background-color);
font-weight: var(--font-weight-normal);
}
/* Lists */
ul, ol {
margin-bottom: var(--spacing-md);
padding-left: var(--spacing-lg);
}
li {
margin-bottom: var(--spacing-xs);
}
/* Images */
img {
max-width: 100%;
height: auto;
border-radius: var(--border-radius-md);
}
/* Forms */
form {
margin-top: var(--spacing-md);
margin-bottom: var(--spacing-md);
}
/* Navbar */
nav {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--spacing-md);
}
/* Containers */
.container-xxs {
padding-left: var(--spacing-xxs);
padding-right: var(--spacing-xxs);
padding-top: var(--spacing-sm);
padding-bottom: var(--spacing-sm);
}
.container-xs {
padding-left: var(--spacing-xs);
padding-right: var(--spacing-xs);
padding-top: var(--spacing-sm);
padding-bottom: var(--spacing-sm);
}
.container-sm {
padding-left: var(--spacing-sm);
padding-right: var(--spacing-sm);
padding-top: var(--spacing-sm);
padding-bottom: var(--spacing-sm);
}
.container-md {
padding-left: var(--spacing-md);
padding-right: var(--spacing-md);
padding-top: var(--spacing-md);
padding-bottom: var(--spacing-md);
}
.container-lg {
padding-left: var(--spacing-lg);
padding-right: var(--spacing-lg);
padding-top: var(--spacing-md);
padding-bottom: var(--spacing-md);
}
.container-xl {
padding-left: var(--spacing-xl);
padding-right: var(--spacing-xl);
padding-top: var(--spacing-lg);
padding-bottom: var(--spacing-lg);
}
.container-xxl {
padding-left: var(--spacing-xxl);
padding-right: var(--spacing-xxl);
padding-top: var(--spacing-lg);
padding-bottom: var(--spacing-lg);
}
/* Utility Classes */
.mt-xs { margin-top: var(--spacing-xs); }
.mt-sm { margin-top: var(--spacing-sm); }
.mt-md { margin-top: var(--spacing-md); }
.mt-lg { margin-top: var(--spacing-lg); }
.mt-xl { margin-top: var(--spacing-xl); }
.mb-xs { margin-bottom: var(--spacing-xs); }
.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }
.mb-xl { margin-bottom: var(--spacing-xl); }
.p-xs { padding: var(--spacing-xs); }
.p-sm { padding: var(--spacing-sm); }
.p-md { padding: var(--spacing-md); }
.p-lg { padding: var(--spacing-lg); }
.p-xl { padding: var(--spacing-xl); }
.font-sm { font-size: var(--font-size-sm); }
.font-md { font-size: var(--font-size-md); }
.font-lg { font-size: var(--font-size-lg); }
.font-xl { font-size: var(--font-size-xl); }
.font-xxl { font-size: var(--font-size-xxl); }
.group-sm, .group-md, .group-lg {
display: flex;
flex-direction: row;
align-items: center;
}
.group-sm {
gap: var(--spacing-sm);
}
.group-md {
gap: var(--spacing-md);
}
.group-lg {
gap: var(--spacing-lg);
}
/* Text utilities */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.font-weight-light { font-weight: var(--font-weight-light); }
.font-weight-normal { font-weight: var(--font-weight-normal); }
.font-weight-bold { font-weight: var(--font-weight-bold); }
/* Borders */
.border {
border: var(--border-width) solid var(--accent-color-2);
}
.rounded-sm { border-radius: var(--border-radius-sm); }
.rounded-md { border-radius: var(--border-radius-md); }
.rounded-lg { border-radius: var(--border-radius-lg); }
/* Shadows */
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment