《HTML 5与CSS 3权威指南 》 (第2版·下册)——第18章 CSS 3

简介: 本节书摘来自华章出版社HTML 5与CSS 3权威指南(第2版·下册)——第18章 CSS 3 ,作者: 陆凌牛著.更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第18章
CSS 3概述

18.1 概要介绍
18.2 使用CSS 3能做什么

从2010年开始,HTML 5与CSS 3就一直是互联网技术中最受关注的两个话题。2010年MIX10大会上微软的工程师在介绍IE9时,从前端技术的角度把互联网的发展分为三个阶段:第一阶段是Web 1.0的以内容为主的网络,前端主流技术是HTML和CSS;第二阶段是Web 2.0的Ajax应用,热门技术是JavaScript/DOM/异步数据请求;第三阶段是即将迎来的HTML 5+CSS 3的时代,这两者相辅相成,使互联网又进入了一个崭新的时代。

本章将对CSS 3进行一个全面的、概要的介绍,使大家对CSS 3有一个初步的、总体上的认识。

学习内容:

掌握CSS 3的基础知识,知道什么是CSS 3,了解CSS 3的发展历史。
掌握CSS 3的模块化结构,了解CSS 3中包含了哪些结构。
了解CSS 3与CSS 2有什么主要区别,了解CSS 3将对下一代Web平台上的界面设计做出哪些重大贡献。

18.1 概要介绍

18.1.1 CSS 3是什么

首先,我们对CSS 3做一个概要的介绍。什么是CSS 3?CSS 3是CSS技术的一个升级版本,是由Adobe Systems、Apple、Google、HP、IBM、Microsoft、Mozilla、Opera、Sun Microsystems等许多Web界的巨头联合组成的一个名为“CSS Working Group”的组织共同协商策划的。虽然目前很多细节还在讨论之中,但它还是不断地朝前发展着。2010年在HTML 5成为IT界人士关注的焦点的同时,它也开始慢慢地普及开来。

18.1.2 CSS 3的历史

接下来,我们从总体上看一下CSS的发展历史。
CSS 1。
1996年12月,CSS 1(Cascading Style Sheets,level 1)正式推出。在这个版本中,已经包含了font的相关属性、颜色与背景的相关属性、文字的相关属性、box的相关属性等。
CSS 2。
1998年5月,CSS 2(Cascading Style Sheets,level 2)正式推出。在这个版本中开始使用样式表结构。
CSS 2.1。
2004年2月,CSS 2.1(Cascading Style Sheets,level 2 revision 1)正式推出。它在CSS 2的基础上略微做了改动,删除了许多诸如text-shadow等不被浏览器所支持的属性。

现在所使用的CSS基本上是在1998年推出的CSS 2的基础上发展而来的。10年前在Internet刚开始普及的时候,就能够使用样式表来对网页进行视觉效果的统一编辑,确实是一件可喜的事情。但是在这10年间CSS可以说是基本上没有什么很大的变化,一直到2010年终于推出了一个全新的版本—CSS 3。

18.2 使用CSS 3能做什么

18.2.1 模块与模块化结构

在CSS 3中,并没有采用总体结构,而是采用了分工协作的模块化结构,这些模块如表18-1所示。

image

那么,为什么需要分成这么多模块来进行管理呢?

这是为了避免产生浏览器对于某个模块支持不完全的情况。如果只有一个总体结构,这个总体结构会过于庞大,在对其支持的时候很容易造成支持不完全的情况。如果把总体结构分成几个模块,各浏览器可以选择对于哪个模块进行支持、对哪个模块不进行支持,支持的时候也可以集中把某一个模块全部支持完了再支持另一个模块,以减少支持不完全的可能性。

例如,台式计算机、笔记本和手机上用的浏览器应该针对不同的模块进行支持。如果采用模块分工协作的话,不仅是台式计算机,各种设备上所用的浏览器都可以选用不同模块进行支持。

18.2.2 一个简单的CSS 3示例

现在,我们已经对CSS 3的模块和模块化结构有了一个初步的认识,那么,究竟我们能够用CSS 3来做些什么呢?

