Last active
September 2, 2024 16:44
-
-
Save curlpipe/0ef309137717f664a9f99e00ebd67e67 to your computer and use it in GitHub Desktop.
An ultra lightweight css framework
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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