CSS那些事儿

html-css08

CSS那些事儿,第1张

css中允许多个class:

<h1 class="green bold">... </h1>。

举例:如果同时有一个p元素和一个h1元素下都有一个 class = uppercase ,那么可以通过在类名前添加它的父类来加以区分:

注意:两个元素之间没有空格。(类似的, background-image: url(图片地址) ,url和后面的括号之间也不能有空格)

想要设置 <li>... </li> 的css样式,可以通过嵌套元素的设置方法设置:

同时选中:

通过用逗号分隔 .h1 和 .menu , 这两个类都会被相应的css格式修饰。

CSS declarations are structured into property and value pairs.

CSS语句都是属性和值相对应的结构。

font-family 定义了元素的字体。

font-size 控制文字显示的大小。

font-weight 定义文字的粗细程度。

text-align 属性控制文字的对齐方式,可以取的分别为: left , right , center 。

文字可以有两种颜色属性:前景色—— color 和背景色—— background-color 。 color 控制文字的颜色, background-color 控制文字的背景色。

CSS中可以用 opacity 属性来令某个元素透明。

CSS中也可以通过 background-image 属性来设置某个元素的背景为一张图片。

除了颜色、边框样式、边框大小之外,还可以调节边框的圆角大小,单位也是 px :

可以分别声明padding-top、padding-right、padding-bottom以及padding-left的值。

同时也可以直接声明 padding: 3px 4px 5 px 6px ,顺序分别是上、右、下、左。

使用上面这种写法时,所有边的padding数值都必须写明。

不过,如果上下、左右的padding值是相等的,也可以写作:

padding: 5px 10px ,这代表上下的padding都是5px,而左右的padding都是10px。

margin和padding类似,也有 margin-top 、 margin-right 、 margin-bottom 、 margin-left 。

同样可以写作

margin: 10px 20px 10px 2opx或者 margin: 10px 20px,表示上下边距为10px,左右边距为20px。

margin的叠加有一点特殊:

水平方向的叠加就是简单的数字叠加。例如,如果左边盒子 margin-right = 10px,而右边盒子的 margin-left = 20px,那么这两个盒子放置在一起时,他们交界处的 margin= 10 + 20 = 30px。

而竖直方向的情况则有所不同,对于叠放的两个盒子,如果上面盒子的 margin-bottom = 30px,而下面盒子的 margin-left = 20px,则交界处的 margin值 为:30px。

利用margin实现居中对齐:

首先需要父元素有固定的 width 或者 height 。比如如果想要让 div1 实现横向居中对齐,首先应该设置其父元素 div0 的 width= 400px ,然后在 css文件 中设置div1的margin值为: margin: 0 auto

被父元素包裹着的子元素可能会占据空间过大而超过父元素的容纳范围,此时可以通过设置overflow的值来进行调整。

overflow的值可以为: scroll 、 hide 、 display 。

可以利用 display 属性来设置HTML元素的显示方式。

可以设置为: none , block , inline-block , inline 。

none 表示元素不显示;

block 表示显示为块级元素;

inline 表示显示为行内元素;

inline-block 表示显示为行内块级元素。

块级元素和行内块级元素可以设置 width height 属性,

而行内元素则不能。

注:一旦给元素加上absolute或float就相当于给元素加上了 display:block。

1. static属性:

static是html元素的默认position值,也就是按照正常的文档流排列。

2. fixed属性:

fixed的效果参见各种定在网页上的广告。

3. relative属性:

relative的元素是相对于自己的default position来定位的。

3.1 默认情况下:

可以看到与默认情况并无区别,

这是因为没有指定目标HTML元素相对其default position的偏移量。

结果:

结果:

结果:

结果:

通过float属性,可以使HTML元素脱离正常的文档流,竖直方向上将不再占用文档的空间,不过水平方向上不变。

比如可以利用这一特性,让序列横向排列:

HTML文件:

CSS文件:

默认情况下的结果:

利用float属性来ul元素横向排列:

结果:

此时只需要设置一下backPanel的height即可:

比如现在 ul元素 都没有父元素包裹了,上面只有一个 <p></p>元素,float之后的 ul元素 并不会“飞到”文档顶端去:

css中的color从类型上可以分为 color (前景色) 和 background-color :

效果:

举例:

结果:

font-family: 字体名称

font-weight: bold | normal

也可以用数值来表示,数值的范围为[100, 900]且必须是100的整数倍。

举例:

font-style: italic ——斜体;

text-transform: uppercase | lowercase

text-align: left | right | center

举例:

以上CSS语句的意思是:

注:

相对应地,也存在 非衬线字体 : sans-serif fonts

grid-template-columns: 100px 200px的意思是:将此网格分为两列。

