当前位置: 首页 > ai >正文

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-boxwidth/height仅含内容区(默认)
IE盒模型border-boxwidth/height包含内容区+padding+border
/* 切换为IE盒模型(推荐布局使用) */
* {box-sizing: border-box;
}

3. 盒子尺寸计算

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

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


四、CSS布局

1. 元素类型

类型特点示例标签能否设置宽高?
块级元素独占一行,默认宽度100%divph1
行内元素同行排列,宽高由内容决定spana
行内块元素同行排列,可设置宽高imgbutton
/* 转换元素类型 */
.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. 学习建议:多实践布局案例(如导航栏、卡片布局),善用浏览器开发者工具调试样式。

http://www.xdnf.cn/news/1103.html

相关文章:

  • Ubuntu数据连接访问崩溃问题
  • 百度 Al 智能体心响 App 上线
  • \r在C语言中是什么意思(通俗易懂,附带实例)
  • C语言高频面试题——嵌入式系统中中断服务程序
  • Python基于语音识别的智能垃圾分类系统【附源码、文档说明】
  • 如何批量为多个 Word 文档添加水印保护
  • C++手撕STL-其叁
  • MongoDB 集合名称映射问题
  • 【Lua】Lua 入门知识点总结
  • Debian 12.10 root 登录失败,两步解决!
  • 用于共显著目标检测的记忆辅助对比共识学习(翻译)
  • VSCode中安装GitGraph
  • 准确--Tomcat更换证书
  • JavaScript性能优化实战(2):DOM操作优化策略
  • 【Linux网络】构建基于UDP的简单聊天室系统
  • 通过dogssl申请ssl免费证书
  • 第五篇:linux之vim编辑器、用户相关
  • list底层原理
  • leetcode--两数之和 三数之和
  • AES-128、AES-192、AES-256 简介
  • MYSQL的binlog
  • rk3568main.cc解析
  • NumPyro:概率编程的现代Python框架深度解析
  • “思考更长时间”而非“模型更大”是提升模型在复杂软件工程任务中表现的有效途径 | 学术研究系列
  • tomcat集成redis实现共享session
  • 文件上传漏洞3
  • 路由与路由器
  • Centos虚拟机远程连接缓慢
  • Docker 与 Docker-Compose 的区别
  • AI数字人:元宇宙舞台上的闪耀新星(7/10)