这里,我们通过一个示例,来将CSS 2与CSS 3做一个对比,借此对CSS 3有一个初步的印象。
在这个示例中,我们给页面上的某个div区域添加一个彩色图像边框,这样可以使这个区域看上去漂亮很多,生动很多。

在CSS 2中,当然可以实现这个效果,如代码清单18-1所示。

image

这段代码在Firefox浏览器中的运行结果如图18-1所示。

接下来,我们看一下在CSS 3中如何实现这个功能。
在CSS 3中,添加了很多新的样式,譬如可以创建圆角边框,可以在边框中使用图像,可以修改背景图像的大小,可以对背景指定多个图像文件,可以修改颜色的透明度,可以给文字添加阴影,可以在CSS中重新指定表单的尺寸等。
在代码清单18-2中,我们使用CSS 3来实现与代码清单18-1相同的功能。具体操作的时候,只要给页面中的div元素增加一个border-image属性,然后在该属性中指定图像文件、边框宽度与图像拉伸方式就可以了。

image


image

这段代码的运行后结果与图18-1所示结果相同。

虽然目前看来两种方法都达到了同样的效果,只是实现方法不同而已。但是如果再在div中增加一行文字,我们看一下使用CSS 2中的样式表后会是什么情况,如图18-2所示。

同样的,来看一下使用CSS 3中的样式表后会是什么情况,如图18-3所示。

为什么在CSS 3中文字没有超出边框图像之外?这是因为在CSS 3样式表中,在指定边框图像的同时,也指定了图像允许拉伸来自动适应div区域的高度,而不是采取CSS 2中将div区域高度设为边框图像高度的方式。那么,也许有人会问,如果在CSS 2的div元素的样式代码中不指定div区域的高度是否可以呢?这样的话就会出现如图18-4所示的情况。


image

从图中可以看出,当只有一行文字的时候,该边框图像又不能完全显示了。因此,当div区域中的文字高度处于不断变化的状态时,使用CSS 2样式表添加边框图像的操作相对来说就比较麻烦。在CSS 3中考虑到了这种情况,添加了允许边框图像自动拉伸的属性,从而解决了这个问题。

关于如何使用border-image这个属性,我们将在后面进行详细介绍。在这里,我们通过这个示例,向大家表明了目前在CSS 2中一些比较难以处理的情况,在CSS 3中通过使用新增属性很容易就能够解决。

这对界面设计来说,无疑是一件非常可喜的事情。在界面设计中,最重要的就是创造性,如果能够使用CSS 3中新增的各种各样的属性,就能够在页面中增加许多CSS 2中没有办法解决的样式,摆脱现在界面设计中存在的许多束缚,从而使整个网站或Web应用程序的界面设计进入一个新的台阶。