其中,第一列的width = 100px,第二列的width = 200px。

宽度的单位也可以不是 px ,可以用 百分数 表示:

上面grid的宽度是1000px, 所以第一列的宽度是1000 * 20% = 200px;同理,第二列的宽度是500px。

也可以混用 px 和 % :

这3列中,第一列width为20px,第二列为100 * 40% = 40px,第三列width为60px。

注意: 也就是说,总宽度20 + 40 + 60 = 120px,超过了100px,元素会超出grid的界限。

与定义 grid columns 是类似的:

结果:

结果:

通过单位 fr ,我们可以将行和列定义为对grid的length和width的划分——作用类似于 % ,但是用 % 是有超出父容器边界的风险的,而用 fr 则不用担心,因为浏览器会自动对grid进行划分。

如果行高或列宽相等,可以用 repeat() 函数来简化语句:

结果:

.grid {

display: grid

grid-template-columns: 100px minmax(100px, 500px) 100px

}

结果:

行间距同理:

grid-row-gap: 10px

同时设置行、列间距:

grid-gap: 20px 10px —— 一句话,分别设置行间距为20px,列间距为10px。

注:

这一简写形式并不需要 / ,如果只提供了一个值,比如: grid-gap: 10px,则相当于 grid-gap: 10px 10px。

简写形式:

同理,

同样,也可以写作:

span 可以明确地指出希望行或列跨越的距离:

比如,如果想要row从第4行开始,占两行,就可以直接写作:

不用 grid-row 的简写形式,也可以写作:

当然, span 也可以用在 grid-row-start 之后,浏览器会自动为我们计算出结果:

结果:

可以用一句话声明一个item占grid的多少行、列,并限定它在grid中的具体位置。

结果:

利用这个属性,可以先做出一个模板,然后让各个元素分别去“认领”他们所占的行和列。

比如 container 下面有5个板块:

注:

图中的grid是四行两列的,当header 和 header并列时,表示header占两列,此时header将占据整行,即使存在grid gap,依然不会将两个header分隔开。虚线只是为了便于理解,实际并不存在。

设置grid元素在每个格子中水平方向上的 对齐方式

justify-items 属性可以接收的值为:

注:这个属性是container中的,而不是每个item的。

设置grid元素在每个格子中竖直方向上的 对齐方式

同样可以接收以下值:

注:这个属性是container中的,而不是每个item的。

设置整个grid在其父容器中,水平方向上的对齐方式:

可以取的值为:

同理,利用 align-content 属性可以设置整个grid在其父容器中,竖直方向上的对齐方式。

原理均与 justify-content 属性相似,不再赘述。

利用 justify-self 、 align-self 属性,可以分别设置grid的每个格子中,具体某个item在水平、竖直方向上的对齐方式。

一、《Web前端开发最佳实践》

这本书是前端开发领域的经典之作,是一本扎实前端基本功,规范我们前端代码的实践性书籍。本书主要讲解了HTML、CSS、Javascript以及移动端开发的最佳实践方案,能够对缺乏良好指导的开发者产生很大的帮助。通过阅读本书我们可以掌握如何编写高可读性、高维护性、高性能的HTML、CSS以及Javascript。

二、《CSS那些事儿》

内容介绍:《CSS那些事儿》是2009年电子工业出版社出版的图书,作者是林小志。该书通过对CSS技巧实例进行讲解,浅入深地分析了CSS相关知识。

通过页面中的文字、图片、表格、表单等常见元素的处理及各种页面布局方式的使用,使读者能深入了解到如何在页面中更好地运用CSS布局。尤其是在页面布局的部分中,全面分析了多种布局方式,着重分解了两列等高和三列等高的几种方式,并相应说明了等高布局的优缺点。

三、《CSS权威指南》

内容介绍:《CSS权威指南》通过诸多实例,详细讲解了如何做到仅在一处建立样式表就能创建或修改整个网站的外观,以及如何得到html力不能及的更丰富的表现效果。同时展示了如何遵循css最新规范(css2和css2.1)将层叠样式表的方方面面应用于实践。

四、《JavaScript 标准参考教程》阮一峰

内容介绍:阮一峰 本书全面介绍 JavaScript 核心语法,从最简单的开始讲起,循序渐进、由浅入深,力求清晰易懂。所有章节都带有大量的代码实例,便于理解和模仿,可以用到实际项目中,即学即用。 本书适合初学者当作JavaScript语言的入门教程,也适合当作日常使用的参考手册。

五、JavaScript高级程序设计第三版

内容介绍:《全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax 与Comet 服务器端通信,HTML5 表单、媒体、Canvas(包括WebGL)及Web Workers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。

六、锋利的jquery

