최근 tailwind를 자주 사용하면서 추가적으로 도움이 되는 것들을 정리했다,
tailwind를 사용하면 Nesting과 스타일시트파일 한 곳에서 관리. custom 선택자를 적용할 수 있는지 알아보았다.
Nesting
postcss.config.js 파일에 'tailwindcss/nesting' : {}, 를 추가하면 SCSS 기능 중 하나인 중첩을 사용할 수있다.
// postcss.config.js module.exports = { plugins: { 'tailwindcss/nesting': {}, // add this line tailwindcss: {}, autoprefixer: {}, } }
스타일시트를 여러 파일로 분할하여 메인 파일에 가져오기
npm install -D postcss-import
// postcss.config.js 모듈 . exports = { plugins : { 'postcss-import' : {}, // 이 줄을 추가합니다. 'tailwindcss/nesting' : {}, tailwindcss : {}, autoprefixer : {}, } }
// globals.css @import "tailwindcss/base" ; @import "tailwindcss/components" ; @import "tailwindcss/utilities" ; /* 여기에 사용자 정의 파일 */ @import "custom.css"
custom 선택자
tailwind.config.js 에서 plugins을 활용하면 커스텀 선택자를 추가 할 수 있어 tailwind 선택자와 같이 동일하게 사용할 수있다.
// tailwind.config.js /** @type {import('tailwindcss').Config} */ const plugin = require('tailwindcss/plugin') module.exports = { //.. plugins: [ plugin(function ({ addUtilities }) { const newCssUtilities = { '.absolute_xHalf': { position: 'absolute', left: '50%', transform: 'translateX(-50%)', }, '.absolute_yHalf': { position: 'absolute', top: '50%', transform: 'translateY(-50%)', }, '.absolute_center': { position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)', }, '.absolute_fullPage': { position: 'absolute', top: '0', left: '0', right: '0', bottom: '0', width: '100%', height: '100%', }, '.flex_vertical_center': { display: 'flex', alignItems: 'center', }, '.flex_horizontal_center': { display: 'flex', justifyContent: 'center', }, '.flex_center': { display: 'flex', alignItems: 'center', justifyContent: 'center', }, '.flex_xBetween': { display: 'flex', alignItems: 'center', justifyContent: 'space-between', }, '.max_w_1600': { maxWidth: '1600px', }, } addUtilities(newCssUtilities, ['responsive', 'hover']) }), ], }
참고