第二周学习笔记(css基础总结)

CSS 概述

CSS 是一种样式表语言,用于描述 HTML 或 XML 文档的呈现方式,包括布局、颜色、字体等。它的核心目标是将文档的内容与它的视觉表现分离,使得网页更容易维护和设计。


一、 引入 CSS 的方式

  1. 内联样式:直接在 HTML 元素的 style 属性中编写 CSS。这种方式优先级最高,但不利于维护,且混合了结构与样式,不推荐大量使用。

  2. 内部样式表:在 HTML 文档的 <head> 部分使用 <style> 标签包裹 CSS 代码。适用于单个页面独有的样式。

  3. 外部样式表:将 CSS 代码保存在一个独立的 .css 文件中,然后在 HTML 的 <head> 部分使用 <link> 标签将其引入。这是最常用和推荐的方式,因为它可以实现样式在多页面间的复用,并便于缓存和管理。


二、 CSS 核心语法结构

一条 CSS 规则由两个主要部分构成:

  1. 选择器:用于指定要应用样式的 HTML 元素。

  2. 声明块:包含在一对大括号 {} 中,由一个或多个声明组成。

    • 声明:是一个键值对,由属性组成,中间用冒号 : 分隔,每条声明以分号 ; 结尾。

    • 属性:是你希望改变的样式特征(如 color, font-size)。

    • :指定了你希望为该属性设置的具体参数(如 red, 16px)。


三、 主要选择器类型

选择器是 CSS 的基石,用于精准地选中目标元素。

  1. 基础选择器

    • 元素选择器:直接使用 HTML 标签名(如 p, div, h1)。

    • 类选择器:以点号 . 开头,后跟类名,用于选择具有特定 class 属性的元素。一个元素可以有多个类,一个类也可用于多个元素。

    • ID 选择器:以井号 # 开头,后跟 ID 名,用于选择具有特定 id 属性的元素。ID 在页面中应是唯一的。

    • 通配符选择器:星号 *,匹配页面中的所有元素。

  2. 组合选择器

    • 后代选择器:用空格分隔(如 A B),选择是 A 元素内部的所有 B 元素(无论嵌套多深)。

    • 子元素选择器:用大于号 > 分隔(如 A > B),仅选择作为 A 元素直接子元素的 B 元素。

    • 相邻兄弟选择器:用加号 + 分隔(如 A + B),选择紧跟在 A 元素之后的第一个 B 元素。

    • 通用兄弟选择器:用波浪号 ~ 分隔(如 A ~ B),选择在 A 元素之后的所有同层 B 元素。

  3. 属性选择器:根据元素的属性及属性值来选择元素(如 [type="text"])。

  4. 伪类与伪元素

    • 伪类:以单冒号 : 开头,用于定义元素的特殊状态(如 :hover 鼠标悬停,:focus 获得焦点,:first-child 第一个子元素)。

    • 伪元素:以双冒号 :: 开头,用于样式化元素的特定部分(如 ::before 在元素内容前插入,::after 在元素内容后插入,::first-line 首行文本)。


四、 常用样式属性分类

  1. 盒模型:CSS 将每个元素视为一个矩形盒子,它由内到外包括:

    • 内容width, height 定义其尺寸。

    • 内边距padding,内容与边框之间的透明区域。

    • 边框border,围绕内容和内边距的线。

    • 外边距margin,盒子与其他盒子之间的透明间隔。

    • box-sizing 属性可以改变盒模型尺寸的计算方式。

  2. 文本与字体

    • 字体font-family(字体族),font-size(大小),font-weight(粗细),font-style(样式,如斜体)。

    • 文本color(颜色),text-align(水平对齐),line-height(行高),text-decoration(装饰,如下划线)。

  3. 背景background-color(背景色),background-image(背景图片),background-repeat(重复方式),background-position(位置)。

  4. 布局相关

    • 显示类型display 属性是关键,它决定元素如何生成盒子。常见值有 block(块级元素,独占一行)、inline(行内元素,不独占一行)、inline-block(行内块,可设宽高的行内元素)、none(不显示)。

    • 定位position 属性,设置元素的定位方式。

      • static:默认,正常文档流。

      • relative:相对自身原本位置进行偏移。

      • absolute:相对于最近的非 static 定位的祖先元素进行定位。

      • fixed:相对于浏览器窗口进行定位。

      • sticky:在滚动时在特定阈值内变为固定定位。

    • 浮动float 属性,最初用于文字环绕图片,后来被用于实现多栏布局,现在已逐渐被 Flexbox 和 Grid 取代。


五、 现代布局技术

  1. Flexbox(弹性盒子布局):一种一维布局模型,用于在一条直线上排列元素。它非常适合处理元素的分布、对齐和顺序,即使元素尺寸未知或动态变化。通过给父容器设置 display: flex; 来启用。

  2. CSS Grid(网格布局):一种二维布局系统,将页面划分为行和列,可以同时处理行和列上的布局。它非常适合构建复杂的整体页面结构。通过给父容器设置 display: grid; 来启用。


六、 其他重要概念

  1. 层叠与继承

    • 层叠:当多条规则应用于同一元素时,CSS 通过一套优先级规则(涉及来源、选择器权重、代码顺序)来决定最终应用哪个样式。

    • 继承:某些样式属性(如字体、颜色)会自动从父元素传递到子元素。

  2. 单位

    • 绝对单位:如 px(像素)。

    • 相对单位:如 %(百分比),em(相对于父元素字体大小),rem(相对于根元素字体大小),vw/vh(视窗宽度/高度的百分比)。

  3. 响应式设计:使用 媒体查询 技术,根据不同的设备特性(如屏幕宽度)来应用不同的 CSS 规则,使网页能在各种设备上都能良好显示。


第二周学习笔记(css基础总结)
http://localhost:8090//archives/di-er-zhou-xue-xi-bi-ji-cssji-chu-zong-jie
作者
李志扬
发布于
2025年10月02日
许可协议