css历史
Nicholas C.Zakas (《JavaScript高级程序设计》的作者,NCZOnline - The official website of Nicholas C. Zakas)说过,要想全面理解和掌握JavaScript,关键在于弄清楚它的历史、本质和局限性。这对CSS同样适用。
混沌未分天地乱,CSS的诞生就是为了终结当时由推动Web世界繁荣的首功之臣HTML引发的混乱局面。在1990~1993年Web世界还处于一片荒芜的时候,HTML这个勤劳而艰难生存的族群带着描述段落、标题、超链接等结构性内容(后来这些成员荣升HTML国的贵族,经过几次战乱并一直生活到现在)的技能给Web世界带来了生机。而后 Mosaic(早期的一款浏览器)的出现让文字和图片可以一起显示出来,也一夜之间让Web威名远扬,这里充满魔力与神奇。无数的站点冒了出来,无数的站点吸引无数的人,无数的人带来无数的新功能,我要字体能变色,我要字体能加粗,各种样式要求不断增加。HTML为了满足人们不断膨胀的欲望和要求努力扩充技能树,最后弄得自己苦不堪言,一大堆描述样式的标签(现在还有的<i><em>等)搞得开发乱七八糟。
结构化标记语言就这样变成了一坨一坨的字符串。
刚成立的Web世界联合国W3C并没有坐视不管,而是在积极的寻找与焦急的等待。终于他们找到了CSS。CSS在现在Web开发中可谓平淡无奇,写CSS是很自然的事情因为它就属于开发的一部分,但在当时却是绝无仅有的。它最初由HÃ¥kon Wium Lie于1994.10.10(他当时是Tim Berners-Lee在CERN的同事,Lee发明了万维网)提出来,由Bert Bos建议,经过W3C的公开和内部讨论最终在1996年底推出CSS1,并使之成为标准被推荐,很快浏览器厂商也争相在自家产品中实现以占领市场。这中间也并非一帆风顺,比如网景公司就提交了一种新语言JSSS来实现样式,但最终并没有被接受(这种开发标准之争一直存在,包括后来的JavaScript,以及现在开发中的很多新技术都是这样)。

CSS接过了HTML手中的样式表现接力棒,也开始了自己的传奇之旅。
CSS的本质可以分为宏观与微观两方面。 宏观上它的存在就是为了控制页面的显示样式。包括布局,颜色,字体等。微观上则是实现这种控制功能的各种属性的定义和工作原理。
了解定义就能干活,知道原理才能把活干好。
题主说属性太多,其实CSS就是去控制样式而已,网页样式是借鉴于传统的报纸等印刷品的排版。你随便在身边找一份报纸或者杂志的一页,用CSS尽可能的还原出来。整体布局还原出来问题应该不大,但是具体到细节的时候可能会有很多问题,比如出来的效果总是跟想的不一样。这个时候就该去看看单个属性的工作原理,比如margin是用来控制外边距的但是用%的时候它是怎么计算的最终值呢?当发现出乎意料的时候就去Index 查一下属性的定义和值的计算方法。
常用基础样式:

