Master HTML5+CSS3 in 21 Days (2nd Edition) cover

Master HTML5+CSS3 in 21 Days (2nd Edition)

Rating 3.5
Word count
188K words
Chapters
415
ISBN
9787121336317

Tags

Summary

This book offers a comprehensive, systematic, and in-depth exploration of both the fundamentals and advanced applications of HTML5+CSS3 web design and programming. Throughout the explanations, a wealth of examples drawn from real-world practice presents web development knowledge to readers in a full, systematic, and thorough manner. In addition, the author has recorded an extensive set of accompanying instructional videos specifically for this book, enabling readers to become familiar with web programming as quickly as possible by analyzing and running the examples, and to use them for reference when they encounter problems while studying. The book is divided into 21 chapters. Chapters 1–11 introduce HTML syntax, web page structure, and images, links, forms, audio, video, and local storage in web pages; Chapters 12–18 introduce CSS for beautifying pages, including CSS rules, selectors, box layout, multi-column layout, animation, gradients, and cross-device support; Chapters 19–21 use three case studies to explain the complete workflow of web design, helping readers become familiar with how to build a website with a big-picture approach. The book covers a wide range of topics, from basic page structure to HTML5 and CSS3 enhancement techniques and comprehensive case studies, touching on almost all the technologies involved in today's web design and website building. The content is plain and easy to understand and rich in examples, making it especially suitable for the broad community of web programming enthusiasts to study on their own, as well as a reference book for readers interested in web development languages.

Editor's review

21 Days to Master HTML5+CSS3 (2nd Edition) is an introductory tutorial aimed at complete beginners or junior front-end developers. Structured around a '21-day' learning cycle, the book systematically explains the core knowledge and practical skills of HTML5 and CSS3 through a well-organized chapter arrangement. The content covers everything from basic tags and semantic elements to modern CSS technologies such as Flexbox and Grid layout, and touches on essential concepts including responsive design and media queries. Compared with the first edition, the second edition updates some outdated content and adds several new practices from the front-end field in recent years.

From an editor's professional perspective, the book's strengths lie in its clear step-by-step learning path and abundant code examples, making it very suitable for beginners who wish to build a systematic knowledge structure. The author, Song Lingxiang, has some experience in the field of technical education, and her narrative style is relatively plain, striving to simplify complex concepts. However, the book's depth may be somewhat insufficient for readers who wish to understand underlying mechanisms in depth or pursue cutting-edge frameworks; it focuses more on 'learning to use' than on 'understanding the principles.' Overall, this is a solid 'from zero to one' practical guide that can help readers quickly build the knowledge skeleton of static web page development and lay the necessary foundation for subsequently learning JavaScript or front-end frameworks.

Who it's for

A good fit for

  • Complete beginners with no programming or web production background who wish to gain a systematic introduction
  • Career changers with some computer background who want to quickly master the core skills of HTML5 and CSS3
  • Students in related majors who need a clearly structured textbook to support classroom learning
  • Traditional front-end developers who want to quickly update their understanding of new HTML5 and CSS3 features

Not a good fit for

  • Senior developers seeking in-depth analysis of advanced topics such as browser rendering principles and performance optimization
  • Readers who want to learn modern front-end frameworks such as React and Vue directly and skip foundational groundwork

Reading tips

  1. It is recommended to study strictly in chapter order and personally type out every example code; understanding is more important than memorization
  2. When learning CSS layout (such as Flexbox and Grid), practice with online interactive tools to deepen intuitive understanding
  3. After completing the book's exercises, try imitating a simple real-world website (such as a personal profile page) for comprehensive practice; this is a great way to test your learning results

About the publisher

Publishing House of Electronics Industry China · Founded in 1982

The Publishing House of Electronics Industry is a comprehensive publisher distinguished by its focus on electronic information and related fields. Judging from the more than 3,000 titles in its catalogue, its publishing covers programming and design, artificial intelligence, computer science, finance and economics, photography, and social sciences, attending both to cutting-edge technology and to general readers. Representative titles include Factor Investing: Methods and Practice, x86 Assembly Language: From Real Mode to Protected Mode, The RISC-V Reader, Artificial Intelligence: Speech Recognition, Understanding and Practice, Phased Array Radar Technology, Radar Target Characteristics, and 100 Go Mistakes and How to Avoid Them, most of which centre on technical methods and engineering practice. Its authors include Shi Chuan, Li Zhong, Wang Xiaobo, David Patterson, Andrew Waterman, and Yu Zihao, among others from China and abroad. Owing to limited public information, no further publishing features are elaborated here.

