埋头苦写多年的 CSS,从没注意到 CSS 被浏览器分了类,直到偶然的一次翻阅开发者工具,才发现原来 CSS 属性也被浏览器归类收纳了。

Chrome

下面是 Chrome 的开发者工具中 CSS 的属性归类截图,一般情况都不会注意它,毕竟代码不出问题,谁会关心 CSS 属性是哪一类?

当我偶然看到的时候,也来了一句“原来还有这?”

1. Layout(布局)

控制元素在页面上的排列和定位,就是把元素摆在正确位置,别乱跑。

  • 常见属性

    • display:控制元素的显示方式(如blockinlineflexgrid等)。
    • position:设置元素的定位方式(如staticrelativeabsolutefixed等)。
    • float:使元素浮动到左侧或右侧。
    • clear:清除浮动。
    • z-index:控制元素的堆叠顺序。

2. Text(文本)

控制文本的样式和排版,和文字相关的都归为这一类。

  • 常见属性

    • font-family:设置字体。
    • font-size:设置字体大小。
    • font-weight:设置字体粗细(如normalbold等)。
    • text-align:设置文本对齐方式(如leftcenterright等)。
    • line-height:设置行高。
    • text-decoration:设置文本装饰(如underlineline-through等)。
    • color:设置文本颜色。

3. Appearance(外观)

控制元素的外观样式,把盒子装饰好看一点。

  • 常见属性

    • background:设置背景颜色或图片。
    • border:设置边框样式、宽度和颜色。
    • border-radius:设置边框圆角。
    • box-shadow:设置元素的阴影效果。
    • opacity:设置元素的透明度。
    • outline:设置元素的外轮廓。

4. Animation(动画)

控制元素的动画效果,让元素灵动起来。

  • 常见属性

    • animation:定义动画的名称、持续时间、延迟、迭代次数等。
    • @keyframes:定义动画的关键帧。
    • transition:定义元素在不同状态之间的过渡效果(如颜色、大小等的变化)。
    • transform:对元素进行旋转、缩放、倾斜或平移等变换。

5. CSS Variables(CSS变量)

定义可重用的CSS变量,便于统一管理和维护样式,估计这是借鉴了 Sass / Less 等 CSS 预处理器的思想。

  • 常见属性

    • --variable-name:定义自定义属性(变量)。
    • var(--variable-name):使用自定义属性。

6. Grid(网格布局)

用于创建复杂的二维布局,被称为 CSS 布局终极方案,核武器一般的存在。

  • 常见属性

    • display: grid:将元素设置为网格容器。
    • grid-template-columns:定义网格的列。
    • grid-template-rows:定义网格的行。
    • grid-gap:设置网格之间的间距。
    • grid-columngrid-row:控制网格项在网格中的位置。

7. Flex(弹性布局)

用于创建一维布局,适合灵活的、响应式的布局设计,夹在 LayoutGrid 之间,有点不上不下的意思,反正能用。

  • 常见属性

    • display: flex:将元素设置为弹性容器。
    • flex-direction:设置主轴方向(如rowcolumn等)。
    • justify-content:设置主轴上的对齐方式。
    • align-items:设置交叉轴上的对齐方式。
    • flex-wrap:控制子元素是否换行。
    • flex-growflex-shrinkflex-basis:控制子元素的伸缩行为。

8. Table(表格)

控制表格及其内容的样式,曾经用于页面布局的手段之一,如今主要用于数据显示的场景。

  • 常见属性

    • border-collapse:设置表格边框是否合并。
    • border-spacing:设置表格单元格之间的间距。
    • caption-side:设置表格标题的位置。
    • table-layout:设置表格的布局算法(如autofixed)。

9. Generated Content(生成内容)

通过 CSS 生成内容,通常与伪元素一起使用,生成一些不在页面上显示的内容,比如代码行数、图标等。

  • 常见属性

    • content:与::before::after伪元素一起使用,插入生成的内容。
    • quotes:设置引号的样式。
    • counter-resetcounter-increment:用于创建和管理计数器。

10 Other(其他)

包含一些不属于上述类别的CSS属性。

  • 常见属性

    • cursor:设置鼠标指针的样式。
    • overflow:控制内容溢出时的处理方式。
    • visibility:控制元素的可见性。
    • clipclip-path:裁剪元素的显示区域。
    • filter:应用滤镜效果(如模糊、灰度等)。

总结

通过查看浏览器开发者工具,可以了解 CSS 属性的归类情况,从而更快地找到需要的属性。也可从类别中发现一些不常用的 CSS 属性,不失为一个发现新大陆的方法。

