新手前端小细节

1.CSS重置和盒模型

每个浏览器都有默认样式,导致:

  • Chrome、Firefox、Safari 显示不一致

  • 按钮、链接、列表自带奇怪样式

  • 边距、字体大小不统一

css 复制代码
/* 第一行就要写这个! */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;  /* 重要!让padding不影响宽度 */
}

body {
  font-family: "Microsoft Yahei", sans-serif;
  line-height: 1.6;
}
css 复制代码
/* CSS重置 - 清除所有默认样式 */
* {
  margin: 0;          /* 清除所有外边距 */
  padding: 0;         /* 清除所有内边距 */
  box-sizing: border-box; /* 重要!见下面解释 */
}

/* 额外清理常见元素 */
ul, ol { list-style: none; }  /* 去掉列表点 */
a { text-decoration: none; }   /* 去掉链接下划线 */
img { max-width: 100%; }      /* 图片自适应 */

box-sizing: border-box; 一句话解释:

"把盒子的宽度和高度固定住,不让padding和border把盒子撑大"

写了这个就是用现代方式的盒子

css 复制代码
传统:实际宽度 = 内容 + 内边距 + 边框
现代:实际宽度 = 你设置的宽度(已经包含一切)

2.CSS选择器优先级

css 复制代码
/* 优先级从高到低 */
!important > 行内样式 > id选择器 > class选择器 > 标签选择器

3.Flex布局

css 复制代码
.container {
  display: flex;  /* 开启flex布局 */
  justify-content: center;  /* 水平对齐 */
  align-items: center;      /* 垂直对齐 */
  flex-direction: row;      /* 方向 */
  flex-wrap: wrap;          /* 换行 */
}

Flex = 弹性盒子

就像一根有弹性的棍子,上面的项目可以灵活排列

主轴和交叉轴

css 复制代码
.container {
  display: flex;
  flex-direction: row;  /* 主轴水平(默认) */
}

情况1:flex-direction: row(默认)

css 复制代码
主轴(main axis):从左到右 ←────────→
交叉轴(cross axis):从上到下
        ↓
[项目1] [项目2] [项目3]
        ↓

情况2:flex-direction: column

css 复制代码
主轴:从上到下
交叉轴:从左到右

[项目1]  ← 交叉轴 →
[项目2] 
[项目3]

常用属性

1. justify-content - 主轴对齐方式(水平方向)

css 复制代码
.container {
  display: flex;
  justify-content: ???;
}
效果 图示
flex-start 靠左对齐 [1][2][3]____________
flex-end 靠右对齐 ____________[1][2][3]
center 居中 ______[1][2][3]______
space-between 两端对齐,中间等距 [1]____[2]____[3]
space-around 每个项目周围等距 _[1]___[2]___[3]_
space-evenly 所有间距完全相等 _[1]_[2]_[3]_

2. align-items - 交叉轴对齐方式(垂直方向/竖直方向)

css 复制代码
.container {
  display: flex;
  align-items: ???;
  height: 200px; /* 必须有高度才明显 */
}
效果 图示
stretch 拉伸填满(默认) [────1────] [────2────]
flex-start 顶部对齐 [1] [2] 顶部对齐
center 垂直居中 居中 [1] [2] 居中
flex-end 底部对齐 底部对齐 [1] [2]
baseline 基线对齐 文字基线对齐

3. flex-direction - 主轴方向

css 复制代码
.container {
  display: flex;
  flex-direction: row; /* 默认:横向排列 */
  /* 或:column(竖向) */
  /* 或:row-reverse(反向横向) */
  /* 或:column-reverse(反向竖向) */
}

4. flex-wrap - 是否换行

css 复制代码
.container {
  display: flex;
  flex-wrap: nowrap; /* 默认:不换行(会压缩) */
  /* 或:wrap(换行) */
  /* 或:wrap-reverse(反向换行) */
}
justify-content align-items gap
属于 Flex布局系统 Flex布局系统 CSS通用属性
需要 display: flex 才生效 display: flex 才生效 多种布局都能用
作用 控制整体队伍的水平位置 控制每个士兵的垂直位置 控制所有孩子之间的间距
值举例 center, start, space-between center, start, stretch 20px, 1rem, 10%

4.调试技巧

css 复制代码
/* 调试边框大法 */
* {
  border: 1px solid red !important;  /* 快速查看所有盒子 */
}

/* 或使用Chrome开发者工具 */
F12 → Elements → Styles → 可以实时修改CSS
相关推荐
橙子家4 小时前
浏览器缓存之【身份与会话管理】:Cookies 和 Private state tokens
前端
最新资讯动态5 小时前
HDC 2026 | 对话鲸鸿动能:存量时代,品牌如何夺回营销“主动权”?
前端
最新资讯动态5 小时前
游戏出海,从产品走向体系
前端
最新资讯动态5 小时前
20人团队跑出百万DAU、大厂也来抢量:谁在鸿蒙生态跑出加速度
前端
最新资讯动态5 小时前
千万开发者背后,鸿蒙商业化的B面
前端
爱勇宝7 小时前
AI 时代:智商决定起点,情商决定走多远
前端·ai编程
kyriewen7 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
IT_陈寒8 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
徐小夕9 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
一份执念9 小时前
uni-app 小程序分包限制处理与主包体积优化实战
前端·微信小程序