内容介绍:《锋利的jQuery(第2版)》循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的选择器、DOM操作、事件和动画、AJAX应用、插件、jQuery Mobile、jQuery各个版本变化、jQuery性能优化和技巧等知识点,并结合每个章节后面的案例演示进行练习,达到掌握核心知识点的目的。

七、HTTP权威指南

内容介绍:《HTTP权威指南》由古尔利所著,《HTTP权威指南》详细解释了如何用HTTP来开发基于Web的应用程序,核心的[因特网协议,如何与架构构建块交互,如何正确实现因特网客户和服务器等。

《HTTP权威指南》的中心内容是HTTP,本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中,主要涵盖HTTP的技术运作方式、产生动机、性能和目标以及一些相关技术问题。 《HTTP权威指南》适合所有想了解HTTP和Web底层结构的人阅读。

八、高性能网站建设指南

内容介绍:《高性能网站建设指南》结合Web2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。

了解更多的前段知识请看下面我精心为您整理的前端必看的书籍,希望您喜欢!

十本学习前端必看书籍

第一本,入门

《Head first HTML&CSS》

最好的入门书。看两遍就对HTML &CSS 有个大概印象了。

此时把w3cschool作为备查手册收藏起来

第二本《CSS权威指南(第三版)》

最权威的CSS书籍,除了阅读W3C的文档外的不二选择(就是翻译有点操蛋,遇到感到难理解的地方可能还是要求助于网络资源)。有时间(无论是现在还是将来)可以反复看,并当做字典随时查。

第三本《精通CSS》

广受前辈推荐的一本书。上一本书是字典的话,这本书相当于《中学生作文大全》,汇集了一些CSS的最佳实践。

第四本《图解CSS3:核心技术与案例实践》

这本书比较新,讲解的是最新的CSS3(前三本书停留在CSS2.1时代),CSS3也是必学的,不是什么可学可不学的最新技术。

HTML CSS值得看的书就这些(之后会有一本《CSS秘密花园》,尚在翻译中,也很值得期待),剩下的就是自己写还有看技术博客了。接下来是JavaScript,HTML和CSS都是没有逻辑的标记型语言,JS才是真正的编程语言,评价前端工程师的水平就看这个了。

第五本《JavaScript DOM编程艺术》

最好的JS入门书籍,一目了然地告诉你如何用JS操作DOM(这是浏览器端编程的基本功),还灌输了最符合标准的编程理念。可惜有点老,最新一版是2010年的,以至于部分内容有点过期,例如本书内经常提到“某某方法浏览器不一定支持,需要小心使用”,而这些历史遗留问题当今已经不存在了,阅读过程中无视就好。

第六本《JavaScript高级程序设计》

每个前端必看的书,此书是前端工程师科技树的关键一环。看完此书后再看看之后各类进阶书籍会比较好。

俗称红宝书,也算入门书籍,虽然是大部头(七百多页),但至少通读一遍。

全部掌握了,你可以在网络社区里谈笑风生了,经过实践的锻炼后,面试个前端工程师的岗位应该都没问题了。

第七本《JavaScript语言精粹》

也是前端必看。薄薄一百来页,对JS的去粗取精。

第八本《你不知道的JavaScript》

这是一套丛书, 目前为止仅翻译了第一卷。每本都挺薄,深入介绍了JS中的重要概念。

第九本《JavaScript设计模式》

“设计模式”是软件工程的重要课题,相当于高考时候的答题套路。前人总结出来的应对各种问题的模板。也算是必看书籍。关于JavaScript设计模式的书籍目前也有好几本,也有国人写的,挑一两本看看就好。

第十本《高性能网站建设指南》(及其续篇《高性能网站进阶》)

告诉你真正的商业公司的前端是怎么优化一个网站的。当然优化的问题不是看看书就能解决的,最好时刻了解你的同行们的经验。

第一阶段:HTML和CSS的学习

HTML就不多说了,基础中的基础,这个都不会的小伙伴请参见HTML手册,认真学习W3C课程,稍有基础之后可以跟着视频学习《HTML+CSS基础课程》。

   前端开发必看的14本书

1、《CSS权威指南》第三版

这本书实在太适合小白用户了,是一本为初学者清扫障碍的书籍。同行一致认为这本书是学习CSS基础的首选。CSS界权威Meyer大师的作品,翻译水平也灰常赞!

2、《CSS那些事儿》

不用于一般技术类书籍的枯燥乏味,这本书很有意思。作者是蓝色理想经典论坛标准版荣誉版主林小志,具有多年网站设计和网站重构经验,在CSS、XHTML等前台技术方面有着深厚功底。

全书以传达CSS布局思维为中心,通过页面中的文字、图片、表格、表单等常见元素的处理及各种页面布局方式的使用,使读者能深入了解到如何在页面中更好地运用CSS布局。阅读本书之后将会发现,原来CSS样式居然是这么好玩的东西。

3、《精通CSS:高级Web标准解决方案》第二版

前段学习必备书籍,作者Andy Budd是国际顶尖的网页设计师,著名的Web标准倡导者,网页咨询公司Clearleft的创始人之一。

本书将最有用的CSS技术汇总在一起,总结了CSS设计中的最佳实践,讨论了解决各种实际问题的技术,重点讲解了一系列的css开发技巧,是前端开发人员必备的手册。

4、《CSS禅意花园》

这是一本令人惊叹的书!必须用一个字形容的话,那就是:美!内容编排合理,文字生动有趣引人入胜,通过一个个实例引导读者阅读,强烈推荐!

作者是世界著名的网站设计师,书中的范例来自网站设计领域最著名的网站——CSS Zen Garden(CSS禅意花园)。童鞋们自己去领略吧。

第二阶段——JavaScript的学习

Javascript的书籍当然还是要看老外的,你懂得~

5、《JavaScriptDOM编程艺术》

此书绝对是入门好书,简洁优美的文笔简直是工具书中的典范啊有木有!

这本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则,然后将这些概念贯穿在书中的所有代码示例中,使你看到用来创建图片库页面的脚本、用来创建动画效果的脚本和用来丰富页面元素呈现效果的脚本,最后结合所讲述的内容创建了一个实际的网站。

6、《JavaScript权威指南》第6版

这本书非常适合初级、中级程序员,是学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。

第6版涵盖HTML 5和ECMAScript 5。很多章节完全重写,紧跟当今最佳Web开发实践。本书新增章节描述了jQuery和服务器端JavaScript。

7、《JavaScript高级程序设计》第三版

《javascript权威指南》比较像一本字典,而这本《javascript高级程序设计》可以算是一本由浅入深的好读物。这两本书看完后,对javascript一定会有较为深入的了解。

作者Nicholas C. Zakas是世界顶级Web技术专家,现为雅虎公司界面呈现架构师,负责My Yahoo!和雅虎首页等大访问量站点的设计。这本书,看一遍不能算看过,至少读两三遍,每一遍都会让你有新的收获。

8、《高性能JavaScript》

本书从性能角度全面分析js,含金量非常大,很多知识都是作者通过实践总结出来的,都是经验的积累,强烈推荐!

同是Nicholas C. Zakas所写,如果看《JS高级程序设计》觉得理解不太透彻,学习较为吃力,那么我强烈建议你看看这本书,真的是极好的一本实践类书籍,言简意赅,灰常实用!

9、《JavaScript王者归来》

这本《JavaScript王者归来》不仅是一本传播知识的书,更是一本求道的书。O(∩_∩)O 有追求的程序员一定不要错过!愿神力与你同在!

它揭开了JavaScript的面纱,绕过误解和虚幻的表象,引领你探索程序王国的奥妙。这是一本探寻程序设计思想本源的“魔法典籍”,也是一本Web开发工程师们需要的案头参考书。

10、《JavaScript模式》

它绝对不是一本入门级别的书,适用于希望将自身的Javascript技巧提高到一个新层次的专业的开发人员和程序员。

《JavaScript模式》包含了实现每个讨论的模式的实践建议,并附有数个可以立即上手的范例同时还可以学到一些反模式。短小精悍,进阶必读!

11、《JavaScript设计模式》

进阶教程,得有一定功底才能看懂。反之,如果你轻而易举就能拿下此书,说明你已非等闲之辈~

本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。

第三阶段——jQUery的学习

12、《锋利的jQuery》第二版

入门首选,简单易懂,非常实在。《锋利的jQuery(第2版)》循序渐进地对jQuery的各种函数和方法调用进行了介绍,对jQuery分析的逻辑非常值得学习。

第四阶段—学无止境!

如果以上书籍你全都搞定了,那么,恭喜你,你真的很厉害!到这种程度,相信你也不太需要别人推荐书籍了,不过我还是厚着脸皮推荐两本吧。

13、《高性能网站建设指南》

前端开发可以优化网站剩余70%~80%性能,这本书不算厚,几个小时就能看完,推荐前端开发工程师看看。在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例佐证,并提供了在线支持。

14、《Web开发敏捷之道》第二版

Web开发敏捷之道》曾荣获Jolt大奖“最佳技术图书”奖。在第1版的内容架构基础上,第2版增加了对Rails 1.2中新特性和最佳实践的介绍。此书覆盖了rails1.2的方方面面,其本身也很"敏捷",翻译也非常好。