(6)《Head First HTML与CSS》学习笔记---结尾、《HTML5权威指南》读书笔记
1.内联元素的外边距、内边距与块元素稍有不同。
如果一个内联元素四周都增加外边距,只能看到左边和右边会增加空间;你也可以对内联元素的上下增加内边距,不过这个内边距不会影响包围它的其他内联元素的间距——所有内边距会与其他内联元素重叠(即这个内边距在一群内联元素里表现的不是叠加,而是公用一个最大的,而且这个样式效果必须在上下有块元素时才能体现。)
2.
header.top img#headerSlogan{
float: right;
}
这是一个最佳实践:实际上,这个选择器不需要增加.top也可以正确地选择元素(众多header标签只有一个属于top类),不过这样一来,就能在CSS中更清楚地看出我们选择的是哪一个headerSlogan。
3.关于视频的格式
一个视频文件包含两个部分:一个视频部分和一个音频部分,每个部分都使用一种特定的编码类型来编码(这样可以缩小数据大小,并能更高效地播放);包含视频和音频编码的文件也有自己的格式和格式名,这种文件称容器。
大多数情况下,并没有一种得到大家共识的编码。
现在主要有三个竞争(2013年)对手在争霸视频web界(如果你只关心apple设备(例子),那么只支持一种格式也可以;如果是多种设备,就不能只支持一种):
1.WebM容器和其包含的Vp8视频编码、Vorbis音频编码。
其由Google设计,扩展名是webm。
2.MP4容器和其包含的H.264视频编码、AAC音频编码。
H.264由MPEG-LA公司授权,有很多债H.264,每一种分别称为一个profle。
3.Ogg容器和其包含的Theora视频编码、Vorbis音频编码。
Theora是一个开源编解码器(编解码器=codec),扩展名为.ogv。
4.table中如果一行没有足够的元素(即某行的列数比其它行少),就会导致不能正确的对齐(少的那个会被后面的填补,即最后空的列会从后面开始空)。
5.
<p>
Extra:<br>
<input type="checkbox" name="extras[]" value="giftwrap">Gift wrap<br>
<input type="checkbox" name="extras[]" value="caralog" checked>Include catalog with order
</p>
为什么这里的name有“[]”?
首先,这是合法的;之所以这样写,是因为编写这一段的脚本语言php希望得到一点提示,想知道一个表单变量可能包含多少个值。提供这个提示的做法就是在名字后加“[]”——虽然暂时用不到,记录一下也是好的。
6.form中的method属性值,POST和GET的区别。
首先,两者的目地都是一样的——将表单数据从浏览器发到服务器。
简单地说,POST会打包表单变量,在后台发到服务器;GET也是打包变量,但却是通过加在网页URL后面的方式给服务器发送。使用GET和使用POST,表面上的区别可以用一个例子说明:
原URL(即action的值):
所以我对于GET和POST的理解,是纯粹地来源于HTTP协议。他们只有一点根本区别,简单点儿说,一个用于获取数据,一个用于修改数据。具体的请参考RFC文档。
如果一个人一开始就做Web开发,很可能把HTML对HTTP协议的使用方式,当成HTTP协议的唯一的合理使用方式。从而犯了以偏概全的错误。
可能有人会觉得我钻牛角尖。我只是不喜欢模棱两可,不喜欢边界不清、概念不明,不喜欢“拿来主义”,也不喜欢被其它喜欢钻牛角尖的人奚落得无地自容。
method
浏览器使用这种 HTTP 方式来提交 form. 可能的值有:
post
: 指的是 HTTP POST 方法 ; 表单数据会包含在表单体内然后发送给服务器.get
: 指的是 HTTP GET 方法; 表单数据会附加在 URIaction
属性中并以 '?' 作为分隔符, 然后这样得到的 URI 再发送给服务器. 当这样做(数据暴露在URI里面)没什么副作用,或者表单仅包含ASCII字符时,再使用这种方法吧。
这个值可以被 <button>
或者 <input>
元素中的 formmethod
属性重载(覆盖)。
(里面的两篇英文链接“POST方法”“GET方法”有空自己翻译翻译)
把 TCP/IP 层次化是有好处的。比如,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所 有部分整体替换掉。而分层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之后,每个层次 内部的设计就能够自由改动了。
值得一提的是,层次化之后,设计也变得相对简单了。处于应用层上的应用可以只考虑分派给自己的任务
TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统)服务就是其中两类。
HTTP 协议也处于该层。
我们用 HTTP 举例来说明,首先作为发送端的客户端在应用层(HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。
接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在 各个报文上打上标记序号及端口号后转发给网络层。
在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求 就准备齐全了。
接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收 到由客户端发送过来的 HTTP 请求。
div{
transform:rotate(45deg);
/*首先要列出的是通用属性,以保证属性得到支持,或者至少将来得到支持*/
-webkit-transform: rotate(45deg);
/*webit是safari和chrome的开发商标识符*/
-moz-transform: rotate(45deg);
/*moz是Mozilla的开发商标识符*/
-o-transform: rotate(45deg);
/*o是Opera的开发商标识符*/
-ms-transform: rotate(45deg);
/*ms是IE的开发商标识符*/
}
通常可以在各个浏览器的开发文档和发行说明中找到这些开发商特定的属性。
这本书的读书笔记到此为止。
在HTML5与CSS的学习上,本来我打算下一步是看《HTML5权威指南》,但通过这段时间的学习,我发现在Web开发这一块,书籍的主要作用应该是入门,而不是进阶——因为Web开发自2015年前后,很多东西才开始真正立为标准,而一本成熟的书,其局限的时间必然是其成书时间前3~4年的“成熟”。恰恰在Web开发中,当下的重要性在进阶中是比过去重要许多的!所以我决定,只看HTML5权威指南的部分章节,目地非“学习”而是“回顾历史”,学其思想。具体的使用上,我将在项目开发中用到什么学什么,当遇到我的第一个瓶颈时,再考虑书籍。
鉴于所看章节只有部分,就不另外开文章记录了,直接在这里记上即可。
《HTML5权威指南》
美·Adam Freeman著;牛化成、刘美英等著。
人民邮电出版社,2014年第一版。
HTML与CSS的区别,以及为什么分离样式和结构,我就不再记录了,已经是老生常谈的内容。
6.1 语义与呈现分离——————这一节相当有用,记录所耗时间过长,遂决定把这部分独立存为一个文档作为链接放在文章里。
“HTML就成了一个‘双速’标准。一部分元素(特别是新元素)只有语义方面的作用;而另一部分元素(特别是那些名字只有一个字母的)因为招牌如此之老,新标准在呈现与含义分离的原则上也只得向其屈服——尽管它不愿坦然承认这一点。
从下一章开始,在阅读元素说明的时候,对新思维和老路子之间的这种敏感关系最好要心里有数。它确实有助于解释读者碰到的一些琐碎的怪象。
我的建议是:在语义方面要求严格点不为过,只要有条件,尽量避用那些就有浓重呈现意味或存粹起呈现作用的元素。定义一个自定义类然后借助它应用所需样式并不复杂。只要做到样式的采用是以内容类型为依据而不是随心所欲,你至少也保持了一颗向着语义的心。”
————————在这让我想到了一个东西: css rest,对于这个的讨论,见:
(6)《Head First HTML与CSS》学习笔记---结尾、《HTML5权威指南》读书笔记的更多相关文章
- css权威指南读书笔记
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[cla ...
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- HTTP权威指南读书笔记
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读 ...
- Hadoop权威指南读书笔记
本书中提到的Hadoop项目简述 Common:一组分布式文件系统和通用I/O的组件与接口(序列化.javaRPC和持久化数据结构). Avro:一种支持高效.跨语言的RPC以及永久存储数据的序列化系 ...
- Kafka权威指南 读书笔记之(三)Kafka 生产者一一向 Kafka 写入数据
不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者 ...
- JavaScript权威指南读书笔记【第一章】
第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自J ...
- JS权威指南读书笔记(六)
第十五章 脚本化文档 1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子 ...
- Javascript权威指南——读书笔记
一.JavaScript核心语法 1.字符串中接受RegExp参数的方法 (1)text.search(pattern)返回首次匹配成功的位置 (2)text.match(pattern)返回匹配组成 ...
- JavaScript权威指南读书笔记
JavaScript 1.变量 变量是一个表示值的符号,是一个名字,他的本质是值: var x; //----声明一个变量: 值通过等号“=”赋给变量,x = 16; 对象是名/值对的集合,或字符串到 ...
- Java性能优化权威指南-读书笔记(五)-JVM性能调优-吞吐量
吞吐量是指,应用程序的TPS: 每秒多少次事务,QPS: 每秒多少次查询等性能指标. 吞吐量调优就是减少垃圾收集器消耗的CPU周期数,从而将更多的CPU周期用于执行应用程序. CMS吞吐调优 CMS包 ...
随机推荐
- mysql 中 unix_timestamp和from_unixtime 时间戳函数
1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_time ...
- react-grid-layout
一个好用的拖拽.自适应布局 react 插件 基本使用: // 显示全部 chart 内容区域 import React,{PureComponent} from 'react'; import {R ...
- javaScript定义函数的三种方式&变量的作用域
一.函数定义 方式1.普通方式定义函数 function 函数名(參数n){ 函数体 } function add(a,b){ return a+b; } 方式2.直接量定义函数 var 函数名=fu ...
- 密码过期导致Oracle process耗尽问题
oracle忽然连不上! 大致是报这样的错: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序 ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理 ...
- 2016/04/29 ①cms分类 ② dede仿站制作 步骤 十个步骤 循环生成菜单 带子菜单的菜单 标签 栏目 栏目内容列表 内容图片列表
cms 系统还有: phpcms 企业站 Xiaocms 织梦 企业站 wordpress (博客) Ecshop 商城 Ecmall 多用户 Discms 记账 方维 订餐 团购 CMS ...
- 设计模式-(13)访问者模式 (swift版)
一,概念 访问者模式,是行为型设计模式之一.访问者模式是一种将数据操作与数据结构分离的设计模式,它可以算是 23 中设计模式中最复杂的一个,但它的使用频率并不是很高,大多数情况下,你并不需要使用访问者 ...
- 关于intent传递对象后是传递的对象的地址还是对象的拷贝?
var intent = Intent(activity,SingleColorControlActivity::class.java); var bundle = Bundle()// bundle ...
- 【Bitset】 BZOJ4810
难得学习一下C++的库..[至今连map,vector都没用过的我.. 首先#include<bitset>或<bits/stdc++.h> 定义函数: { bitset & ...
- 【转】使用git将项目上传到github(最简单方法)
原文地址:http://www.cnblogs.com/cxk1995/p/5800196.html 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ ...
- npm i macaca-android -g 无法安装成功、安装成功后运行脚本提示app-debug.apk不存在的问题
转自https://testerhome.com/topics/8618Android 近期,macaca团队升级了macaca-android2.0.2和app-inspector1.2.28 ,导 ...