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

HTML + CSS + JavaScript 快速入门(二):CSS 详解

HTML CSS JavaScript 快速入门二CSS 详解2026 年视角这是系列第二讲我们把CSSCascading Style Sheets讲透。CSS 的核心使命控制 HTML 元素的视觉呈现颜色、间距、大小、布局、动画等。2025–2026 年的现代 CSS 已经非常强大Flexbox Grid Container Queries Subgrid Cascade Layers 等特性让“纯 CSS 实现复杂响应式布局”变得现实。1. CSS 引入方式对比日常选择方式写法示例适用场景推荐度2026内联样式h1 stylecolor:red;快速测试、邮件模板、动态 JS 注入★☆☆☆☆内部样式stylestyle body { margin:0; } /style单文件演示、组件库 demo★★☆☆☆外部样式表推荐link relstylesheet hrefstyles.css几乎所有真实项目★★★★★CSS 模块 / Scoped框架内CSS Modules、Styled Components、Vanilla Extract大型组件化项目★★★★☆现代推荐始终使用外部.css文件 link并考虑 PostCSS / Tailwind / UnoCSS 等工具链。2. CSS 选择器速查高频 Top 15选择器类型示例优先级说明元素p1所有段落类.card10最常用ID#header100慎用特异性太高属性[typecheckbox]10表单常用后代.card p—所有后代 p子元素.card p—直接子元素相邻兄弟h2 p—紧跟 h2 的第一个 p通用兄弟h2 ~ p—h2 后面的所有 p:hover / :focusa:hover—交互状态:nth-child(n)li:nth-child(odd)—隔行变色经典:not():not(.active)—排除:has().card:has(img)—2023 超级强大父选择子[data-*][data-themedark]10自定义属性常用3. 盒模型Box Model——必须彻底搞懂现代项目几乎都用box-sizing: border-box;全局设置*, *::before, *::after{box-sizing:border-box;margin:0;padding:0;}border-box vs content-box对比content-box默认老思维width 内容宽度实际占用 width padding borderborder-box现代标配width 内容 padding border 的总宽度4. 现代布局核心Flexbox vs Grid2026 共识特性FlexboxCSS Grid什么时候选谁2026 建议维度1维行或列2维行列—典型场景导航栏、卡片内容对齐、居中整体页面布局、画廊、表单网格—对子元素控制非常灵活grow/shrink/order精确轨道fr / minmax / auto—嵌套友好好一般但 Subgrid 2025–2026 解决—响应式切换容易度★★★★★★★★★☆Flex 更宽容浏览器支持100%100%Subgrid ~92–98%—一句话决策口诀“内容对齐 / 一维排列 → Flexbox”“二维网格 / 显式行列 → Grid”“两者结合”是最常见模式Grid 做页面骨架Flex 做组件内部Flexbox 经典写法背下来.container{display:flex;/* 或 inline-flex */flex-direction:row;/* row | column | row-reverse */justify-content:center;/* 主轴对齐 */align-items:center;/* 交叉轴对齐 */gap:1.5rem;/* 子元素间距最常用 */}.item{flex:1 1 200px;/* grow shrink basis *//* 简写flex-grow flex-shrink flex-basis */}Grid 经典写法2026 推荐.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;/* 或者显式 1fr 1fr 1fr; */}.card{/* 子元素可自行定位 */grid-column:span 2;/* 跨列 */}5. 响应式设计Responsive Design核心技巧2026 年主流策略mobile-first container queries 趋势Mobile-first media queries.card{padding:1rem;}media(min-width:768px){.card{padding:2rem;font-size:1.125rem;}}Container Queries组件级响应式2023–2026 大杀器.card-container{container-type:inline-size;/* 声明容器 */}container(min-width:400px){.card{flex-direction:row;align-items:center;}}优点组件真正可复用不依赖页面宽度支持度2026 年已 95%可放心用6. 常见实用属性速查日常 Top 20属性家族高频属性示例备注文字color, font-size, font-weight, line-height, text-align—间距margin, padding, gapgap 是 flex/grid 神器边框border, border-radiusborder-radius: 9999px → 圆形背景background-color, background-image, background-size: cover—阴影box-shadow: 0 4px 6px rgba(0,0,0,0.1)neumorphism / glassmorphism 常用定位position: relative / absolute / sticky / fixed—显示display: none / block / flex / grid / contentscontents 很有用溢出overflow: hidden / auto—过渡/动画transition: all 0.3s; transformwill-change: transform 优化7. 现代 CSS 最佳实践2026 年写代码心态默认 mobile-first优先用rem/em/ch/vw等相对单位全局重置box-sizing: border-box; margin:0; padding:0;颜色用oklch()/color-mix()更感知均匀层叠控制用layercascade layers管理特异性组件化思维一个组件尽量自包含样式container queries 助力性能避免float、::before大量伪元素、!important滥用8. 练习建议 下一讲预告本周小目标用纯 HTML CSS 复刻 3 个常见组件居中卡片Flex/Grid 两种写法响应式导航栏mobile hamburger → desktop horizontal产品卡片列表auto-fit minmax container query 变体工具推荐VS Code Live Server CSS Peek 插件 Firefox/Chrome DevToolsGrid/Flex inspector 超好用下一讲预告HTML CSS JS 快速入门三JavaScript 基础详解变量 / 函数 / 数组 / 对象DOM 操作入门事件监听现代写法箭头函数、解构、模块你现在是想重点练习布局Flex/Grid/Container Queries还是想看某个具体组件的完整代码示例比如响应式卡片、暗黑模式切换、表单美化告诉我你的需求我可以直接给出代码 解释。

