Skip to content

Instantly share code, notes, and snippets.

@brennanangel
Last active February 5, 2024 11:59
Show Gist options
  • Save brennanangel/2f5b511d87bf6161c3c80dc55372856a to your computer and use it in GitHub Desktop.
Save brennanangel/2f5b511d87bf6161c3c80dc55372856a to your computer and use it in GitHub Desktop.
TailwindCSS plugin for variable fonts
@tailwind base;
@tailwind components;
@tailwind utilities;
i, em {
@apply italic;
}
}
const plugin = require("tailwindcss/plugin");
const fontVariationSettings = plugin(function ({ addUtilities }) {
addUtilities({
".font-thin": {
fontWeight: 100,
fontVariationSettings: '"wght" 100',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 100',
},
},
});
addUtilities({
".font-extralight": {
fontWeight: 200,
fontVariationSettings: '"wght" 200',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 200',
},
},
});
addUtilities({
".font-light": {
fontWeight: 300,
fontVariationSettings: '"wght" 300',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 300',
},
},
});
addUtilities({
".font-normal": {
fontWeight: 400,
fontVariationSettings: '"wght" 400',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 400',
},
},
});
addUtilities({
".font-medium": {
fontWeight: 500,
fontVariationSettings: '"wght" 500',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 500',
},
},
});
addUtilities({
".font-semibold": {
fontWeight: 600,
fontVariationSettings: '"wght" 600',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 600',
},
},
});
addUtilities({
".font-bold": {
fontWeight: 700,
fontVariationSettings: '"wght" 700',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 700',
},
},
});
addUtilities({
".font-extrabold": {
fontWeight: 800,
fontVariationSettings: '"wght" 800',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 800',
},
},
});
addUtilities({
".font-black": {
fontWeight: 900,
fontVariationSettings: '"wght" 900',
"&.italic": {
fontVariationSettings: '"slnt" 1, "wght" 900',
},
},
});
addUtilities({
".italic": {
fontStyle: "italic",
fontVariationSettings: '"slnt" 1',
},
});
});
module.exports = fontVariationSettings;
module.exports = {
corePlugins: {
fontWeight: false
},
plugins: [
require("./fontVariationSettingsPlugin"),
],
};
@izznatsir
Copy link

Thanks for this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment