CSS学习笔记

一、CSS概述

1. 基本概念

  • CSS(层叠样式表):控制网页外观和格式,实现结构与样式分离。

  • 核心优势:提高可维护性、可扩展性,支持响应式设计。

2. CSS作用

  • 视觉样式:字体、颜色、间距等。

  • 布局控制:排版、定位。

  • 交互增强 :动画、过渡效果(如:hover)。

3. 引入方式

方式 语法示例 优先级 适用场景
内联样式 <p style="color:red;"> 最高 临时调试,不推荐大量使用
内部样式表 <style> p { color:blue; } </style> 单页面样式
外部样式表 <link rel="stylesheet" href="styles.css"> 最低 多页面复用,推荐方式

二、CSS选择器

1. 基本选择器

选择器类型 语法示例 特点
标签 p { ... } 选择所有指定标签
.class { ... } 可复用,多个元素共用
ID #id { ... } 唯一性,优先级高于类
通用 * { ... } 选择所有元素(慎用)

2. 组合选择器

组合方式 语法示例 作用
后代选择器 div p 选择div内所有层级的p
子代选择器 div > p 仅选择直接子元素p
相邻兄弟 h1 + p 选择紧接h1后的第一个p
通用兄弟 h1 ~ p 选择h1后所有同级的p

3. 伪类选择器

  • 链接状态

    复制代码
    a:hover { color: orange; }   /* 悬停 */
    a:visited { color: purple; } /* 已访问 */
  • 结构伪类

    复制代码
    li:nth-child(2) { ... }      /* 选择第2个子元素 */
    p:first-child { ... }        /* 第一个子元素 */
  • 状态伪类

    复制代码
    input:focus { border-color: blue; }  /* 输入框聚焦时 */
    button:disabled { opacity: 0.5; }    /* 禁用按钮 */

三、CSS盒子模型

1. 盒子组成

  • 四层结构(由内到外):

    1. Content (内容区):width/height控制大小。

    2. Padding (内边距):padding设置,背景色会影响。

    3. Border (边框):border定义样式、颜色、宽度。

    4. Margin (外边距):margin控制与其他元素间距,透明。

2. 盒模型类型

类型 box-sizing属性值 特点
标准盒模型 content-box width/height仅含内容区(默认)
IE盒模型 border-box width/height包含内容区+padding+border
复制代码
/* 切换为IE盒模型(推荐布局使用) */
* {
  box-sizing: border-box;
}

3. 盒子尺寸计算

  • 总宽度 = width + 左右padding + 左右border + 左右margin

  • 总高度 = height + 上下padding + 上下border + 上下margin


四、CSS布局

1. 元素类型

类型 特点 示例标签 能否设置宽高?
块级元素 独占一行,默认宽度100% div, p, h1
行内元素 同行排列,宽高由内容决定 span, a
行内块元素 同行排列,可设置宽高 img, button
复制代码
/* 转换元素类型 */
.inline-block {
  display: inline-block;
}

2. 布局技术

(1) 浮动布局
复制代码
.left {
  float: left;   /* 左浮动 */
}
.right {
  float: right;  /* 右浮动 */
}
  • 问题:父元素高度塌陷。

  • 解决 :通过clearfix清除浮动:

    复制代码
    .clearfix::after {
      content: "";
      display: block;
      clear: both;
    }
(2) Flex弹性布局
复制代码
.container {
  display: flex;
  justify-content: center;   /* 主轴对齐方式 */
  align-items: center;       /* 交叉轴对齐方式 */
  gap: 20px;                 /* 子元素间距 */
}
(3) Grid网格布局
复制代码
.grid-container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;  /* 三列,比例1:2:1 */
  grid-template-rows: 100px auto;      /* 两行,第二行自适应 */
  grid-gap: 10px;
}

五、总结

  1. 核心概念:理解选择器优先级、盒模型计算和布局方式是关键。

  2. 最佳实践

    • 优先使用外部样式表,保持结构清晰。

    • 布局时使用box-sizing: border-box避免尺寸计算问题。

    • 现代布局推荐FlexGrid,减少浮动使用。

  3. 学习建议:多实践布局案例(如导航栏、卡片布局),善用浏览器开发者工具调试样式。

相关推荐
chillxiaohan1 分钟前
GO学习记录——多文件调用
开发语言·学习·golang
小乔的编程内容分享站31 分钟前
记录使用VSCode调试含scanf()的C语言程序出现的两个问题
c语言·开发语言·笔记·vscode
中屹指纹浏览器1 小时前
2026年指纹浏览器技术迭代与风控对抗演进
经验分享·笔记
1104.北光c°2 小时前
【从零开始学Redis | 第一篇】Redis常用数据结构与基础
java·开发语言·spring boot·redis·笔记·spring·nosql
Funny_AI_LAB2 小时前
AI Agent最新重磅综述:迈向高效智能体,记忆、工具学习和规划综述
人工智能·学习·算法·语言模型·agi
小飞大王6663 小时前
CSS基础知识
前端·css
代码游侠3 小时前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习
宇钶宇夕3 小时前
CoDeSys入门实战一起学习(二十八):(LD)三台电机顺起逆停程序详解—上升、下降沿使用上
单片机·嵌入式硬件·学习
科技林总3 小时前
【系统分析师】6.5 电子商务
学习
代码游侠3 小时前
C语言核心概念复习(一)
c语言·开发语言·c++·笔记·学习