相关文章:

HTML + CSS + JavaScript 快速入门(二):CSS 详解

HTML CSS JavaScript 快速入门(二):CSS 详解(2026 年视角) 这是系列第二讲,我们把 CSS(Cascading Style Sheets)讲透。 CSS 的核心使命:控制 HTML 元素的视觉呈现&…...

【香橙派】Orange Pi AIpro实战:昇腾AI算力加持下的YOLOv8部署与性能深度剖析

1. 香橙派Orange Pi AIpro开箱体验 第一次拿到这块开发板时,最直观的感受就是"分量十足"。包装盒里除了主板本体,还贴心地配备了散热风扇、电源适配器、Type-C数据线等全套配件。相比我之前用过的树莓派,Orange Pi AIpro的PCB板明显…...

Ubuntu双系统安装失败?天选5Pro的Intel RST问题全解析

天选5Pro双系统安装困境:Intel RST技术原理与实战解决方案 当技术爱好者们满怀期待地在新购置的天选5Pro笔记本上尝试安装Ubuntu双系统时,往往会遭遇一个令人困惑的障碍——安装程序无法识别磁盘设备。这个看似简单的硬件兼容性问题背后,实际…...

[MT8766][Android12] 无屏设备网络调试:定制热点配置与开机自启策略

1. 无屏设备网络调试的核心痛点 最近在开发一款基于MT8766芯片的Android12智能盒子时,遇到了一个典型问题:设备没有屏幕,但需要频繁进行调试和维护。传统的有线ADB连接方式在量产环境中并不实用,特别是当设备被部署在难以接触的位…...

知识图谱实战:利用Neo4j构建历史人物关系网络——以张学良家族为例

1. 知识图谱与Neo4j初探 第一次接触知识图谱时,我被它直观的网络结构深深吸引。想象一下,如果把历史人物关系画在一张巨大的白板上,用线条连接相关人物,这就是知识图谱最朴素的形态。而Neo4j就像是为这种关系网络量身定制的数字画…...

QMT中ContextInfo的逐K线机制解析与优化策略

1. ContextInfo逐K线机制的设计原理 在QMT量化交易系统中,ContextInfo是一个特殊的系统对象,它的行为模式与常规Python对象有着本质区别。理解这个机制的核心在于把握"逐K线更新"这个关键特性。想象你在看一本翻页动画书——只有当完整翻过一页…...

RTL8211E千兆PHY芯片PCB设计避坑指南:从电源分层到差分线等长

RTL8211E千兆PHY芯片PCB设计实战:规避高频信号陷阱的12个关键策略 在千兆以太网硬件设计中,RTL8211E作为主流PHY芯片方案,其PCB实现质量直接影响网络传输的稳定性和速率上限。许多工程师在完成原理图设计后,往往在PCB阶段遭遇信号…...

YOLOv8训练调优:从default.yaml配置文件解析到实战参数调整

1. 理解YOLOv8配置文件的核心结构 第一次打开YOLOv8的default.yaml配置文件时,我就像面对一本没有目录的技术手册。密密麻麻的参数让人眼花缭乱,但经过几个项目的实战后,我发现这些参数实际上可以分为几个逻辑清晰的模块。让我们像拆解乐高积…...

Prompt Programming - 从文字指令到认知引擎的编程革命

