笔记说明

《CSS3实战手册第3版(影印版)》可以消除Web设计工作的痛苦,并且带给你:HTML——重新入门。如果你是HTML新手,你会学到如何以CSS友好的方式进行基本页面构造。若你是HTML高手,你将学会如何像CSS设计者那样思考。

全书共18章,五大部分600来页。

可能是出版方认为本书英文很好懂,所以就不找译者翻译了。

本来为作为一个行外人及英语渣,看这书会是很艰难的过程。但读过之后发现,相比一些拙劣的中文翻译书,居然觉得轻松了很多。

不同于一般CSS书枯燥的“选择器-盒模型-文字效果-其它属性”这样罗列一大堆类似说明手册的文字,”本书从编写良好的html结构开始说起,讲述了CSS3基本规则,布局排版,进展,手把手教读者做出符合h5规范的网页。作者本职是做网络出版物,因此,他的设计风格带有鲜明的出版物特性。

似乎了解css用法的人再读这书有点浪费时间。但是其中大量的tips,扩展阅读穿插其中,篇幅容纳不下的话还给出了文章链接。让你明白很多平时不知其所以然的操作。实例主要用于让读者去实践本书的思想,而不是讲述操作。我觉得,上过几堂速成课,只知道用法,做出貌似不错的效果,并不能算入门。真正入门,应该研究一两本类似这样的书。读完之后少能够辨别出初学者,或者学艺不精者写的代码。就算达到目的了。

第一章 编写可供CSS调用的html


开头都会说的html的黑历史——过去与现在:


语义标签如h1等早在html语言诞生之初就有了,对Web文档有初步的的支持——但是,设计者通常用标签的自带效果来作效果,因为展示内容的需要,出现了乱用的情况。另一方面table布局的不合理性,让开发者不得不直接切图这种落后的方式做网页。——而到现在,html终于被公认应该执行网页骨架的职能,而不是拿去干其他事情。所有需要担心的样式问题,用CSS去解决吧。

html


思考结构:逻辑关系主次架构,不要在行间加无谓的东西。

简化的html结构对搜索引擎是友好的。搜索引擎遍历整个页面才能简历索引,当结构过于复杂,爬虫可能没兴趣再读下去。

注意两个标签的作用:——div和span

div和span是万能的行级标签。你可以用它设计你想的任何效果(如果可以实现的话)。前者用于包装块状元素,后者则常用于包装文本。

除了万能容器标签以外,H5提供了多种语义化方案。懂得它们将大大提升网页的内涵。比如h1就是用于网页中最主体的内容。其它举例如下:

  • 一组相关的元素都可以用<section>包裹。
  • 侧边栏可以用<aside>
  • <footer>定义一组通常放在网页尾部的元素
  • <nav>一般用来做主导航。
  • <figure>是用来包裹图片元素的容器。作为图片描述内容,应该使用<figcaption>

    ......

相对于万能标签来说,h5标签的大大增强了语义。对谷歌来说,更喜欢开发者使用这些标签,然而,IE8及以前的浏览器都不能完全支持它们。解决方案是:引入js插件让他们支持。

<!--[if lt IE 9]>
<script src="scripts/html5.min.js"></script>
<script src="scripts/respond.min.js"></script>
<![endif]-->

规划好你的页面


比如最简单一个两列式布局,相似的内容合并在一个模块。头部——header,主体——article,边栏——aside/section,尾部——footer,最后再把上述的内容用一个section包起来

废弃的标签


  • <font>已经过时。后面会讲到。
  • <b><i>尽量用<strong><em>代替。尽管html4尝试废弃这两个标签,但h5又把他们捡回来了。对于只是让它外观看上去是这样,但不是实质性强调的内容,还是可以用。对于出版物标题上的斜体,用<cite>就再好不过了。
  • <table>不是没有用,但表格本来不是专门作页面布局的。
  • 尽量避免在<body>上做文章。
  • 用margin,不滥用<br>:因为浏览器可以自动给你的标记间插入其它空格(space),如果还不满意,就用margin去调整它吧。

作为总结就是:不要乱用——对于不适应设计要求的标签,尽可能用CSS去控制它们。而不是再建新的标签尝试控制样式。

验证你的网页:


xhtml要求所有元素必须被闭合,基本的元素必须放在指定的标签——比如说title必须放head标记内,而h5放松了这方面的语法要求,实际上,如果开发者忘掉这些规则。甚至导致网页不能如预期显示,甚至导致CSS停止工作。为此,可以去http://validator.w3.org/ 验证你的网页是否规范。

几个提示


如果你对于html结构还是不得要领,可以尝试这些做法:

  • 重要的内容尽可能放到h标记里去——重要事情说三遍。同级内容放一块。高级标题不要放到低级标题里。
  • 文本段落放到p标记里
  • 诸如标题组,导航栏放到ul-li里面去。
  • 诸如目录这样的内容,用有序列表oi-li去控制
  • 对于引用,独立成段的用<blocquote>,段内引用使用<q>
  • 类似版权声明,作者联系等,用<adress>就再好不过了
  • 所有用标记,标记属性实现的样式,CSS全部都能做到
  • 对于可能被识别的代码,又不想用code标记的,用div或span包装,再做样式化处理。别乱用其它的标记(作者建议)
  • div也不是滥用的:能用语义化的就用语义化标签。
  • 对于非自闭合标签,强烈建议闭合。而少数自闭合标记,建议不予闭合。(如<br><img>等)
  • 最后一点,做完之后拿去网上check一下。

