CSS之旅——第一站 为什么要用CSS

简介:

  不知道有多少码农和我一样,css一直是一个软肋,软到全身酥麻。。。既然软肋来了,只能是要想办法解决,所以就找本CSS权威指南看一看,都说

CSS权威指南这本书比较过时,但是内容还是比较充实的,而且内容基本上就是和你交谈一样,非常舒服,好了,下面从正文说起。

 

一:为啥要学习CSS

  当你知道CSS的历史还是蛮有味道的,在很久很久以前,web上没有css,只有一些html的标签,比如p,h1...h5... div span,ul 等等,这些html标记

都是一个具有特定含义的html标签,过去人很实在,不讲究排版,只要内容是干货就好了,就比如现在的博客园排版,简洁美,我们这些码农同样也不在乎这

个,只要文章是干货就好,但是呢?web用户不是程序员,他们才不讲究干货不干货,他们讲究外表,讲究炫酷,讲究如何的个性,这样的话Html就扛不住了,

W3C组织就为了满足这些人的胃口,提供了一些装饰html标记的标记,比如strong,font,b,u等等。。。就比如下面这样。


<body>
    <font size="20" color="red"><b>你好</b></font>
</body>

然后的然后,程序员就有了下面这样的抱怨了。。。

 

第一: 老子为了decorate个text,要写无数个标签,我操。。。多麻烦。。。

第二:马丹,现在我们的页面结构开始越来越复杂,这些几把font, b压根就不能重用,根本就是完蛋的东西。。。。高个毛啊。。。

第三:现在国家这么穷,带宽这么贵,我的html体积真tmd的大,内容其实仅仅占不到html的1/10。。。我的客户有时候要几分钟才能打开。。。这样下去,

         我要失业了。。

 

结果就这样W3C招致网上程序员的骂声一片,原本的想法就是想通过一些样式的html标记来修饰html的结构内容,结果导致现在的一片混乱,而且页面结构失

衡。。。面对三大问题,W3C就开始推出了CSS,这个装修Html的层叠样式表。彻底的解决了程序员提出的三大难题。。。

 

二:如何解决三大难题

1. 无数个标签的问题

  css采用一条条规则来decorate各个html的结构元素,规则的结构采用 “标签+内容声明” 的方式,比如:

<style type="text/css">
        p {
            font-size: 20px;
            color: red;
            margin: auto 0;
            width: 50%;
        }
    </style>

这种定义我想没什么好说的,这样的话,我们把html中的装饰标签全部拿出来了,放到一个专门的css规则中,这样的好处大家也看到了,”内容“和”展示”的分离,

这样的话就解决了程序员们的第一个抱怨。

 

2. 装饰标签的重用问题。

确实,原始的html装饰标签无法做到重用,这样的话自然就会导致页面膨胀,css就采用了规则组来解决这个问题,先把规则写好,然后哪个标签想用的话,自己套用

下已设定的css定义就可以了。这样的话也就解决了重用的问题。

 

3. 体积膨胀的问题

 如果第一,第二个问题没有解决好,第三个问题自然会发生,而且我想还有其他一连串的连锁反映,那么css都采取了哪些手段来解决的,为了突出css的终极目标,必须

严格的做到“内容”和“展现”的分离,要做到“分离”,那就必须将css单独的封装到一个专门的css文件,这样的话,就不光可以做到单个html页面的标签重用,甚至可以多页

面重用,多站点重用。那下一个问题就来了,引用css文件的方式有哪些???  哪些是不值得提倡的?

 

三:css文件的引用方式

1.  link引用

  当你把css拖入到vs的时候,默认就是link模式,link它本来就是xhtml的一个标签,所以我们还可以用js来动态追加和控制,这个我想大家都清楚,还有一点好玩的地方就

是可以做“候选样式表”,在浏览器中可以动态选择自己想要的样式,比如下面我定义了两个css文件,分别让页面展示 red 和 blue 的背景。

 

然后我们可以在浏览器中可以动态切换我想要的css样式,蛮有意思的,虽然这种作用相对比较少见,由于截图不好截,大家可以使用 工具栏中的 ”查看“=> "样式"。

 

2.import引用

  同样这个标记也可以导入,就像下面这样。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
        @import url(blue.css)
    </style>
</head>
<body>
    hello world;
</body>
</html>

 

最后值得一提的是,尽量避免使用“内联样式”的style,如果这样的话,跟使用font,strong这样的标记几乎没有什么区别,就比如下面这样,所以我们尽量避免。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body style="color: red; margin: 0 auto">
    hello world;
</body>
</html>


相关文章
|
4月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
HTML+CSS 实现通用的企业官网页面(记得收藏)
HTML+CSS 实现通用的企业官网页面(记得收藏)
|
14天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
31 7
|
14天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
27 6
|
14天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
29 5
|
14天前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
21 5
|
2月前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML和CSS之旅
【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。
|
1月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
102 6
|
2月前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML与CSS之旅
【9月更文挑战第31天】在这个数字时代,拥有一个个人博客网站是展示自我、分享知识和连接世界的重要方式。本文将引导你通过简单的HTML和CSS知识,一步步构建起你的在线空间。无论你是编程新手还是希望通过实践加深理解,这篇文章都将是你的理想指南。我们将探索基本概念,实现页面布局,并点缀以个性化样式,最终将静态页面转变为动态交互式网站。准备好了吗?让我们开始吧!