Tailwind CSS - 预设样式



Tailwind CSS **预设样式** 是 Tailwind 项目的基础样式。它用于简化不同浏览器上的样式或效果。如果我们包含 **`@tailwind base`**,它将自动注入这些样式。

Tailwind CSS 预设样式的目的

所有标签都带有一些预定义的样式。预设样式消除了依赖用户代理样式表中应用的样式(这些样式不属于您的间距比例)的依赖性。预设样式用于从这些元素中删除这些样式。例如,标题标签中的字体大小在标签内定义。此预设样式会将其移除,并将 `

` 元素内容保留为普通文本。预设样式中有一些旨在不被注意的样式。

示例

在下面的示例中,您将看到创建了一个 h1 元素,但输出与您预期的不一样。

<!DOCTYPE html>
<html lang="en">

<head>
    <script src="https://cdn.tailwindcss.com"></script>
</head>

<body>
    <h1>Tailwind CSS<h1>
</body>

</html>

预设样式应用的样式

预设样式应用了很多样式,在这篇文章中,我们将仅描述重要的样式,完整的参考,您可以查看此 链接

删除默认外边距

HTML 中有很多元素包含一些外边距,但是此预设样式将通过删除该外边距使其成为普通元素。例如标题、块引用、段落、预格式文本等元素。

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

标题无样式

在 Tailwind CSS 中,所有标题元素都没有样式,要定义所需的文本样式,您必须使用不同的类。

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

列表无样式

预设样式会去除有序列表和无序列表的样式。它也移除了外边距、内边距、项目符号和编号。无样式列表不会被 VoiceOver 宣布为列表。如果内容确实是列表,但我们希望保持其无样式,我们需要向元素添加“list”角色。

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

媒体元素为块级元素

所有媒体元素(如图像、视频、画布等)都没有样式。它们都是块级元素,并垂直居中对齐。

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}

图片受限于父元素宽度

图像和视频的宽度将基于父元素的宽度设置。要设置宽度,您需要使用所需的 Tailwind CSS 类手动设置它。

img,
video {
  max-width: 100%;
  height: auto;

全局重置边框样式

预设样式会覆盖所有元素的默认边框样式。这使得只需使用 border 类即可轻松添加边框。

*,
::before,
::after {
  border-width: 0;
  border-style: solid;
  border-color: theme('borderColor.DEFAULT', currentColor);
}

扩展预设样式

如果我们想在 Tailwind CSS 预设样式之上添加我们自己的基础样式,那么我们可以使用 **`@tailwind base`** 指令定义我们自己的 CSS。

@tailwind base;

@layer base {
  h1 {
    @apply text-2xl;
  }
  h2 {
    @apply text-xl;
  }
  a {
    @apply text-green-600 underline;
  }
}

@tailwind components;

@tailwind utilities;

禁用预设样式

如果我们想在一个现有项目中使用 Tailwind CSS,那么我们应该禁用预设样式,否则它会移除某些样式,例如标题的外边距、字体大小等。要禁用预设样式,请转到您的 **`tailwind.config.js`** 文件,并将 **`preflight`** 设置为 **`false`**,位于 **`corePlugins`** 部分内部。

module.exports = {
  corePlugins: {
    preflight: false,
  }
}
广告