Expanding your vocabulary

总述

在上一章节介绍了 CSS 的基础之后,这一章节更加具体地展开关于 CSS 的各种 rules 能够达成的效果。比如

  • 字体:font-family
  • 字号:font-size
  • 字重:font-weight
  • 斜体字:font-style:italic/oblique
  • 字体的颜色:color
  • 背景的颜色:background-dcolor
  • 下划线:textdecoration:underline

font-family

在 CSS 中,有5个font-family,而每个 font-family 中包含着很多类型的 font,它们的名字和例子如下:

  • Serif family:Times New Roman, Georgia
  • San-serif family:Arial,Geneva
  • Monospace family:Courier
  • Cursive family:Comic Sans
  • Fantasy family

他们各自的特点是:

  • Serif family:font with serifs
  • San-serif family:font without serifs
  • Monospace family:fonts that have constant-width characters
  • Cursive family:look handwritten
  • Fantasy family:contains stylized decorative fonts

对于不同的 font-family,有着对人不同感觉:

Take a good look at the font families:serif fonts have an elegant, traditional look, while sans-serif fonts have a very clean and readable look. Monospace fonts feel like they were typed on a typewriter. Cursive and fantasy fonts have a playful or stylized feel.

设置 font-family specification

当设置 font-family 的 value 的时候,可以这样写:

需要明白以下几点:

  1. 前面三个字体都是具体字体的名称,这里的大小写是有区别的
  2. 是否显示相应的字体与对应的浏览器有关,如果浏览器没有 find 到相应的字体,那么寻找下一款字体
  3. 如果前面的都没有找到,那么就应用浏览器 default 的 sans-serif 字体(sans-serif 并不是一种特定的字体,而是浏览器默认的字体)
  4. 如果字体的名字是分开的形式,比如 Courier New,应该在 value 中写成"Courier New"
  5. 在选择字体的时候,最好选择 Windows 和 Mac 系统都支持的字体,它们有:
    •Andale Mono
    •Arial 
    •Comic sans
    •Courier New
    •Georgia
    •Impact
    •Time New Roman
    •Trebuchet MS
    •Verdana

Using Web Font

由于系统和浏览器的原因,无法使得每一个网页的 visitor 都可以看到 CSS 中设置的字体,这时候,就可以使用 Web Font 来达成这一目标

How Web fonts Work

  1. 你储存在 Web Server 对应的 ".woof"格式的文件
  2. Browser 检测到网页使用了 Web Font,请求 Web Server 用来 retrive 相应的 Web Font
  3. Web Server 返回相应的字体文件,browser 显示相应的字体的文本。

How to use Web Font to your page

  1. Find a font:visit sites to find free and licensed font you can use in your websites
  2. Make sure you have all the format of the font you need
  3. Place your font files on the Web:You can use font services online , then you'll use the URL of your font files.
  4. Add the @font-face rule to your CSS:You should assign a name for the font and then note down the src by using URL
  5. Using the family name in your CSS

这里需要明白和注意几点:
字体的格式:

  • Truetype:.ttf
  • Opentype:.otf Opentype is on top of Truetype
  • Embedded Opentype fonts:.eot supported only on IE
  • SVG font:.svg short for Scable Vector Graphics
  • Web open font format:.woff Base on Truetype and is developed as a standard Web Font.

关于@font-face :
@font-face 其实是一个 built-in CSS rule(还有其他,比如:@media)这个 rule 与普通的含 selector 的rule 不同,它的语法为:

调节 font-size 的三种方式:

有三种方式去调节字体的大小,分别是:

  • px:font-size:14px
  • %:font-size:120%
  • em:font-size:1.2em
    需要注意的是:
  • px方式:其中的14与 px 之间不要有空格
  • %方式和em方式都可以达到相同的效果
  • 在使用的时候可以根据 inheritance 来系统地调节字体的大小

Specify 颜色的三种方式

电脑屏幕的颜色显示模式为 RGB 模式,所以显示不同颜色的思路是通过 R,G,B 三种色彩的占比来显示,可以采用:

  • By name :CSS 预定义了150种颜色的名字,如 red,blue,yellow 等等, basic color 有16种,可以直接用这些名字:
  • By red,green and blue values:可以采用 background-color:rgb(80%,40%,0%)这样的占比的方式,也可以采用数值的方式background-color:rgb(204,102,0)
  • By hex code:比如#cc6600

