CSS 核心技术知识点详解:从基础到进阶

本文基于图中提供的 17 个 CSS 核心知识点展开讲解,涵盖基础概念、布局原理、实战技巧及性能优化等内容。每个知识点均附代码示例和原理分析,帮助读者系统性掌握 CSS 核心能力。


1. 选择器

作用:定位 HTML 元素并应用样式。
常见类型

  • 类选择器.class-name { ... }
  • ID 选择器#id-name { ... }
  • 属性选择器[type="text"] { ... }

代码示例

.button { color: red; }     /* 类选择器 */
#header { height: 80px; }  /* ID 选择器 */
input[required] { border: 1px solid red; } /* 属性选择器 */

2. 定位(Positioning)

核心属性position
取值

  • static(默认)
  • relative(相对定位,不脱离文档流)
  • absolute(绝对定位,相对于最近非 static 父元素)
  • fixed(固定定位,相对于视口)

代码示例

.box {position: relative;top: 20px; /* 相对于原位置向下偏移 20px */
}

3. 盒子模型(Box Model)

组成content → padding → border → margin
两种模型

  • 标准盒模型width = content
  • IE 盒模型width = content + padding + border

切换方式

.box { box-sizing: border-box; } /* 使用 IE 盒模型 */

4. 字符串类(Text & Font)

常见属性

  • font-family:字体类型
  • text-align:文本对齐
  • line-height:行高

代码示例

.text {font-family: "Arial", sans-serif;text-align: center;line-height: 1.5;
}

5. 代码规范