论Doctype的重要性


HTML的行为是由公开声明决定的——即所谓的DTD。DTD控制了你的代码如何被解释,被哪个版本的语言解释。

事实上这和CSS紧密相关。如果你抛开不顾doctype声明不顾,浏览器就会进入quirk模式。简单地说,浏览器会按远古时代的的网页方式(譬如IE5)去解释你的代码。

所幸h5的doctype声明简单多了

<!doctype html>

让IE8只是IE8


IE8解释网页的行为总体来说比较诡异。可能回退到IE7甚至更早的版本——比如用户的不当操作,quirk模式等等——为了阻止这种诡异行为,让IE8始终在正常模式下工作——应该在header标签内加上:

<!--低版本浏览器模拟渲染-->
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
IE6、7或8?这是个问题

结论就是看情况.一个是国家,一个是用户群体。至少,IE8还是不能忽略的。

跨浏览器测试

根据客户来选择浏览器版本。

ie可以装个多版本测试工具,同时再装若干主流浏览器,safari可以找下windows版,或者在chrome下简单模拟一下。

基础HTML知识讲到这里就结束了。

《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.的更多相关文章

  1. 《疯狂Java:突破程序员基本功的16课》读书笔记-第一章 数组与内存控制

    很早以前就听过李刚老师的疯狂java系列很不错,所以最近找一本拿来拜读,再此做下读书笔记,促进更好的消化. 使用Java数组之前必须先对数组对象进行初始化.当数组的所有元素都被分配了合适的内存空间,并 ...

  2. Getting Started With Hazelcast 读书笔记(第一章)

    第一章:数据集群的演化与 早期的服务器架构 显然,应用是可扩展的,但是由于是集中式服务器,随着数据库性能达到极限,再想扩展就变得极端困难,于是出现了缓存.    缓存显然再次提升了可扩展性,减轻了数据 ...

  3. .net架构设计读书笔记--第一章 基础

    第一章 基础 第一节 软件架构与软件架构师  简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...

  4. C缺陷与陷阱----读书笔记---第一章

    第一章:词法陷阱 编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”.例如,对于语句: if ( x == big ) big = x ; 它的第一个符号是C语言关键字if,紧接着下一 ...

  5. 《C++ Primer》读书笔记 第一章

    读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...

  6. 《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

    本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习.一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止.我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念 ...

  7. Spring 3.x 实践 第一个例子(Spring 3.x 企业应用开发实战读书笔记第二章)

    前言:工作之后一直在搞android,现在需要更多和后台的人员交涉,技术栈不一样,难免鸡同鸭讲,所以稍稍学习下. 这个例子取自于<Spring 3.x 企业应用开发实战>一书中的第二章,I ...

  8. 《R语言实战》读书笔记--第一章 R语言介绍

    1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...

  9. 《从0到1》读书笔记第一章&quot;未来的挑战&quot;第2记:做老子还是做孙子

    从1到N VS 从0到1 - 别让自己的小鸡鸡抓在别人的手上 近几年国内互联网创业上非常流行一种C2C(也就是Copy to China - 复制到中国)的创业模式,打的就是一个时间差和地域差.将在国 ...

随机推荐

  1. 关于web前端的学习路线

    第一阶段: HTML+CSS:HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础:Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAsc ...

  2. ASP.NET MVC 5 入门教程 (4) View和ViewBag

    文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-view.html 上一节:ASP.NET MVC 5 入门教 ...

  3. Query DSL for elasticsearch Query

    Query DSL Query DSL (资料来自: http://www.elasticsearch.cn/guide/reference/query-dsl/) http://elasticsea ...

  4. 简单Matrix 的方法说明记录

    查找资料加上自己理解  ,简单说明Android中Matrix怎么用(新手有错误的地方,希望指正,主要自己记录学习用的) Matrix包含一个3 X 3的矩阵,专门用于图像变换匹配. Matrix提供 ...

  5. 17B

    贪心,之前先bfs判断是否联通,然后,反向建图,找一个未选择的点,找与他距离最近的点连边,因为每个点都要被选择,所以一个点离他最近的另一个点肯定也被选择,可以贪心 #include<queue& ...

  6. cufflinks install

    liuhui@pine:~/bin/cufflinks-master$ ./configure --with-bam=/usr/local/include/bam checking for a BSD ...

  7. Maven报错: Missing artifact jdk.tools:jdk.tools:jar:1.7

    pom.xml 有小红叉,报错: Missing artifact jdk.tools:jdk.tools:jar:1.7 解决方法:(缺少一个jar包) http://blog.csdn.net/u ...

  8. 【BZOJ-3725】Matryca 乱搞

    3725: PA2014 Final Matryca Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 160  Solved: 96[Submit][St ...

  9. 【BZOJ-2115】Xor 线性基 + DFS

    2115: [Wc2011] Xor Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2142  Solved: 893[Submit][Status] ...

  10. 【BZOJ-4521】手机号码 数位DP

    4521: [Cqoi2016]手机号码 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 303  Solved: 194[Submit][Status ...