css知多少(1)——我来问你来答(转)

css知多少(1)——我来问你来答

 

1. 引言

  各位前端或者伪前端(好比做者本人)的同志们,css对大家来讲不是很陌生。好比我,在几年以前上大学的时候,给外面作网站就用css,并且必须用css。这样算下来也得六年多了,有些功能可能轻车熟路,有些功能可能须要上网查查,看似能应付得了工做的事情——我以前也是(如今工做上不作开发了,只是业余还写代码)。javascript

  世界上没有绝对简单的东西,只是咱们认为它是简单的。就像咱们公司如今的开发状况,开发的大环境刚刚转入B/S,开发领导之前都是用.net作C/S的,在我看来,他们就以为js、css就是那么回事儿,没多高深。可是我仍是抱着敬畏的态度,买了一本《CSS设计指南(第三版)》,无论本身会的,仍是不会的,我都通通看一遍。书邮回来以后,我花了三个晚上看完了。我有个习惯,就是作一件事情必定要又一个结果,不能以为本身脑子里明白了就算了,必定要写出来,甚至作出例子来才算完。因而乎,就写几篇博客呗。利己利人。css

  下面我把在看书过程当中遇到的本身认为比较重要的(掌握不牢固)或者以前不懂的,都先列出来,出几个题目,各位看官能够试着想一想。若是您都会了,那您基础很牢固,没得说;若是你有些不会的,着急你就赶忙本身查查答案,不着急你就等着我后面的博客介绍。html

  闲话说了不少,如今开始!前端

2. 问题

  01. 有些浏览器不彻底支持css3,如今能够用哪一个工具去检测浏览器是否支持,以及支持哪些项?java

  提示:Mo****zrcss3

  02. 经常使用的html标签,它们的display属性通常默认为block和inline。有哪些经常使用标签的display不是block和inline,这些标签显示的时候和block/inline有何区别?web

  提示:table,input, textareajson

  03. 是否用过@import?bootstrap

  (比较简单)浏览器

  04. 一个表格的第一行显示红色背景,最后一行显示蓝色背景,中间行使用灰色/白色间隔的背景,如何写?

  提示:结构化伪类(比较简单)

  05. 伪元素 ::before、::after 是否用过?都是在哪些地方用的?

  提示:清除浮动、为一个div增长一个“三角”  重要 

  06. css——层叠样式表,其中的“层叠”该如何理解?  重要 

  提示:层叠,即一层一层叠加起来,关键是知道一共有几层,每一层都是什么

  07. 对“特指度(specificity)”了解多少,知道“I-C-E”的计算规则吗?  重 

  提示:参考http://www.cnblogs.com/netlyf/archive/2009/06/19/1506427.html

  08. 特指度理解不是很麻烦,关键是分析多个css选择符和计算麻烦。有一个简单的解决方案,四句口诀,叫作“查理版简单层叠要点”,是否了解?  重 

  提示:例如,“包含ID的选择符要赛过包含类的选择符...”

  09. 搜索“浏览器默认样式”,找到它,打开看看,里面是浏览器默认的全部样式,你是否都能看得懂。 重 

  提示:例如 display:table 和 display:block 有何区别?

  10. 在你开发的系统的第一个css文件的第一行,就要写上 * {margin:0; padding:0} ,这是为什么?

  提示:浏览器兼容性(比较简单)

  11. 样式 p{margin-top:50px; margin-bottom:30px;} 将会致使p之间的垂直距离是多少?

  提示:垂直外边距……水平外边距……——比较简单的基础知识

  12. “盒子模型”你们都了解了(不知道赶忙去恶补!!),盒子模型的width实际上是指内容的宽度,不包括padding、border、margin。其实这样对咱们作css布局是很不利的,有什么方法可让width是所有的宽度?  重 

  提示:box-sizing(注意IE低版本的兼容性)

  13. float的一些影响会让咱们常常啼笑皆非(特别是初学者),其实了解了float的设计初衷,也许你就会理解这些东西。float的设计初衷是什么?

  提示:就简单的一句话……

  14. float具备“包裹性”——例如:<p>abc</p> 和 <p style='float:left'>abc</p> 二者的宽度是不同的,不信能够为 p 加上背景色试试。是否理解这种“包裹性”?试着想一想,还有哪些元素(或css属性)也有这种“包裹性”?  重 

  提示:和第13问题有密切关系

  15. float还有一个表象是“破坏性”,它会致使父元素高度塌陷,这个你们应该都知道吧?那么这是为什么呢?另外,还有哪一个css属性,也致使这种“破坏性”   重 

  提示:float和absolute都将致使元素脱离文档流

  (针对1三、1四、15问题,能够参考教程http://www.imooc.com/learn/121http://www.imooc.com/learn/192,讲的很好,只是讲师的声音颇有“磁性”,要忍耐住)

  16. css清除浮动有三种方法,是否知道。你平时是怎么清除浮动的?业内最经常使用的经典清除浮动样式是什么? 重要 

  提示:搜索“clearfix”

  17. 相对定位relative如何理解,它和绝对定位absolute的最根本区别是什么?

  提示:一个在文档流内,一个在文档流外

  18. “定位上下文”是否知道? 重要 

  19. 经典的网页三列布局如何实现?若是不考虑IE六、7,最好的实现多列布局的方式是什么? 重要 

  提示:table-cell

  20. 是否用过inline-block,IE六、7如何兼容?

  提示:比较简单,百度便可

3. 结束

  当前就总结了这么多问题,你们能够对照着问题想一想答案。若是你以为还有写比较重要的知识,能够给我留言,我将会考虑加入进来。

  另外,接下来我将写一个关于css重点知识的简短的系列文章,以及结合我作过的wangEditor富文本框以及对bootstrap框架的了解,把本文这些问题介绍一下。近期工做很忙,更新起来可能会很慢,敬请期待吧!

---------------------------------------------------------------

本系列的目录页面:http://www.cnblogs.com/wangfupeng1988/p/4325007.html

-------------------------------------------------------------------------------------------------------------

欢迎关注个人微博

也欢迎关注个人教程:

用grunt搭建自动化的web前端开发环境从设计到模式深刻理解javascript原型和闭包系列》《微软petshop4.0源码解读视频》《json2.js源码解读视频

相关文章
相关标签/搜索