1. Prompt Programming的本质与演进 十年前,当我第一次接触AI编程时,需要花费数周时间训练模型、调整参数。如今,只需几行自然语言指令,就能让大语言模型完成复杂任务——这就是Prompt Programming带来的革命。 Prompt Programmin…...

BGP线路 vs 传统线路:如何为你的业务选择最佳服务器方案?

BGP线路与传统线路深度对比:企业级服务器选型实战指南 当企业业务规模扩张到需要跨地域服务时,服务器线路的选择直接决定了终端用户的访问体验。我曾为多家电商平台做过基础设施优化,最深刻的教训莫过于某次因线路选择不当导致的"南北互…...

你的AI助手真的懂你吗?手把手用EMER数据集评测多模态大模型的情感理解力

你的AI助手真的懂你吗?手把手用EMER数据集评测多模态大模型的情感理解力 当智能助手在你疲惫时主动建议休息,或在你焦虑时推荐深呼吸练习,这种"情感共鸣"背后究竟依赖怎样的技术逻辑?2024年问世的EMER数据集为开发者提供…...

Linux虚拟机与Windows主机文件互传:VMTools配置全攻略

1. 为什么需要VMTools文件互传功能 在日常开发中,我经常需要在Windows主机和Linux虚拟机之间来回传输文件。最开始我尝试用U盘拷贝,不仅效率低下,还经常遇到文件格式兼容性问题。后来发现VMTools提供的文件互传功能才是最佳解决方案。 这个功…...

ESP32驱动LED12864液晶屏:从字库调用到动态界面设计实战

1. ESP32与LED12864液晶屏的硬件连接 第一次用ESP32驱动LED12864液晶屏时,最让我头疼的就是接线问题。这种带字库的液晶屏通常采用SPI接口,但不同厂家的引脚定义可能有细微差别。我手头这块屏的引脚排列是标准的VCC、GND、CS、RST、RS、SDA、SCK&#xf…...

【latex】Latex表格宽度优化:利用\resizebox实现智能缩放与布局控制

1. 为什么需要调整表格宽度? 在撰写学术论文或技术文档时,表格是展示数据的重要工具。但经常遇到一个头疼的问题:精心设计的表格在编译后超出了页面边界,导致内容被截断或排版混乱。这种情况在数据密集型表格中尤为常见&#xff0…...

uniapp开发必看:iPhoneX底部黑条适配全攻略(附完整代码)

Uniapp开发实战:全面屏设备底部安全区域适配深度解析 第一次在iPhone X上测试我的Uniapp应用时,那个顽固的底部黑条让我彻夜难眠。作为一名经历过多次跨平台适配的老兵,我深知这个看似简单的问题背后隐藏着多少开发者的血泪史。今天&#xff…...

从零解析:手写一个JavaScript粒子系统(附新年烟花完整源码)

从零构建JavaScript粒子引擎:以新年烟花为例的实战开发指南 每当节日庆典来临,屏幕上绽放的数字烟花总能瞬间点燃欢乐氛围。这些看似复杂的视觉效果,其核心往往是一个精心设计的粒子系统。本文将带你从零开始,用JavaScript构建一个…...

用STM32CubeMX配置DP83848踩过的坑:从SMI通信失败到Ping成功的完整避坑指南

STM32CubeMX配置DP83848全流程避坑指南:从硬件排查到网络调试 最近在基于STM32F407和DP83848设计工业通信网关时,发现网络模块调试远比想象中复杂。即使使用STM32CubeMX这样的可视化配置工具,PHY芯片的初始化、RMII接口配置、SMI通信等环节依…...

三相不平衡电压下I型NPC三电平并网逆变器并网控制 1.采用正负序分离锁相环以及正序PI控制...

三相不平衡电压下I型NPC三电平并网逆变器并网控制 1.采用正负序分离锁相环以及正序PI控制,负序PI控制 2.采用中点电位平衡控制-零序电压注入法 3.采用SVPWM羊角波调制方式 4.提供参考文献 提供仿真源文件,电流环参数设计,正负序分离方法详解&…...

ARK服务器创世地图开服指南:如何用Mod和集群设置打造百倍资源专属服

ARK创世地图高阶开服指南:Mod集群与百倍资源调优实战 在ARK: Survival Evolved的私服生态中,创世地图因其独特的生物群落和任务系统成为进阶服主的热门选择。当基础搭建已不再是障碍,如何通过精细化Mod管理、跨地图数据集群和资源倍率调校打造…...

