css学习

简介: css学习

学习 CSS(层叠样式表)是前端开发的核心技能之一,它用于控制网页的布局、样式和视觉呈现。以下是一份系统的学习路径和关键知识点,帮助你逐步掌握 CSS:

一、CSS 基础入门

  1. 什么是 CSS?
    CSS 用于描述 HTML 元素的显示方式,实现“内容与样式分离”,让网页结构更清晰、维护更方便。

  2. 引入 CSS 的三种方式

    • 内联样式:直接在 HTML 标签中用 style 属性定义(不推荐,耦合度高)。
      例:<p style="color: red;">文本</p>
    • 内部样式表:在 HTML 的 <head> 中用 <style> 标签定义(适用于单页样式)。
      例:
      <style>
        p {
               color: red; }
      </style>
      
    • 外部样式表:创建 .css 文件,通过 <link> 引入(推荐,多页面复用)。
      例:<link rel="stylesheet" href="style.css">
  3. 基本语法
    CSS 由“选择器”和“声明块”组成:

    选择器 {
         
      属性名: 属性值;  /* 声明(键值对) */
      属性名: 属性值;
    }
    

    例:h1 { color: blue; font-size: 20px; }

二、核心选择器

选择器用于定位 HTML 元素,是 CSS 的核心:

  1. 基础选择器

    • 元素选择器:直接用标签名(如 pdiv)。
    • 类选择器:用 .类名(可复用,一个元素可多个类)。
      例:.title { color: green; },对应 HTML <p class="title">
    • ID 选择器:用 #ID名(唯一,一个元素只能一个 ID)。
      例:#logo { width: 100px; },对应 HTML <div id="logo">
    • 通配符* 匹配所有元素(慎用,性能影响)。
  2. 组合选择器

    • 后代选择器A B 匹配 A 内部的所有 B(无论嵌套层级)。
    • 子选择器A > B 仅匹配 A 的直接子元素 B。
    • 相邻兄弟选择器A + B 匹配 A 后面紧邻的第一个 B。
    • 通用兄弟选择器A ~ B 匹配 A 后面所有同级的 B。
  3. 伪类与伪元素

    • 伪类:用于元素的特定状态(如 :hover 鼠标悬停、:active 点击时、:nth-child(n) 第 n 个子元素)。
      例:a:hover { color: red; }
    • 伪元素:创建虚拟元素(如 ::before 在元素前插入内容、::after 在元素后插入)。
      例:p::before { content: "→"; }

三、样式属性核心

  1. 文本样式

    • color:文本颜色(支持关键词、#rrggbbrgb()rgba())。
    • font-family:字体(如 font-family: "Microsoft YaHei", sans-serif;)。
    • font-size:字号(如 16px1.2rem)。
    • font-weight:字重(normalbold 或 100-900)。
    • text-align:对齐方式(leftcenterright)。
    • line-height:行高(控制文本垂直间距,1.5 表示 1.5 倍字号)。
  2. 盒模型(Box Model)
    每个元素都是一个“盒子”,由以下部分组成(从内到外):

    • content:内容区域(widthheight 控制)。
    • padding:内边距(内容与边框的距离)。
    • border:边框(border: 1px solid #000; 宽度、样式、颜色)。
    • margin:外边距(盒子与其他元素的距离)。
    • 注意:默认 box-sizing: content-boxwidth 仅含内容),建议设置 box-sizing: border-boxwidth 包含 padding 和 border)。
  3. 背景样式

    • background-color:背景色。
    • background-image:背景图(url("图片路径"))。
    • background-repeat:是否重复(no-repeatrepeat-x 等)。
    • background-position:背景图位置(如 center20px 30px)。
    • 简写:background: #f00 url("img.jpg") no-repeat center;
  4. 布局相关

    • display:控制元素显示类型(核心!):
      • block:块级元素(独占一行,可设宽高,如 divp)。
      • inline:行内元素(不独占一行,宽高无效,如 spana)。
      • inline-block:行内块(不独占一行,可设宽高)。
      • none:隐藏元素(不占空间)。
    • float:浮动(left/right,让元素脱离文档流,用于早期布局,注意清除浮动)。
    • position:定位(控制元素位置):
      • static:默认(正常文档流)。
      • relative:相对自身原位置偏移(不脱离文档流)。
      • absolute:绝对定位(相对于最近的非 static 父元素偏移,脱离文档流)。
      • fixed:固定定位(相对于视口,不随滚动变化)。