其他知识

  1. 一个寻找 Web fonts 的网站:https://www.fontsquirrel.com
  2. 一个用于搜查颜色的网站:https://en.wikipedia.org/wiki/Web_colors

HTML第八章总结的更多相关文章

  1. 精通Web Analytics 2.0 (10) 第八章:竞争情报分析

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第八章:竞争情报分析 在现实世界中,收集竞争情报可能意味着雇人在竞争对手的垃圾桶(实际会发生!)翻找. 在虚拟世界中,堆如山的数 ...

  2. 《Linux内核设计与实现》读书笔记 第十八章 调试

    第十八章调试 18.1 准备开始          需要准备的东西: l  一个bug:大部分bug通常都不是行为可靠而且定义明确的 l  一个藏匿bug的内核版本:找出bug首先出现的版本 l  相 ...

  3. 《Entity Framework 6 Recipes》中文翻译系列 (42) ------ 第八章 POCO之使用POCO

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第八章 POCO 对象不应该知道如何保存它们,加载它们或者过滤它们.这是软件开发中熟 ...

  4. 《Entity Framework 6 Recipes》中文翻译系列 (46) ------ 第八章 POCO之领域对象测试和仓储测试

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-8  测试领域对象 问题 你想为领域对象创建单元测试. 这主要用于,测试特定的数 ...

  5. Python之路【第十八章】:Django基础

    Django基本配置 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Se ...

  6. 读《编写可维护的JavaScript》第八章总结

    第八章 避免“空比较” 我们在对传进来的参数做处理之前,肯定需要验证一下是否是我们想要的,也就是说大多数情况下,我们需要对比一下它的类型. 作者首先给了一个看起来都感觉不对的代码: var Contr ...

  7. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

  8. Getting Started With Hazelcast 读书笔记(第八章-第十章)

    第八章到第十章就是一些介绍性的描述,吹的就是Hazelcast能使用在各种地方..   第八章 -从外面看 1.Hazelcast做了一个memcache的java实现,方便py和php使用. 2.可 ...

  9. [Effective Java]第八章 通用程序设计

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  10. Laxcus大数据管理系统2.0(10)- 第八章 安全

    第八章 安全 由于安全问题对大数据系统乃至当前社会的重要性,我们在Laxcus 2.0版本实现了全体系的安全管理策略.同时我们也考虑到系统的不同环节对安全管理的需求是不一样的,所以有选择地做了不同的安 ...

随机推荐

  1. Codeforces 980E The Number Games - 贪心 - 树状数组

    题目传送门 传送点I 传送点II 传送点III 题目大意 给定一颗有$n$个点的树,$i$号点的权值是$2^{i}$要求删去$k$个点,使得剩下的点仍然连通,并且总权值和最大,问删去的所有点的编号. ...

  2. Install Virtualbox on ubuntu

    1.Use the command: sudo apt-get install virtualbox

  3. Python3 tkinter基础 Entry get 点击按钮 将输入框中文字输出到控制台

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. Java lambda例子

    简单数据类型int,跟Integer在lambda中的使用还不一样,有区别 code: package com.qhong.lambda.testDemo; import java.util.Arra ...

  5. html 之 padding,margin

    margin:对象挤压外界 padding:对象挤压自身 例如: td使用margin 对table而言没有任何效果,但使用padding是对table内部的挤压,若是table空间不够,则会扩大ta ...

  6. Asp.Net 之 js/jquery获取服务器端控件

    由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,总结有以下3种方法:服务器控件代码:<asp:TextBox ID="txtUserID& ...

  7. 剥开比原看代码09:通过dashboard创建密钥时,前端的数据是如何传到后端的?

    作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...

  8. python bytes类型

    python3中二进制数据则由bytes类型表示,8位一字节 格式化打印文件的二进制编码 with open('spiderman.mkv', "rb") as f: print( ...

  9. Mysql数据类型、约束、存储引擎

    一.数据类型 整数类型 默认有符号的 设置为无符号 1.create table t2(age tinyint unsigned); 2.建表后用alter修改 tinyint[(m)] [unsig ...

  10. Linux命令之nl命令

    nl 命令在 Linux 系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号,其默认的结果和 与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数是否自动补齐 ...