最佳实践

  • 使用 kebab-case 命名(如 .main-header
  • 避免使用 !important
  • 分组书写属性(布局属性 → 外观属性)

6. 实战技巧

模块化 CSS

/* 按钮模块 */
.btn {padding: 8px 16px;border-radius: 4px;
}
.btn-primary { background: blue; }

7. 优先级(Specificity)

权重计算规则
内联样式(1000) > ID(100) > 类/伪类(10) > 元素(1)

示例

#nav .item { color: red; } /* 权重:100 + 10 = 110 */
.item { color: blue; }      /* 权重:10 → 最终显示红色 */

8. 浮动(Float)

用途:实现文字环绕或传统布局。
问题:父容器高度塌陷。
清除浮动

.clearfix::after {content: "";display: block;clear: both;
}

9. BFC(块级格式化上下文)

触发条件overflow: hiddendisplay: inline-block 等。
作用:隔离外部布局,避免外边距合并。

代码示例

.container {overflow: hidden; /* 触发 BFC */
}

10. 性能优化

关键点

  • 减少重绘和回流(如使用 transform 替代 top/left
  • 压缩 CSS 文件(使用 Webpack 等工具)

11. CSS3 动画特效

核心属性

  • @keyframes 定义动画
  • animation 应用动画

代码示例

@keyframes slide {from { transform: translateX(0); }to { transform: translateX(100px); }
}
.box { animation: slide 2s infinite; }

12. 包装类(Wrapper)

用途:作为页面内容容器,限制最大宽度并居中。
代码示例

.wrapper {max-width: 1200px;margin: 0 auto;
}

13. 渲染原理

流程
HTML → DOM 树 → CSSOM 树 → 合并为渲染树 → 布局(Layout) → 绘制(Paint)

优化建议:减少 DOM 层级和复杂选择器以加快渲染。


14 & 15. Flex 布局

容器属性

.container {display: flex;justify-content: center; /* 水平居中 */align-items: center;     /* 垂直居中 */
}

项目属性

.item {flex: 1; /* 等价于 flex: 1 1 0 */
}

16. 布局思维

响应式设计:使用媒体查询适配不同屏幕。
移动优先

/* 默认移动端样式 */
@media (min-width: 768px) {/* 平板及以上样式 */
}

总结

掌握这 17 个 CSS 核心知识点,可覆盖从基础到进阶的开发需求。理解原理后,结合实战技巧和性能优化策略,能够显著提升页面质量和开发效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16226.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三角测量——用相机运动估计特征点的空间位置

引入 使用对极约束估计了相机运动后,接下来利用相机运动估计特征点的空间位置,使用的方法就是三角测量。 三角测量 和对极几何中的对极几何约束描述类似: z 2 x 2 R ( z 1 x 1 ) t z_2x_2R(z_1x_1)t z2​x2​R(z1​x1​)t 经过对极约束…

WPS计算机二级•文档的文本样式与编号

听说这是目录哦 标题级别❤️新建文本样式 快速套用格式🩷设置标题样式 自定义设置多级编号🧡使用自动编号💛取消自动编号💚设置 页面边框💙添加水印🩵排版技巧怎么分栏💜添加空白下划线&#x…

【编程实践】vscode+pyside6环境部署

1 PySide6简介 PySide6是Qt for Python的官方版本,支持Qt6,提供Python访问Qt框架的接口。优点包括官方支持、LGPL许可,便于商业应用,与Qt6同步更新,支持最新特性。缺点是相比PyQt5,社区资源较少。未来发展…

soular基础教程-使用指南

soular是TikLab DevOps工具链的统一帐号中心,今天来介绍如何使用 soular 配置你的组织、工作台,快速入门上手。  1. 账号管理 可以对账号信息进行多方面管理,包括分配不同的部门、用户组等,从而确保账号权限和职责…

访问Elasticsearch服务 curl ip 端口可以 浏览器不可以

LINUX学习 在虚拟机上面的linux上面用docker 部署Elasticsearch项目后,在linux系统内部用curl ip 端口地址的形式可以访问到Elasticsearch。可以返回数据。 但是在本机的浏览器中输入ip 端口,会报错,找不到服务。 ping 和 trelnet均不通。 …

防火墙安全综合实验

防火墙安全综合实验 一、拓扑信息 二、需求及配置 实验步骤 需求一:根据下表,完成相关配置 设备接口VLAN接口类型SW2GE0/0/2VLAN 10AccessGE0/0/3VLAN 20AccessGE0/0/1VLAN List:10 20Trunk 1、创建vlan10和vlan20 2、将接口划分到对应…

通过客户端Chatbox或OpenwebUI访问识别不到本地ollama中的模型等问题的解决

Chatbox和Open WebUI 等无法获取到 Ollama里的模型,主要是由以下原因导致: Ollama 服务未正确暴露给 Docker 容器或客户端模型未正确下载或名称不匹配网络配置或权限问题 排查以上问题的思路首先排查ollama服务是否启动,然后再看端口号 使…

vue-点击生成动态值,动态渲染回显输入框

1.前言 动态点击生成数值&#xff0c;回显输入框&#xff0c;并绑定。 2.实现 <template><div style"display:flex;align-items: center;flex-direction:row"><a-input:key"inputKey"v-model"uploadData[peo.field]"placehold…

deepseek大模型集成到idea

1 下载插件 安装CodeGPT打开 IntelliJ IDEA&#xff0c;鼠标点击左上角导航栏&#xff0c;File --> Setting 2 申请API key 3 配置deepseek 在 Settings 界面中的搜索框中&#xff0c;搜索 CodeGPT&#xff0c;路径 Tools --> CodeGPT --> Providers --> 如下一…

C++引用深度详解

C引用深度详解 前言1. 引用的本质与核心特性1.1 引用概念1.2 核心特性 2. 常引用与权限控制2.1 权限传递规则2.2 常量引用2.3 临时变量保护1. 样例2. 样例3. 测试 三、引用使用场景分析3.1 函数参数传递输出型参数避免多级指针高效传参 3.2 做函数返回值正确使用危险案例 4. 性…

npm运行Vue项目报错 error:0308010c:digital envelope routines::unsupported

大家好&#xff0c;我是 程序员码递夫。 问题 VSCode 运行Vue项目&#xff0c;提示错误&#xff1a; building 2/2 modules 0 activeError: error:0308010c:digital envelope routines::unsupported 解决方法 原因是 npm 高版本(大于17)&#xff0c;对ssl的处理做了改进&…

蓝桥杯---N字形变换(leetcode第6题)题解

文章目录 1.问题重述2.例子分析3.思路讲解4.代码分析 1.问题重述 这个题目可以是Z字形变换&#xff0c;也可以叫做N字形变换&#xff1a; 给定我们一串字符&#xff0c;我们需要把这串字符按照先往下写&#xff0c;再往右上方去写&#xff0c;再往下去写&#xff0c;再往右上…

第六篇:数字逻辑的“矩阵革命”——域控制器中的组合电路设计

副标题 &#xff1a;用卡诺图破解车身域控制器的逻辑迷宫&#xff0c;揭秘华为DriveONE的“数字特工” ▍ 开篇&#xff1a;黑客帝国世界观映射 > "Welcome to the Real World." —— Morpheus > 在数字逻辑的世界里&#xff0c;组合电路就是构建Matr…

Linux(Ubuntu)安装pyenv和pyenv-virtualenv

Ubuntu安装pyenv和pyenv-virtualenv 安装 pyenv1. 下载 pyenv2. 配置环境变量3. 重启 Shell4. 安装依赖5.检测是否安装成功 安装 pyenv-virtualenv1. 安装 pyenv-virtualenv2. 配置环境变量3. 重启 Shell pyenv 的使用1. 查看可安装的 Python 版本2. 安装指定版本的 Python3. 查…

LVS集群

特性NAT 模式DR 模式工作原理Director 修改请求/响应的 IP 地址和端口&#xff0c;流量双向经过 DirectorDirector 仅修改请求的 MAC 地址&#xff0c;响应由 Real Server 直接返回客户端性能较低&#xff08;需处理双向流量&#xff0c;易成瓶颈&#xff09;高&#xff08;仅处…

远程桌面连接提示被锁 更改帐户锁定策略

解锁&#xff1a; 从 hyper-v管理器进入 vm cmd 进入 gpedit.msc 计算机配置 -> Windows 设置 -> 安全设置 -> 帐户策略 -> 帐户锁定策略 可以把 允许管理员帐户锁定 禁用&#xff0c;也可以把 帐户锁定阈值 调大一点&#xff08;如果还会锁定 时间查看器 ->…

docker.service job docker.service/start failed with result ‘dependency‘

Bug:docker.service job docker.service/start failed with result ‘dependency’ 运行以下命令&#xff1a; sudo systemctl start docker.service出现错误&#xff1a; docker.service job docker.service/start failed with result dependency解决办法&#xff1a; 给系…

前端实现在PDF上添加标注(1)

前段时间接到一个需求&#xff0c;用户希望网页上预览PDF&#xff0c;同时能在PDF上添加文字&#xff0c;划线&#xff0c;箭头和用矩形框选的标注&#xff0c;另外还需要对已有的标注进行修改&#xff0c;删除。 期初在互联网上一通搜索&#xff0c;对这个需求来讲发现了两个问…

《optee系统架构从入门到精通》

CSDN学院课程连接&#xff1a;https://edu.csdn.net/course/detail/39573 讲师介绍 拥有 12 年手机安全、汽车安全、芯片安全开发经验&#xff0c;擅长 Trustzone/TEE/ 安全的设计与开发&#xff0c;对 ARM 架构的安全领域有着深入的研究和丰富的实践经验&#xff0c;能够将…

jupyter notebook中3种读图片的方法_与_图片翻转(上下翻转,左右翻转,上下左右翻转)

已有图片cat.jpg 相对于代码的位置&#xff0c;可以用./cat.jpg进行读取。 下面是3种读图片的方法。 1.python读图片-pillow 图片文件不适合用open去读取 用open读图片&#xff0c;易引发UnicodeDecodeError: gbk codec cant decode byte 0xff in position 0: illegal multib…