相关文章
|
5天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
5天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
5天前
|
前端开发 JavaScript UED
【专栏:HTML 与 CSS 前端技术趋势篇】Web 性能优化:CSS 与 HTML 的未来趋势
【4月更文挑战第30天】本文探讨了CSS和HTML在Web性能优化中的关键作用,包括样式表压缩、选择器优化、DOM操作减少等策略。随着未来趋势发展,CSS模块系统、自定义属性和响应式设计将得到强化,HTML新特性也将支持复杂组件构建。同时,应对浏览器兼容性、代码复杂度和性能功能平衡的挑战是优化过程中的重要任务。通过案例分析和持续创新,我们可以提升Web应用性能,创造更好的用户体验。
|
5天前
|
移动开发 前端开发 UED
【专栏:HTML与CSS前端技术趋势篇】渐进式增强与优雅降级在前端开发中的实践
【4月更文挑战第30天】前端开发中的渐进式增强和优雅降级是确保跨浏览器、跨设备良好用户体验的关键策略。渐进式增强是从基础功能开始,逐步增加高级特性,保证所有用户能访问基本内容;而优雅降级则是从完整版本出发,向下兼容,确保低版本浏览器仍能使用基本功能。实践中,遵循HTML5/CSS3规范,使用流式布局和响应式设计,检测浏览器特性,并提供备选方案,都是实现这两种策略的有效方法。选择合适策略优化网站,提升用户体验。
|
5天前
|
前端开发 开发者 UED
【专栏:HTML与CSS前端技术趋势篇】网页设计中的CSS Grid与Flexbox之争
【4月更文挑战第30天】本文对比了CSS Grid和Flexbox两种布局工具。Flexbox擅长一维布局,简单易用,适合导航栏和列表;CSS Grid则适用于二维布局,能创建复杂结构,适用于整个页面布局。两者各有优势,在响应式设计中都占有一席之地。随着Web标准发展,它们的结合使用将成为趋势,开发者需掌握两者以应对多样化需求。
|
5天前
|
前端开发 JavaScript 搜索推荐
【专栏:HTML 与 CSS 前端技术趋势篇】HTML 与 CSS 在 Web 组件化中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在Web组件化中的应用及其在前端趋势中的重要性。组件化提高了代码复用、维护性和扩展性。HTML提供组件结构,语义化标签增进可读性,支持用户交互;CSS实现样式封装、布局控制和主题定制。案例展示了导航栏、卡片和模态框组件的创建。响应式设计、动态样式、CSS预处理器和Web组件标准等趋势影响HTML/CSS在组件化中的应用。面对兼容性、代码复杂度和性能优化挑战,需采取相应策略。未来,持续发掘HTML和CSS潜力,推动组件化开发创新,提升Web应用体验。
|
5天前
|
前端开发 UED
【专栏:HTML与CSS实战项目篇】创建一个具有复杂布局的电商详情页
【4月更文挑战第30天】构建复杂布局的电商详情页涉及页面结构规划、样式设计和交互效果实现。首先规划顶部导航栏、商品图片展示区、商品信息区、用户评价区和相关商品推荐区。在样式设计上,注重色彩搭配、字体选择、布局与间距及图片处理。交互效果包括图片放大、添加到购物车按钮、滚动监听和评论互动,以提升用户体验。实际开发中需考虑跨设备兼容性和用户体验优化。
|
5天前
|
移动开发 前端开发 JavaScript
【专栏:HTML与CSS实战项目篇】使用HTML5与CSS3制作一个动态表单验证页面
【4月更文挑战第30天】本文介绍了使用HTML5和CSS3创建动态表单验证页面的方法。首先,简述HTML5用于构建网页内容,CSS3用于描述样式。接着,分四步展示实现过程:1) 设计包含输入框和提示信息的表单结构;2) 使用CSS3创建样式,增强视觉效果;3) 使用JavaScript监听输入事件,动态验证表单并显示错误信息;4) 测试和调试确保跨平台兼容性。通过学习,开发者能掌握创建带验证功能的表单,提升用户体验。
|
5天前
|
前端开发 测试技术 UED
【专栏:HTML 与 CSS 实战项目篇】实现一个在线产品展示页面
【4月更文挑战第30天】本文介绍了使用HTML和CSS创建吸引人的在线产品展示页面的实战步骤,包括页面设计规划、HTML结构搭建、CSS样式设计、具体页面实现、交互效果添加、优化与提升。通过简洁布局、产品列表和详情页设计,实现易用且具吸引力的展示效果。优化图片和代码,提升性能,以助企业在数字时代脱颖而出。
|
5天前
|
编解码 前端开发 JavaScript
【专栏:HTML与CSS实战项目篇】打造一个动态新闻网站
【4月更文挑战第30天】构建动态新闻网站,运用HTML和CSS提升编程技能和网页设计理解。项目包括首页、新闻列表页和详情页,设计简洁易用,包含顶部导航、轮播图和新闻列表。页面布局注重吸引力和易用性,色彩搭配选用冷色调为主,辅以亮色点缀。字体选择清晰易读,布局保持整洁。交互效果如轮播图、导航栏高亮和响应式设计增强用户体验。本文提供基础新闻网站构建指南,为进一步功能扩展和优化打下基础。