避坑指南:Seurat单细胞分析中,数据标准化(LogNormalize vs SCTransform)与PC数选择到底怎么选?

Seurat单细胞分析标准化方法与PC数选择的科学决策指南 1. 标准化方法的选择困境与解决方案 在单细胞RNA测序数据分析中,数据标准化是影响后续分析结果的关键步骤。Seurat提供了两种主流标准化方法:LogNormalize和SCTransform,它们各有特点&am…...

HTML常用布局详解:从基础到进阶的网页结构指南

在网页开发中,HTML布局是构建页面骨架的基础。合理的布局不仅能提升代码可维护性,还能直接影响用户体验和SEO效果。本文将系统梳理HTML中常用的布局方式,从传统表格布局到现代CSS布局技术,助你掌握网页结构设计的核心方法。 一、传…...

Qwen3-32B大模型企业级部署案例:基于优化镜像的API服务封装实践

Qwen3-32B大模型企业级部署案例:基于优化镜像的API服务封装实践 1. 企业级部署需求分析 在当今企业智能化转型过程中,大型语言模型的私有化部署需求日益增长。Qwen3-32B作为一款性能优异的中英双语大模型,在企业知识管理、智能客服、内容生…...

本地部署EmbeddingGemma-300m:Ollama让语义理解触手可及

本地部署EmbeddingGemma-300m:Ollama让语义理解触手可及 1. 为什么选择EmbeddingGemma-300m 在当今AI应用蓬勃发展的时代,文本嵌入技术已成为各类智能系统的核心组件。然而,大多数嵌入模型要么体积庞大、依赖高端硬件,要么性能不…...

Qwen3.5-9B开源大模型部署:Kubernetes集群化部署与自动扩缩容实践

Qwen3.5-9B开源大模型部署:Kubernetes集群化部署与自动扩缩容实践 1. 模型概述与技术特性 Qwen3.5-9B是通义千问团队推出的新一代开源大语言模型,在多项基准测试中展现出超越前代产品的性能表现。该模型采用创新的混合架构设计,特别适合企业…...

Python高效处理CLDAS-V2.0气象数据的NetCDF文件实战

1. 认识CLDAS-V2.0气象数据与NetCDF格式 第一次接触气象数据时,我被各种专业术语搞得晕头转向。直到用Python处理了CLDAS-V2.0数据集后,才发现气象数据可以这么有趣。CLDAS-V2.0是中国气象局发布的陆面数据同化系统产品,包含温度、降水、湿度…...

自动驾驶控制模块状态机的安全机制与实现策略

1. 自动驾驶控制模块状态机的核心安全机制 自动驾驶系统的可靠性直接关系到人身安全,而状态机作为控制模块的"大脑",其安全设计尤为重要。在实际项目中,我见过太多因为状态机设计缺陷导致的意外情况。比如某次路测中,车…...

Python 3.9环境下dlib库安装全攻略:从依赖配置到离线安装(附国内镜像源)

Python 3.9环境下dlib库高效安装指南:避坑实践与性能优化 在计算机视觉和机器学习领域,dlib库以其强大的人脸识别和特征检测功能而闻名。然而,许多开发者在Python 3.9环境下安装dlib时,往往会遇到各种棘手的依赖问题和编译错误。…...

告别纯CNN!用UNETR搞定三维医学图像分割:保姆级PyTorch+MONAI复现教程

UNETR三维医学图像分割实战:从PyTorch数据加载到MONAI模型部署全解析 医学影像分析领域正经历一场从传统CNN到Transformer架构的范式转移。当我们在处理CT、MRI这类三维体数据时,如何平衡全局上下文理解与局部特征提取成为模型设计的核心挑战。本文将带您…...

Guohua Diffusion 模型压缩与加速实践:在边缘设备上的部署尝试

Guohua Diffusion 模型压缩与加速实践:在边缘设备上的部署尝试 最近在折腾一个挺有意思的事儿,就是想把一个挺大的图像生成模型,塞到咱们平时用的笔记本电脑里跑起来。这事儿听起来有点异想天开,毕竟这类模型动辄几十个G&#xf…...

为什么90%的MCP跨语言调用会偶发“UnknownError: code=12”?——基于Wireshark+eBPF的协议栈级深度溯源

第一章:MCP跨语言调用中“UnknownError: code12”的本质定义与协议语义边界“UnknownError: code12”并非通用错误码,而是 MCP(Microservice Communication Protocol)在跨语言 RPC 调用中定义的**协议层语义越界错误**&#xff0c…...