已创建的项目集成 tailwindcss
1.安装依赖
npm install tailwindcss
2. 根目录下创建文件tailwind.config.js 初始化文件
- // https://unpkg.com/browse/tailwindcss@3.1.6/stubs/defaultConfig.stub.js
-
- /** @type {import('tailwindcss').Config} */
- export default {
- purge: ['./src/**/*.{js,ts,tsx,jsx}'],
- corePlugins: {
- preflight: false,
- container: false
- },
- theme: {
- spacing: () => {
- let baseObj = {
- 120: '120px',
- 130: '130px',
- 140: '140px',
- 160: '160px',
- 180: '180px',
- 200: '200px',
- '1/2': '50%',
- '1/3': '33.333333%',
- '2/3': '66.666667%',
- '1/4': '25%',
- '3/4': '75%',
- '1/5': '20%',
- '2/5': '40%',
- '3/5': '60%',
- '4/5': '80%',
- '1/6': '16.666667%',
- '5/6': '83.333333%',
- '1/12': '8.333333%',
- '5/12': '41.666667%',
- '7/12': '58.333333%',
- '11/12': '91.666667%',
- full: '100%'
- // auto: 'auto',
- }
-
- // 0-100 px
- let obj = {}
- for (let i = 0; i <= 100; i++) {
- obj[i] = `${i}px`
- }
-
- return {
- ...obj,
- ...baseObj
- }
- },
- fontSize: theme => theme('spacing'),
- borderRadius: theme => theme('spacing'),
- borderWidth: theme => theme('spacing'),
- // lineHeight: (theme) => theme('spacing'),
-
- width: theme => ({
- ...theme('spacing'),
- 'max-content': 'max-content',
- screen: '100vw'
- }),
- maxWidth: theme => theme('width'),
- minWidth: theme => theme('width'),
- height: theme => ({
- ...theme('width'),
- screen: '100vh'
- }),
- maxHeight: theme => theme('height'),
- minHeight: theme => theme('height')
- }
- }
3. 在全局css index.css 文件中 导入Tailwindcss
- @import './_preflight'; // 这是做样式覆盖的 ,可不写
-
- @tailwind base;
- @tailwind components;
- @tailwind utilities;
4. _preflight.css
- /* https://unpkg.com/browse/tailwindcss@3.0.23/src/css/preflight.css */
-
- /*
- 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
- 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
- */
-
- *,
- ::before,
- ::after {
- box-sizing: border-box;
- /* 1 */
- border-width: 0;
- /* 2 */
- border-style: solid;
- /* 2 */
- border-color: theme('borderColor.DEFAULT', currentColor);
- /* 2 */
- }
-
- ::before,
- ::after {
- --tw-content: '';
- }
-
- /*
- 1. Use a consistent sensible line-height in all browsers.
- 2. Prevent adjustments of font size after orientation changes in iOS.
- 3. Use a more readable tab size.
- 4. Use the user's configured `sans` font-family by default.
- */
- html {
- line-height: 1.5;
- /* 1 */
- -webkit-text-size-adjust: 100%;
- /* 2 */
- -moz-tab-size: 4;
- /* 3 */
- tab-size: 4;
- /* 3 */
- font-family: theme(
- 'fontFamily.sans',
- ui-sans-serif,
- system-ui,
- -apple-system,
- BlinkMacSystemFont,
- 'Segoe UI',
- Roboto,
- 'Helvetica Neue',
- Arial,
- 'Noto Sans',
- sans-serif,
- 'Apple Color Emoji',
- 'Segoe UI Emoji',
- 'Segoe UI Symbol',
- 'Noto Color Emoji'
- );
- /* 4 */
- }
- /*
- 1. Remove the margin in all browsers.
- 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
- */
- body {
- margin: 0;
- /* 1 */
- line-height: inherit;
- /* 2 */
- }
- /*
- 1. Add the correct height in Firefox.
- 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
- 3. Ensure horizontal rules are visible by default.
- */
- hr {
- height: 0;
- /* 1 */
- color: inherit;
- /* 2 */
- border-top-width: 1px;
- /* 3 */
- }
- /*
- Add the correct text decoration in Chrome, Edge, and Safari.
- */
- abbr:where([title]) {
- text-decoration: underline dotted;
- }
- /*
- Remove the default font size and weight for headings.
- */
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- font-size: inherit;
- font-weight: inherit;
- }
- /*
- Reset links to optimize for opt-in styling instead of opt-out.
- */
- a {
- color: inherit;
- text-decoration: inherit;
- }
- /*
- Add the correct font weight in Edge and Safari.
- */
- b,
- strong {
- font-weight: bolder;
- }
- /*
- 1. Use the user's configured `mono` font family by default.
- 2. Correct the odd `em` font sizing in all browsers.
- */
-
- code,
- kbd,
- samp,
- pre {
- font-family: theme(
- 'fontFamily.mono',
- ui-monospace,
- SFMono-Regular,
- Menlo,
- Monaco,
- Consolas,
- 'Liberation Mono',
- 'Courier New',
- monospace
- );
- /* 1 */
- font-size: 1em;
- /* 2 */
- }
-
- /*
- Add the correct font size in all browsers.
- */
-
- small {
- font-size: 80%;
- }
-
- /*
- Prevent `sub` and `sup` elements from affecting the line height in all browsers.
- */
-
- sub,
- sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
- }
-
- sub {
- bottom: -0.25em;
- }
-
- sup {
- top: -0.5em;
- }
-
- /*
- 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
- 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
- 3. Remove gaps between table borders by default.
- */
-
- table {
- text-indent: 0;
- /* 1 */
- border-color: inherit;
- /* 2 */
- border-collapse: collapse;
- /* 3 */
- }
-
- /*
- 1. Change the font styles in all browsers.
- 2. Remove the margin in Firefox and Safari.
- 3. Remove default padding in all browsers.
- */
-
- button,
- input,
- optgroup,
- select,
- textarea {
- font-family: inherit;
- /* 1 */
- font-size: 100%;
- /* 1 */
- line-height: inherit;
- /* 1 */
- color: inherit;
- /* 1 */
- margin: 0;
- /* 2 */
- padding: 0;
- /* 3 */
- }
-
- /*
- Remove the inheritance of text transform in Edge and Firefox.
- */
-
- button,
- select {
- text-transform: none;
- }
-
- /*
- 1. Correct the inability to style clickable types in iOS and Safari.
- 2. Remove default button styles.
- */
-
- /* FIXED: 解决 preflight 与 ant-design 样式冲突问题 */
- /* button,
- [type='button'],
- [type='reset'],
- [type='submit'] {
- -webkit-appearance: button;
- background-color: transparent;
- background-image: none;
- } */
-
- /*
- Use the modern Firefox focus style for all focusable elements.
- */
-
- :-moz-focusring {
- outline: auto;
- }
-
- /*
- Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
- */
-
- :-moz-ui-invalid {
- box-shadow: none;
- }
-
- /*
- Add the correct vertical alignment in Chrome and Firefox.
- */
-
- progress {
- vertical-align: baseline;
- }
-
- /*
- Correct the cursor style of increment and decrement buttons in Safari.
- */
-
- ::-webkit-inner-spin-button,
- ::-webkit-outer-spin-button {
- height: auto;
- }
-
- /*
- 1. Correct the odd appearance in Chrome and Safari.
- 2. Correct the outline style in Safari.
- */
-
- [type='search'] {
- -webkit-appearance: textfield;
- /* 1 */
- outline-offset: -2px;
- /* 2 */
- }
-
- /*
- Remove the inner padding in Chrome and Safari on macOS.
- */
-
- ::-webkit-search-decoration {
- -webkit-appearance: none;
- }
-
- /*
- 1. Correct the inability to style clickable types in iOS and Safari.
- 2. Change font properties to `inherit` in Safari.
- */
-
- ::-webkit-file-upload-button {
- -webkit-appearance: button;
- /* 1 */
- font: inherit;
- /* 2 */
- }
-
- /*
- Add the correct display in Chrome and Safari.
- */
-
- summary {
- display: list-item;
- }
-
- /*
- Removes the default spacing and border for appropriate elements.
- */
-
- blockquote,
- dl,
- dd,
- h1,
- h2,
- h3,
- h4,
- h5,
- h6,
- hr,
- figure,
- p,
- pre {
- margin: 0;
- }
-
- fieldset {
- margin: 0;
- padding: 0;
- }
-
- legend {
- padding: 0;
- }
-
- ol,
- ul,
- menu {
- list-style: none;
- margin: 0;
- padding: 0;
- }
-
- /*
- Prevent resizing textareas horizontally by default.
- */
-
- textarea {
- resize: vertical;
- }
-
- /*
- 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
- 2. Set the default placeholder color to the user's configured gray 400 color.
- */
- input::placeholder,
- textarea::placeholder {
- opacity: 1;
- /* 1 */
- color: theme('colors.gray.400', #9ca3af);
- /* 2 */
- }
- /*
- Set the default cursor for buttons.
- */
- button,
- [role='button'] {
- cursor: pointer;
- }
- /*
- Make sure disabled buttons don't get the pointer cursor.
- */
- :disabled {
- cursor: default;
- }
-
- /*
- 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
- 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
- This can trigger a poorly considered lint error in some tools but is included by design.
- */
-
- img,
- svg,
- video,
- canvas,
- audio,
- iframe,
- embed,
- object {
- display: block;
- /* 1 */
- vertical-align: middle;
- /* 2 */
- }
-
- /*
- Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
- */
-
- img,
- video {
- max-width: 100%;
- height: auto;
- }
-
- /*
- Ensure the default browser behavior of the `hidden` attribute.
- */
-
- [hidden] {
- display: none;
- }
5. vscode 插件 可以直接搜索 Tailwindcss 下载敲代码 样式提示插件
6. 可以直接在 Tailwindcss 官网直接搜索样式 ,非常方便
7 . 常见写法样式举例 h-30 为 height:30 也支持自定义 h-[30px] w-[30px] text-[30px] ,一般在官网搜索 后面会给出值自定义例子