Contents

  1. 版权信息
  2. 内容简介
  3. 前言
  4. 第1章 了解网页
  5. 1.1 什么是网页
  6. 1.1.1 网页概述
  7. 1.1.2 静态网页
  8. 1.1.3 动态网页
  9. 1.1.4 动态页面和静态页面的联系
  10. 1.1.5 网页浏览器的工作原理
  11. 1.2 HTML和HTML5
  12. 1.2.1 超文本标记语言HTML
  13. 1.2.2 可扩展超文本标记语言XHTML
  14. 1.2.3 HTML5的设计理念
  15. 1.2.4 HTML页面的开发工具
  16. 1.3 实战:编写一个简单的页面(HTML和HTML5)
  17. 1.4 小结
  18. 1.5 本章习题
  19. 第2章 了解HTML网页的结构
  20. 2.1 用记事本打开一个页面
  21. 2.2 HTML基础
  22. 2.2.1 HTML的基础语法
  23. 2.2.2 HTML文档的结构
  24. 2.3 HTML文档中的标签
  25. 2.3.1 样本代码DOCTYPE
  26. 2.3.2 开始标签<html>
  27. 2.3.3 头标签和头标签的对象
  28. 2.3.4 标题标签<title>
  29. 2.3.5 体标签<body>
  30. 2.3.6 美化HTML文档
  31. 2.4 实战:从无到有地设计一个页面
  32. 2.5 小结
  33. 2.6 本章习题
  34. 第3章 网页的文本设计
  35. 3.1 新旧方法对比
  36. 3.2 文本的排版格式
  37. 3.2.1 写一行换一行
  38. 3.2.2 在页面文本中空格
  39. 3.2.3 文本的段落要对齐
  40. 3.3 文本的属性样式
  41. 3.3.1 不一样的文本字体样式
  42. 3.3.2 奇妙的特殊符号
  43. 3.3.3 给文本加标注
  44. 3.4 整齐的文本列表
  45. 3.4.1 无序列表
  46. 3.4.2 有序列表
  47. 3.4.3 定义列表
  48. 3.4.4 列表嵌套
  49. 3.5 实战:制作一则HTML网页版的通知
  50. 3.6 小结
  51. 3.7 本章习题
  52. 第4章 网页中的图像设计
  53. 4.1 图像的基础知识
  54. 4.1.1 最常用的位图图像
  55. 4.1.2 在页面中常用的位图格式
  56. 4.1.3 矢量图
  57. 4.1.4 图像的分辨率
  58. 4.1.5 了解一些网页中常用的Banner尺寸
  59. 4.2 页面中的图像
  60. 4.2.1 理解图像路径
  61. 4.2.2 像设置文本对齐一样在页面中对齐图片
  62. 4.2.3 图像与文本的对齐方式
  63. 4.2.4 控制图像与文本的距离
  64. 4.3 让图像更美观
  65. 4.3.1 使用画图工具修改图像
  66. 4.3.2 给图像添加边框
  67. 4.3.3 独树一帜的水平线
  68. 4.4 改变页面的背景
  69. 4.5 实战:把照片放到网页上
  70. 4.6 小结
  71. 4.7 本章习题
  72. 第5章 网页中的链接
  73. 5.1 网页链接
  74. 5.1.1 初识页面链接
  75. 5.1.2 理解链接地址
  76. 5.2 链接的种种不同
  77. 5.2.1 基本的文本链接
  78. 5.2.2 基本的图像链接
  79. 5.2.3 把邮箱留给需要联系你的人
  80. 5.2.4 在同一页面中快速查找信息
  81. 5.3 提高页面链接的友好度
  82. 5.3.1 美化链接的状态
  83. 5.3.2 特殊的链接方式
  84. 5.3.3 热点图像区域的链接
  85. 5.4 在新窗口中显示链接窗口
  86. 5.5 实战:一个带链接的电影排行榜页面
  87. 5.6 小结
  88. 5.7 本章习题
  89. 第6章 网页中的表单
  90. 6.1 表单的工作原理
  91. 6.1.1 <script>标记
  92. 6.1.2 创建表单
  93. 6.1.3 表单域
  94. 6.2 通过表单展示不一样的页面
  95. 6.2.1 input对象下的多种表单的表现形式
  96. 6.2.2 text:文本框的样式表单
  97. 6.2.3 password:输入密码的样式表单
  98. 6.2.4 checkbox:复选框的样式表单
  99. 6.2.5 radio:单选框的样式表单
  100. 6.2.6 submit:提交数据的样式表单
  101. 6.2.7 hidden:隐藏域的样式表单
  102. 6.2.8 image样式的表单
  103. 6.2.9 file:上传文件的样式表单
  104. 6.2.10 textarea对象的表单
  105. 6.2.11 select对象的表单
  106. 6.2.12 表单域集合
  107. 6.3 HTML5表单的进化
  108. 6.3.1 早期的表单发展
  109. 6.3.2 HTML5表单的出世
  110. 6.3.3 当前的支持情况
  111. 6.3.4 增加的表单输入类型
  112. 6.4 增加表单的特性及元素
  113. 6.4.1 form特性
  114. 6.4.2 formaction特性
  115. 6.4.3 formmethod、formenctype、formnovalidate、formtarget特性
  116. 6.4.4 placeholder特性
  117. 6.4.5 autofocus特性
  118. 6.4.6 autocomplete特性
  119. 6.4.7 list特性和datalist元素
  120. 6.4.8 keygen元素
  121. 6.4.9 output元素
  122. 6.5 表单验证API
  123. 6.5.1 与验证有关的表单元素特性
  124. 6.5.2 表单验证的属性
  125. 6.5.3 ValidityState对象
  126. 6.5.4 表单验证的方法
  127. 6.5.5 表单验证的事件
  128. 6.6 实战:表单构成的HTML页面
  129. 6.7 实战:表单构成的用户注册页面(HTML5)
  130. 6.7.1 案例简介
  131. 6.7.2 页面基本元素
  132. 6.7.3 实现表单验证
  133. 6.7.4 其他处理函数
  134. 6.8 小结
  135. 6.9 习题
  136. 第7章 音频和视频
  137. 7.1 audio和video的基础知识
  138. 7.1.1 在线多媒体的发展
  139. 7.1.2 多媒体术语
  140. 7.1.3 HTML5多媒体文件格式
  141. 7.1.4 功能缺陷及未来趋势
  142. 7.2 使用HTML5的audio和video元素
  143. 7.2.1 在页面中加入音频和视频
  144. 7.2.2 使用source元素
  145. 7.2.3 使用脚本检测浏览器的标签支持情况
  146. 7.2.4 audio和video的特性和属性
  147. 7.2.5 audio和video的接口方法
  148. 7.2.6 audio和video的事件
  149. 7.3 实战:自定义播放工具条
  150. 7.3.1 案例简介
  151. 7.3.2 网页基本元素
  152. 7.3.3 定义全局的视频对象
  153. 7.3.4 添加播放/暂停、前进/后退功能
  154. 7.3.5 添加慢进和快进功能
  155. 7.3.6 添加静音和调节音量的功能
  156. 7.3.7 添加进度显示功能
  157. 7.4 小结
  158. 7.5 本章习题
  159. 第8章 拖放功能
  160. 8.1 拖放API
  161. 8.1.1 draggable特性
  162. 8.1.2 光标拖放事件
  163. 8.1.3 DataTransfer对象
  164. 8.1.4 实战:拖放元素的内容
  165. 8.2 文件API
  166. 8.2.1 增加的标签特性
  167. 8.2.2 FileList对象与File对象
  168. 8.2.3 Blob对象
  169. 8.2.4 FileReader接口
  170. 8.3 实战:把图片拖入浏览器
  171. 8.3.1 案例简介
  172. 8.3.2 设计网页基本元素
  173. 8.3.3 基本函数的实现
  174. 8.3.4 页面加载处理
  175. 8.4 小结
  176. 8.5 本章习题
  177. 第9章 本地存储
  178. 9.1 本地存储对象——Web Storage
  179. 9.1.1 Web Storage简介
  180. 9.1.2 localStorage和sessionStorage
  181. 9.1.3 设置和获取Storage数据
  182. 9.1.4 Storage API的属性和方法
  183. 9.1.5 存储JSON对象的数据
  184. 9.1.6 Storage API的事件
  185. 9.1.7 实战:在两个窗口中实现通信
  186. 9.2 本地数据库——Web SQL Database
  187. 9.2.1 Web SQL Database简介
  188. 9.2.2 操作Web SQL数据库
  189. 9.2.3 实战:基本的数据库操作实例
  190. 9.3 小结
  191. 9.4 本章习题
  192. 第10章 利用Canvas绘制图形
  193. 10.1 认识Canvas
  194. 10.1.1 Canvas的历史
  195. 10.1.2 Canvas与SVG、VML之间的差异
  196. 10.2 Canvas的基本知识
  197. 10.2.1 构建Canvas元素
  198. 10.2.2 使用JavaScript实现绘图的流程
  199. 10.3 使用Canvas绘图
  200. 10.3.1 绘制矩形
  201. 10.3.2 使用路径
  202. 10.3.3 图形组合
  203. 10.3.4 绘制曲线
  204. 10.3.5 使用图像
  205. 10.3.6 剪裁区域
  206. 10.3.7 绘制渐变
  207. 10.3.8 描边属性
  208. 10.3.9 模式
  209. 10.3.10 变换
  210. 10.3.11 使用文本
  211. 10.3.12 阴影效果
  212. 10.3.13 状态的保存与恢复
  213. 10.3.14 操作像素
  214. 10.4 实战:在Canvas中实现动画
  215. 10.5 小结
  216. 10.6 本章习题
  217. 第11章 创建框架结构的页面
  218. 11.1 创建窗口框架页面
  219. 11.1.1 创建窗口框架的<frameset>和<frame>标签
  220. 11.1.2 横向分割窗口
  221. 11.1.3 纵向分割窗口
  222. 11.1.4 框架的嵌套
  223. 11.1.5 将页面放入窗口框架中
  224. 11.2 修饰框架的细节
  225. 11.2.1 给无法处理框架的浏览器注释说明
  226. 11.2.2 固定框架的位置
  227. 11.2.3 在框架中设置滚动条
  228. 11.3 修改框架边框的样式
  229. 11.3.1 判定边框是否显示
  230. 11.3.2 改变边框的表现效果
  231. 11.3.3 边框的边距
  232. 11.4 框架集中页面之间的链接
  233. 11.4.1 在指定的框架中打开链接
  234. 11.4.2 框架内的锚点链接
  235. 11.5 灵活的<iframe>框架
  236. 11.6 实战:制作自己的链接主页
  237. 11.7 小结
  238. 11.8 本章习题
  239. 第12章 CSS规则
  240. 12.1 如何学习CSS
  241. 12.2 CSS基本的规则写法
  242. 12.2.1 基本的样式表的写法
  243. 12.2.2 使用类和标志链接样式表
  244. 12.2.3 创建选择器
  245. 12.2.4 应用CSS样式表
  246. 12.3 用CSS修饰页面文本
  247. 12.3.1 修饰页面文本字体
  248. 12.3.2 文本的字号
  249. 12.3.3 文本段落的行高
  250. 12.3.4 禁止文本自动换行
  251. 12.4 给页面对象添加颜色
  252. 12.5 CSS3的发展
  253. 12.5.1 模块化的发展
  254. 12.5.2 浏览器支持情况
  255. 12.5.3 CSS3新特性预览
  256. 12.6 CSS3增强的选择器功能
  257. 12.6.1 属性选择符
  258. 12.6.2 结构伪类选择符
  259. 12.6.3 UI元素状态伪类选择符
  260. 12.6.4 伪元素选择符
  261. 12.7 实战:使用CSS制作个人页面
  262. 12.8 小结
  263. 12.9 本章习题
  264. 第13章 文本、背景、边框不再单调
  265. 13.1 文本与字体
  266. 13.1.1 多样化的文本阴影——text-shadow属性
  267. 13.1.2 溢出文本处理——text-overflow属性
  268. 13.1.3 对齐的文字才好看——word-wrap和word-break属性
  269. 13.1.4 使用服务器端的字体——@font-face规则
  270. 13.1.5 实战:丰富的文字样式
  271. 13.2 色彩模式和不透明度
  272. 13.2.1 还在为配色发愁吗——HSL色彩模式
  273. 13.2.2 HSLA色彩模式
  274. 13.2.3 RGBA色彩模式
  275. 13.2.4 opacity属性
  276. 13.2.5 实战:半透明的遮蔽层
  277. 13.3 背景
  278. 13.3.1 在元素中定义多张背景图片
  279. 13.3.2 指定背景的原点位置
  280. 13.3.3 指定背景的显示区域
  281. 13.3.4 指定背景图像的大小
  282. 13.3.5 实战:设计信纸的效果
  283. 13.4 边框
  284. 13.4.1 设计圆角边框——border-radius属性
  285. 13.4.2 设计图像边框——border-image属性
  286. 13.4.3 设计多色边框——border-color属性
  287. 13.4.4 实战:使用新技术设计网页
  288. 13.5 小结
  289. 13.6 本章习题
  290. 第14章 传统的DIV+CSS设计
  291. 14.1 理解块级的意义
  292. 14.2 页面中的层
  293. 14.2.1 行<span>和层<div>
  294. 14.2.2 层的基本定位
  295. 14.2.3 层的叠加
  296. 14.3 框模型
  297. 14.3.1 理解框模型
  298. 14.3.2 padding属性
  299. 14.3.3 border的扩展属性
  300. 14.3.4 margin属性
  301. 14.3.5 框模型的溢出
  302. 14.4 定制层的display属性
  303. 14.5 CSS Hack
  304. 14.6 实战:简单的CSS+DIV
  305. 14.7 小结
  306. 14.8 本章习题
  307. 第15章 灵活的盒布局和界面设计
  308. 15.1 灵活的盒布局
  309. 15.1.1 开启盒布局
  310. 15.1.2 元素的布局方向——box-orient属性
  311. 15.1.3 元素的布局顺序——box-direction属性
  312. 15.1.4 调整元素的位置——box-ordinal-group属性
  313. 15.1.5 弹性空间分配——box-flex属性
  314. 15.1.6 元素的对齐方式——box-pack属性和box-align属性
  315. 15.1.7 实战:使用新型盒布局设计网页
  316. 15.2 增强的盒模型
  317. 15.2.1 盒子阴影——box-shadow属性
  318. 15.2.2 盒子尺寸的计算方法——box-sizing属性
  319. 15.2.3 盒子溢出内容处理——overflow-x和overflow-y属性
  320. 15.2.4 实战:设计网站服务条款页面
  321. 15.3 增强的用户界面设计
  322. 15.3.1 允许用户改变尺寸——resize属性
  323. 15.3.2 定义外轮廓线——outline属性
  324. 15.3.3 伪装的元素——appearance属性
  325. 15.3.4 为元素添加内容——content属性
  326. 15.3.5 实战:设计一个水果选择盘
  327. 15.4 小结
  328. 15.5 本章习题
  329. 第16章 多列布局
  330. 16.1 多列布局基础
  331. 16.1.1 多列属性columns
  332. 16.1.2 列宽属性column-width
  333. 16.1.3 列数属性column-count
  334. 16.1.4 列间距属性column-gap
  335. 16.1.5 定义列分隔线——column-rule属性
  336. 16.1.6 定义横跨所有列——column-span属性
  337. 16.2 实战:模仿杂志的多列版式
  338. 16.3 小结
  339. 16.4 本章习题
  340. 第17章 动画和渐变
  341. 17.1 CSS3变形基础
  342. 17.1.1 元素的变形——transform属性
  343. 17.1.2 旋转
  344. 17.1.3 缩放和翻转
  345. 17.1.4 移动
  346. 17.1.5 倾斜
  347. 17.1.6 矩阵变形
  348. 17.1.7 同时使用多个变形函数
  349. 17.1.8 定义变形原点——transform-origin属性
  350. 17.1.9 实战:设计图片画廊
  351. 17.2 CSS3过渡效果
  352. 17.2.1 实现过渡效果——transition属性
  353. 17.2.2 指定过渡的属性——transition-property属性
  354. 17.2.3 指定过渡的时间——transition-duration属性
  355. 17.2.4 指定过渡延迟时间——transition-delay属性
  356. 17.2.5 指定过渡方式——transition-timing-function属性
  357. 17.2.6 实战:制作滑动的菜单
  358. 17.3 CSS3动画设计
  359. 17.3.1 关键帧动画——@keyframes规则
  360. 17.3.2 动画的实现——animation属性
  361. 17.3.3 实战:永不停止的风车
  362. 17.4 CSS3渐变设计
  363. 17.4.1 CSS线性渐变
  364. 17.4.2 CSS径向渐变
  365. 17.4.3 实战:设计具有渐变效果的按钮
  366. 17.5 小结
  367. 17.6 本章习题
  368. 第18章 CSS3的跨设备支持
  369. 18.1 媒体查询
  370. 18.1.1@media规则的语法
  371. 18.1.2 使用Media Query链接的外部样式表文件
  372. 18.2 实战:自适应屏幕的样式表方案
  373. 18.3 小结
  374. 18.4 本章习题
  375. 第19章 案例1:制作主流网站界面
  376. 19.1 构思基础的布局
  377. 19.2 设计基础模块的样式表
  378. 19.3 完善网站的子模块
  379. 19.3.1 网站的导航栏
  380. 19.3.2 页面的侧栏
  381. 19.4 最终页面
  382. 19.5 小结
  383. 第20章 案例2:设计复杂页面
  384. 20.1 页面的框架布局
  385. 20.1.1 定位页面的内容
  386. 20.1.2 页面初级布局的代码
  387. 20.2 细化页面的局部
  388. 20.2.1 intro部分
  389. 20.2.2 页面的左侧部分
  390. 20.2.3 页面的右侧栏主体部分
  391. 20.3 小结
  392. 第21章 案例3:制作个人网站(HTML5+CSS3)
  393. 21.1 网站的整体规划
  394. 21.1.1 网站结构规划
  395. 21.1.2 页面的功能划分
  396. 21.1.3 页面的结构布局
  397. 21.2 页面设计效果图
  398. 21.3 站点目录规划
  399. 21.3.1 规划各种资源目录
  400. 21.3.2 配置IIS虚拟目录
  401. 21.4 构建HTML结构并用CSS布局
  402. 21.5 参照最终的效果图美化页面样式
  403. 21.5.1 输入所有的标题和内容
  404. 21.5.2 用CSS设置背景图片
  405. 21.5.3 用CSS设置渐变背景
  406. 21.5.4 用CSS设置页面垂直滚动条样式
  407. 21.6 在首页中添加动态行为
  408. 21.7 制作日志页面
  409. 21.7.1 设计日志浏览功能的思路分析
  410. 21.7.2 日志页面的代码编写
  411. 21.8 制作相册页面
  412. 21.8.1 设计相册浏览功能的思路分析
  413. 21.8.2 相册页面的代码编写
  414. 21.9 注册域名并发布网站
  415. 21.10 小结

