写出几个初始化CSS的样式,并解释说明为什么要这样写

以下是一些初始化 CSS 样式,并解释了为什么这样写:

/* 重置内外边距 */
* {
  margin: 0;
  padding: 0;
}

/* 继承 box-sizing */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box; /* 使用 border-box 模型 */
  font-size: 62.5%; /* 设置根元素字体大小为 10px,方便 rem 使用 */
  -webkit-text-size-adjust: 100%; /* 防止 iOS Safari 自动调整字体大小 */
}

body {
  font-family: sans-serif; /* 设置默认字体 */
  line-height: 1.5; /* 设置行高 */
  min-height: 100vh; /* 确保 body 至少占据整个视口高度 */
  -webkit-font-smoothing: antialiased; /*  macOS/iOS 上的字体平滑 */
  -moz-osx-font-smoothing: grayscale; /*  Firefox 上的字体平滑 */
}

img, picture, video, iframe, table, figure {
  display: block; /* 防止图片底部出现空白 */
  max-width: 100%; /* 限制图片宽度,防止溢出容器 */
  height: auto; /* 保持图片宽高比 */
}

a {
  text-decoration: none; /* 去除链接下划线 */
  color: inherit; /* 继承父元素颜色 */
}

ul, ol {
  list-style: none; /* 去除列表默认样式 */
}

button, input, select, textarea {
  font: inherit; /* 继承父元素字体样式 */
  background-color: transparent; /*  背景透明 */
  border: none; /* 去除默认边框 */
  padding: 0; /* 去除默认内边距 */
  appearance: none; /* 去除默认外观样式 */
  cursor: pointer; /*  设置鼠标样式为指针 */
}

/*  禁用按钮默认样式 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

解释:

  • * { margin: 0; padding: 0; }: 这是最常见的重置样式,用于去除所有元素的默认内外边距。不同浏览器对不同元素的默认内外边距设置不同,这会导致布局出现差异。这个规则可以消除这些差异,使布局更可控。

  • box-sizing: border-box;: border-box 模型将元素的 paddingborder 包含在元素的宽度和高度内,而不是在元素的宽度和高度之外添加。这使得计算元素的尺寸更加直观和方便。

  • font-size: 62.5%;: 将根元素的字体大小设置为 10px,方便使用 rem 单位。1rem 等于根元素的字体大小,因此设置根元素字体大小为 10px 后,1rem 就等于 10px,方便计算。

  • -webkit-text-size-adjust: 100%;: 防止 iOS Safari 自动调整字体大小,确保字体大小与设计一致。

  • font-family: sans-serif;: 设置默认字体为无衬线字体。

  • line-height: 1.5;: 设置行高,提高文本可读性。

  • min-height: 100vh;: 确保 body 元素至少占据整个视口高度。

  • -webkit-font-smoothing-moz-osx-font-smoothing: 用于字体平滑,使字体在不同操作系统上显示更清晰。

  • img, picture, video, iframe, table, figure { display: block; ... }: 将这些元素设置为块级元素,防止图片底部出现空白,并限制其最大宽度,防止溢出容器。

  • a { text-decoration: none; color: inherit; }: 去除链接默认下划线,并继承父元素颜色。

  • ul, ol { list-style: none; }: 去除列表默认样式。

  • button, input, select, textarea { ... }: 重置表单元素样式,去除默认样式,并继承父元素字体。

  • **`button

posted @ 2024-11-24 17:27  王铁柱6  阅读(40)  评论(0)    收藏  举报