《Head First HTML与CSS》读书笔记

238 阅读7分钟

超文本

  • <a>元素的内容是链接的标签

  • 使用".."可以连接到源文件上一层文件夹的一个文件

  • ".."表示“父文件夹”

  • 为网站选择的文件名和文件夹名中不要使用空格

模块

  • 块元素(block):特立独行,通常用作Web页面中的主要构建模块

  • 内联元素(inline):随波逐流,通常用来标记小段内容

  • 空元素(void):没有任何内容的元素

  • 开始输入内容之前要规划好Web页面的结构

Web

  • FTP(File Transfer Protocol)表示文件传输协议

  • SFTP(Secure File Transfer Protocol)表示安全文件传输协议,比FTP更安全

  • 相对路径只用于链接同一网站内的页面,URL通常用来链接其他网站

  • <a>元素的属性title,title的属性值与所链接的Web页面的<title>元素值相同,要保证链接标签简洁、有意义。

  • 可以为任意元素增加id属性,id必须是唯一的。在id属性中可以使用大写和小写的任意组合,只要确保保持一致,在href和目标的id中要用相同的大小写字母。id一定要用一个字母开头,后面可以是任意字母、数字、横线、下划线、冒号后点号。

  • 绝对路径是从根文件夹到一个文件的路径

  • 域名是一个唯一的名字,用来谓一标识网站

  • 可以用id属性在页面中创建一个目标,使用#后面加一个目标id,可以链接到页面中的那个位置

图像

  • <img>元素是一个内联元素,浏览器不会在图像前后插入一个换行

  • JPEG照片一般比相同质量的PNG或者GIF照片要小

  • alt属性需要指定描述这个图像的一些文本,如果浏览器无法找到图像,则会取而代之显示alt属性

HTML标准

HTML指南

  1. 一定要以<doctype>开头

  2. <html>元素:不能没有

  3. 只有<head><body>元素能直接放在<html>元素中,其他元素必须放在<head><body>

  4. <head>中包含一个<meta charset="utf-8">标记

  5. 只能在<head>元素中放置<title><meta><style>元素

  6. 不允许在<img>等void元素中嵌套其他元素

  7. 检查属性

  • alt属性是<img>的必要属性

CSS

  • <link>是一个void元素

  • 元素可以从他们的父元素继承样式,但是只有一部分能继承

  • font-family定制页面中使用的字体

  • font-size控制字体大小

  • color为文本设置颜色

  • font-weight影响字体的粗细

  • text-decoration为文本增加装饰:上划线(overline)、下划线(underline)、删除线(line-through),有下划线的文档容易被误认为是链接文本,所以谨慎使用这个属性

  • <@font-face>允许定义一种字体的名字和位置,然后在页面中使用。@font-face是一个内置的CSS规则,不是一个选择器规则,不选择任何一个元素

常用的字体格式:TrueType字体(.ttf)、OpenType字体(.otf)、Embedded OpenType字体(.eot)、SVG字体(.svg)、Web开放字体(.woff)

  • px必须紧跟在像素数后面,之间不能有空格

  • 关键字:可以把字体大小指定为xx-small、x-small、small、medium、large、x-large、xx-large,small通常定义为12px

  • 通常情况下默认的body字体大小为16px

  • <h1>是默认体文本大小的200%,<h2>是150%,<h3>是120%,<h4>是100%,<h5>是90%,<h6>是60%

  • font-style为文本增加斜体风格:italic、斜体文本:oblique

  • <del>能把HTML中的某些内容标记为要删除的内容

  • <ins>标记要插入的内容

盒模型

  • 元素的背景颜色(或者背景图片)会延伸到内边距下面,但不会延伸到外边距

  • 样式表从上到下排列,最下面的样式表最优先

  • 可以根据需要为HTML增加多个<link>标记,涵盖支持的所有设备

  • 使用border-radius属性可以对有边框的元素创建圆角