四、进阶布局技术

  1. Flex 布局(弹性盒)
    最常用的现代布局方式,通过给父元素设置 display: flex,控制子元素的排列、对齐、分配空间。

    • 核心属性(父容器):flex-direction(方向)、justify-content(水平对齐)、align-items(垂直对齐)、flex-wrap(换行)。
    • 子元素属性:flex(分配剩余空间,如 flex: 1 占比 1 份)。
  2. Grid 布局(网格)
    二维布局系统(行 + 列),适合复杂布局,父元素设置 display: grid

    • 核心属性:grid-template-columns(列宽)、grid-template-rows(行高)、gap(间距)。
    • 例:grid-template-columns: 100px 200px auto; 定义 3 列,宽度分别为 100px、200px、自适应。
  3. 响应式布局
    使网页在不同设备(手机、平板、电脑)上自适应显示:

    • 媒体查询(Media Queries):根据屏幕尺寸应用不同样式。
      例:
      @media (max-width: 768px) {
               /* 屏幕宽度 ≤768px 时生效 */
        .container {
              width: 100%; }
      }
      
    • 相对单位rem(相对于根元素字号)、vw/vh(视口宽度/高度的 1%)。

五、实践与工具

  1. 调试工具:浏览器 F12 开发者工具的「Elements」面板,可实时修改和查看 CSS。
  2. 学习资源
    • 文档:MDN Web Docs(最权威)。
    • 练习:CodePenJSFiddle 在线编写代码。
    • 框架:后期可学习 Bootstrap、Tailwind CSS 等样式框架,提高开发效率。

学习建议

  1. 先掌握基础选择器、盒模型、Flex 布局,这些是日常开发的核心。
  2. 多写实例:用 CSS 复刻简单网页(如导航栏、卡片布局),加深理解。
  3. 关注浏览器兼容性:部分属性(如早期 Flex)在旧浏览器(如 IE)中需加前缀(-webkit--moz-)。

从基础到进阶,逐步实践,你会慢慢掌握 CSS 的精髓!

相关文章
|
2月前
|
移动开发 JavaScript API
Uniapp 与原生 App 集成时如何解决兼容性问题?
Uniapp 与原生 App 集成时如何解决兼容性问题?
517 136
|
人工智能 自然语言处理 IDE
通义灵码 AI IDE使用体验(1)项目初创
通义灵码 AI IDE上线,作为AI IDE的重度使用者怎能错过?本文详细体验了从安装到项目开发的全过程,界面友好,操作简便,支持智能问答、文件编辑、智能体三种模式。通过智能体方式快速开发项目,自动规划功能、管理环境,虽在复杂项目中仍有提升空间,但整体体验流畅,适合开发者尝试。
899 0
|
2月前
|
机器学习/深度学习 人工智能 算法
AI可以做电商主图了:技术原理,AI电商图生成工具对比及技术解析
双十一临近,电商主图需求激增。AI技术凭借多图融合、扩散模型等,实现高效智能设计,30秒生成高质量主图,远超传统PS效率。支持风格迁移、背景替换、文案生成,助力商家快速打造吸睛商品图,提升转化率。
801 0
|
2月前
|
人工智能 自然语言处理 数据挖掘
从幻觉到精准:RAG如何重塑AI对话的可靠性
从幻觉到精准:RAG如何重塑AI对话的可靠性
254 111
|
2月前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
2月前
|
存储 弹性计算 网络协议
阿里云服务器ECS是什么?ECS介绍、云服务器创建及使用教程
阿里云ECS是安全可靠、弹性灵活的云计算服务,支持多种实例规格与操作系统,可快速创建和管理云服务器。本文详解ECS介绍、购买流程(含付费模式、地域、网络、存储等设置)及使用教程,助您轻松上手云服务器。
528 4
|
4月前
|
存储 人工智能 机器人
别再只做聊天机器人:AI 应用商业闭环的工程落地指南,免费体验中
本文介绍了如何通过阿里云百炼平台创建一个星座运势分析AI智能体,并集成支付宝MCP服务实现支付闭环。解决AI产品无法直接变现的问题,完成“服务-支付-交易”全流程闭环,帮助开发者快速实现商业化。