FAQ

Does this book require readers to have a programming background?
No. The book starts from the most basic concepts of web page structure and assumes readers are starting from scratch, making it suitable for complete beginners with no programming experience.
What level can I reach after finishing this book?
After finishing, readers should be able to independently use HTML5 and CSS3 to build static websites with modern layouts and responsive features, and will have a solid foundation for moving on to the next stage of front-end development (such as learning JavaScript).
Are the code examples and projects in the book outdated?
As a second edition, the book has been updated to cover the mainstream and stable features of HTML5 and CSS3. The code examples focus on demonstrating core concepts, run properly in current mainstream browsers, and offer high reference value for learning.

Related on WeRead

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

About the author

宋灵香 Author

Song Lingxiang is an author of programming books about whom relatively limited public information is available. The library holds one work by this author, namely _21 Days to Learn HTML5+CSS3 (2nd Edition)_. Judging from this representative work, the author's writing focuses on the fundamentals of front-end web development, centering on the two core technologies HTML5 and CSS3. The book is organized in a staged, day-by-day format that helps beginners build a basic understanding of web page structure and styling within a relatively short period. It is an introductory title in the programming and design category, aimed at readers with little or no prior experience, and its content emphasizes step-by-step progression and practical operation. Because the author's nationality, dates of birth and death, educational background, and professional experience are not clearly recorded, this introduction makes no speculation and, based solely on the work held in the library, outlines the author's writing focus, namely serving the popularization and introductory teaching of front-end technology.

Top rated in the same category