div和span

  • width属性只指定内容区的宽度

  • 整个元素的宽度是内容区、内边距、边框和外边距的宽度

  • 一个块元素的默认宽度是“auto”,会延伸占满可用空间;默认高度也是“auto”

  • text-align会对块元素中的所有内联内容对齐,只能在块元素上设置

  • 可以利用<span>创建内联字符和元素的逻辑分组

  • <em>强调某些文字;<span>强调一个重点

  • 链接一般采用:linkvisitedhoverfocusactive的顺序

  • 在某个属性声明最后放置一个 "!important" 可以覆盖该属性

布局与定位

  • 块元素从上向下流,各元素之间会有一个换行;内联元素在水平方向上会互相挨着,总体上会从左上方流向右下方

  • 浏览器上下放置两个块元素的时候,会把它们共同的外边距折叠在一起。折叠的外边距高度就是最大的外边距高度。如果一个外边距较大,那么两个块元素之间的外边距就是二者中较大的那一个。如果两个元素有边框,那么两个元素的外边距就不会折叠

  • 图像通常会设置外边距、内边距和边框

  • clear属性:当元素流入页面时,在这个元素左边、右边或两边不允许有浮动内容

  • CSS只允许一个元素向左或者向右浮动

  • 浮动元素的外边距不会和正常流中元素的外边距折叠

  • 嵌套在块元素中的内联内容总会围绕着浮动元素,内联元素会留意浮动元素的边界,而块元素会正常流向页面

  • 浮动元素必须有特定的宽度,不能设置为auto

  • position属性有4个值: static(静态):默认方式,将元素放在页面的正常流中
    absolute(绝对):允许将元素放在页面上的任何位置,相对于页面边界来放置
    fixed(固定):相对于浏览器窗口定位,页面滚动时,固定定位元素不会移动
    relative(相对):首先正常流入页面,然后按指定的量偏移,从而流出它们原先所在的位置

  • 使用absolute、fixed、relative定位时,属性为top、right、bottom和left可以用来指定元素的位置

  • absolute可以使用z-index属性分层放置,使一个元素在另一个元素上面。值越大,说明它的层次越高

HTML5

  • <section>用于对相关的内容分组

  • <article>用于类似博客帖子、论坛帖子等独立的内容

  • <time>用来标记时间和日期

  • <video>用于为页面增加视频。视频编码是用来创建视频文件的编码,常用的编码包括h.264、Vp8、Theora

表格

  • 可以用<caption>元素提供关于表格的额外信息

  • border-collapse允许将单元格边框合并为一个边框,让外观更简洁

  • text-alignvertical-align改变表格单元格中的数据的对齐方式

  • 使用nth-child伪类可以为表格隔行增加背景颜色

  • 如果一个数据单元格没有数据,<td>元素中不放置任何内容,但是需要使用一个<td>...</td>维持表格的对齐

  • rowspan跨多行、colspan跨多列

  • list-style-type允许改变列表中使用的列表标记类型

  • list-style-image允许指定列表标记图像

HTML表单

  • action属性包含服务器脚本的URL

  • method包含发送表单数据的方法,可以是POST或者GET

  • POST:打包表单数据,并把它作为请求的一部分发送到服务器。如果表单数据应当是私有的,或者表单数据很多,如使用了<textarea>元素,就应当使用POST

  • GET:打包表单数据,并把数据追加到URL。一般用于可以加书签的请求

  • type为range时会创建一个滑动条控件提供数字输入

  • <select>元素会创建一个菜单,包含一个或多个<option>元素。

  • text<input>元素中的value属性可以用来为单行文本输入控件提供一个初始值,在提交按钮上设置value属性可以改变按钮上显示的文本

  • 提交一个Web表单时,表单数据值与相应的数据名配对,所有名和值会发送到服务器

  • placeholder可以为表单用户提供一个指示,指出你希望在一个输入域中输入什么内容

  • required指示一个输入域是必要的,要让表单成功提交,这个输入域中必须有值