“Tips:”
· 常用CSS属性margin和padding的%取值是基于包含块(离元素最近的块级祖先元素)的宽,注意是宽。
· 行内元素相关的内容区、行内框、基线这几个概念很重要。
· inline-block是,内部被解析为块级元素,自身被解析为行内元素。
· background-image可以同时为一个元素设置多个背景图配合background-
position可以组合出神奇的效果。
· 浮动的元素会消除外边距重合,浮动的元素会被解析为块级元素。
· top,right,bottom,left,z-index这些属性只有用在定位元素(除了position为
static值)上才有效。
· overflow的值设置为scroll,在移动端可以做横向滑动效果。
· 除了做表格不要用table布局。
· 选择器都很简单,只说一类。结构伪类选择器,原理可以理解为先找到符合条
件的元素后,向上找到其父元素然后验证规则。
css历史的更多相关文章
- css 历史及css3 新特性
- 第十四章 校本化CSS
CSS(层叠样式表)是一种指定HTML文档视觉的表现的标准.CSS本来是让视觉设计师来使用的:它允许设计师精确的对文档元素的字体 ,颜色,外边距,缩进,边框甚至是定位.不过,客户端javascript ...
- 欲练JS,必先攻CSS——前端修行之路(码易直播)
以下是直播大概内容的文字版: 感谢大家今天来到直播间收听本期的码易直播.今天我讲的主题是css,具体聊一下我大概的css学习历史,分享一些干货,希望这次分享对大家有所启发和帮助. 个人的css历史: ...
- 欲练JS,必先攻CSS——前端修行之路
今天我讲的主题是css,具体聊一下我大概的css学习历史,分享一些干货,希望这次分享对大家有所启发和帮助. 个人的css历史: 说说自己的css学习的历史,12年,当时是老师手把手1对1教我div+f ...
- 深入css布局篇(2) — 定位与浮动
深入css布局(2) - 定位与浮动 在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点.今天我们来深入学习一下css布局相关的知识 ...
- JavaScript权威指南--脚本化CSS
知识要点 客户端javascript程序员对CSS感兴趣的是因为样式可以通过脚本编程.脚本化css启用了一系列有趣的视觉效果.例如:可以创建动画让文档从右侧“滑入”.创造这些效果的javascript ...
- CSS History
Preface 如果只是要写程序,那的确是不需要这么麻烦,上来直接看Syntax,动手写上至少300行代码,做上3个应用程序,这门语言你也就差不多会用了,接下来不过就是模式,特殊的地方以及记住一些函数 ...
- 玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
在我的上一篇博客中, 很多园友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素 ...
- CSS3系列一(概述、选择器、使用选择器插入内容)
CSS3模块化结构 CSS历史发展 CSS(Cascading Style Sheet),层叠样式表,是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. CSS3属性选择器 E[att ...
随机推荐
- 【codeforces 196B】Infinite Maze
[题目链接]:http://codeforces.com/problemset/problem/196/B [题意] 给你一个n*m的棋盘; 然后你能够无限复制这个棋盘; 在这个棋盘上你有一个起点s; ...
- 为什么不能往Android的Application对象里存储数据
在一个App里面总有一些数据需要在多个地方用到.这些数据可能是一个 session token,一次费时计算的结果等.通常为了避免activity之间传递对象的开销 ,这些数据一般都会保存到持久化存储 ...
- Android中加入思源字体/NotoSansCJK/SourceHanSans
系统版本号:Android 4.2.2_r1 本文主要是在Android中加入思源字体的过程记录. 思源字体是Google和Adobe在2014.07.18公布的中文字体. 1.获取思源字体(Goog ...
- win7休眠的开启与关闭方法命令行操作和图文结合的鼠标操作
win7休眠的开启与关闭方法 从開始菜单中找到"附件→命令提示符",手工输入例如以下命令:powercfg -a.从这里能够清楚的看到,计算机是支持休眠的.显示"尚未启用 ...
- 物理读之LRU(近期最少被使用)的深入解析
转载请注明出处: http://blog.csdn.net/guoyjoe/article/details/38264883 一组LRU链表包含LRU主链.LRU辅助链.LRUW主链,LRUW辅助链, ...
- HDU 5303 Delicious Apples (2015多校第二场 贪心 + 枚举)
Delicious Apples Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- Crytek的幕后花絮
无论是哪种公司规模和状态.Xsolla都能够为其提供定制化的服务.我们提供定制化的技术集成,而不是提供一系列的解决方式.由于我们致力于满足每个合作伙伴的需求.整套的解决方式还存在着一系列的潜在隐患,我 ...
- vncserverpassword改动
前几天去客户现场,客户说有測试库.Linux下的,帮忙给新建一个数据库,我这么热心的人.是吧 那就開始吧. 一般使用vnc搞图形安装.熟练的打开vnc.输入password,报错!!我愣了几秒,忽然反 ...
- bzoj1211: [HNOI2004]树的计数(prufer序列+组合数学)
1211: [HNOI2004]树的计数 题目:传送门 题解: 今天刚学prufer序列,先打几道简单题 首先我们知道prufer序列和一颗无根树是一一对应的,那么对于任意一个节点,假设这个节点的度数 ...
- Lamp安装 php-v5.6【ZendGuardLoader】的问题
Lamp安装 php-v5.6[ZendGuardLoader]的问题 标签(空格分隔):php,linux Apache日志: 就这个问题导致无法解析运行php文件.下面是网上找的解决方案 Zend ...