Web前端入门第 27 问:你知道 CSS 被浏览器分为了几大类吗?的更多相关文章

  1. web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史

    秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...

  2. Android零基础入门第27节:正确使用padding和margin

    原文:Android零基础入门第27节:正确使用padding和margin 前面两期我们学习了LinearLayout线性布局的方向.填充模型.权重和对齐,那么本期我们来学习LinearLayout ...

  3. 范仁义web前端介绍课程---4、html、css、js初体验

    范仁义web前端介绍课程---4.html.css.js初体验 一.总结 一句话总结: html:就是网站的骨架,比如div标签.a标签等 css:style标签或者style属性里面的就是css j ...

  4. web前端入坑第二篇:web前端到底怎么学?干货资料! 【转】

    http://blog.csdn.net/xllily_11/article/details/52145172 版权声明:本文为博主[小北]原创文章,如要转载请评论回复.个人前端公众号:前端你别闹,J ...

  5. Web前端开发基础 第四课(CSS元素模型)

    css布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上,又 ...

  6. Web前端开发基础 第四课(CSS文字和段落排版)

    文字排版--字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:" ...

  7. [Web 前端] 031 bootstrap 的使用和全局 css 样式

    目录 0. 前言 1. 基本模板 2. 布局容器 2.1 container 2.2 container-fluid 3. 栅格系统 3.1 简介 3.2 栅格参数 3.3 实例:从堆叠到水平排列 2 ...

  8. Web前端开发基础 第四课(CSS小技巧1)

    垂直居中-父元素高度确定的单行文本 父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的.如下代码: <div class=&q ...

  9. Web前端开发基础 第四课(CSS小技巧)

    水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中场景,今天我们就来看看怎么设置水平居中的. 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:c ...

  10. Web前端开发基础 第四课(CSS元素分类)

    元素分类 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <di ...

随机推荐

  1. Superset用户集成方案2

    superset 认证分析 superset基于flask-appbuilder开发,security基于flask_appbuilder.security,翻阅其代码, 找到入口: superset ...

  2. day05-面向对象编程:基础语法

    Java面向对象:类的基础语法 [ 任务列表 ] 1.面向对象快速入门 2.什么是面向对象 3.类的基础语法--构造器 4.类的基础语法--this关键字 5.类的基础语法--封装 6.类的基础语法- ...

  3. flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例

    自研flutter3.27+dart3.6+getx实战抖音短视频+聊天+直播电商带货app商城应用. flutter_dymall一款基于最新版Flutter3.27+Dart3.x+Getx+me ...

  4. Sa-Token v1.40.0 发布 🚀,来看看有没有令你心动的功能!

    Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证.权限认证.单点登录.OAuth2.0.微服务网关鉴权 等一系列权限相关问题. 目前最新版本 v1.40.0 已发布至 Mav ...

  5. RocketMQ实战—5.消息重复+乱序+延迟的处理

    大纲 1.根据RocketMQ原理分析为什么会重复发优惠券 2.引入幂等性机制来保证数据不会重复 3.如何用死信队列处理优惠券系统数据库宕机 4.基于RocketMQ的订单库同步为什么会消息乱序 5. ...

  6. CSS 清除内外边距

    网页元素很多都带有默认的内外边距,而且不同的浏览器的默认边距值也不一样.因此我们在布局之前,需要先清楚这些边距. <style> /* 这也是CSS的第一行代码 */ * { margin ...

  7. 你还不会使用curl发送请求吗?一篇博客搞定!

    前言:以下均为Windows使用,使用前不需要任何准备,打开命令提示符根据指令即可使用关键字: curl 注意: 建议在请求前ping一下 ping http://www.123.com 或 ping ...

  8. [POI2012] Rendezvous 题解

    众所周知,\(lyh\) 是一名压行大师,也是一名 \(juruo\),所以他将他繁琐的方法用 \(102\) 行表现了出来-- 明显原题为基环内向树森林. 首先用并查集计算连通块,不在一个连通块里的 ...

  9. 2024.11.12随笔&联考总结

    前言 心情不好,因为考试时 T2T3 全看错题了,导致 T2 没做出来,T3 一份没得.然后下午打球眼镜架子坏了,回机房才发现被高二的盒了. 但还是稍微写一下总结吧. 总结 感觉我今天做题状态还行,思 ...

  10. DeepSeek满血版测试

    技术背景 很多厂商以次充好,用蒸馏版DeepSeek冒充满血版.本文提供一些收集的问题集,可以用于测试是否满血DeepSeek.经过实际测试,国内厂商中只有满血版DeepSeek可以全对.但是各厂商后 ...