CSS基础

1、引入谷歌字体

    除了大多数系统提供的默认字体以外,我们也可以使用自定义字体。网络上有各种各样的字体,不过在这个例子中,我们将会尝试使用Google字体库。

    Google 字体是一个免费的字体库,可以通过在 CSS 里面设置字体的 URL 来引用。

    因此,下一步,我们将引入和使用Google字体。

    引入Google字体,你需要复制Google字体的 URL,并粘贴到你的 HTML 里面。在这个挑战中,我们需要引入Lobster字体。因此,请复制以下代码段,并粘贴到代码编辑器顶部,即放到style标签之前。

<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

    现在你可以设置font-family属性为Lobster,来使用Lobster字体。例子如下:

font-family: FAMILY_NAME, GENERIC_NAME;.

    GENERIC_NAME是可选的,其他字体不可用时便作为后备字体,在下一个挑战中可以得到体现。

    字体名区分大小写,并且如果字体名含有空格,需要用引号括起来。例如,使用"Open Sans"字体需要添加引号,而Lobster字体则不需要。

2、理解绝对单位与相对单位

    像素px是一种长度单位,来告诉浏览器应该如何调整元素大小和空间大小。其实除了像素,CSS 也有其他不同的长度单位供我们使用。

    单位长度的类型可以分成 2 种,一种是相对的,一种是绝对的。例如,in和mm分别代表着英寸和毫米。绝对长度单位会接近屏幕上的实际测量值,不过不同屏幕的分辨率会存在差异,可能会导致一些误差。

    相对单位长度,就像em和rem,它们会依赖其他长度的值。就好像em的大小基于元素的字体的font-size值,如果你使用em单位来设置font-size值,它的值会跟随父元素的font-size值来改变。

注意:

有些单位长度选项是相对视窗大小来改变值的,符合了响应式 web 的设计原则。

3、创建一个自定义的 CSS 变量

    创建一个 CSS 变量,你只需要在变量名前添加两个破折号,并为其赋值,例子如下:

--penguin-skin: gray;

    这样会创建一个--penguin-skin变量并赋值为gray(灰色)。

    现在,其他元素可通过该变量来设置为gray(灰色)。

4、使用一个自定义的 CSS 变量

    创建变量后,CSS 属性可以通过引用变量名来使用它的值。

background: var(--penguin-skin);

    因为引用了--penguin-skin变量的值,使用了这个样式的元素背景颜色会是灰色。

注意:如果变量名不匹配,样式不会生效。

5、给 CSS 变量附加回退值

    使用变量来作为 CSS 属性值的时候,可以设置一个备用值来防止由于某些原因导致变量不生效的情况。

    或许有些人正在使用着不支持 CSS 变量的旧浏览器,又或者,设备不支持你设置的变量值。为了防止这种情况出现,那么你可以这样写:

background: var(--penguin-skin, black);

    这样,当你的变量有问题的时候,它会设置你的背景颜色为黑色。

6、层级 CSS 变量

    你创建的变量,不但可以在你声明变量的元素里面使用,同时也可以在该元素的子元素里面使用。这种效应称为cascading(层叠)。

    因为层叠的效果,CSS 变量通常会定义在:root元素里。

    就像html是body的容器一样,你也可以认为:root元素是你整个 HTML 文档的容器。

    在:root创建的变量,在整个网页里面都能生效。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 最近几天学习了前端的基础知识,并在讲师和小组成员的帮助下做了一个小网页。在这里想以一个初学者的角度记录一下我...
    whisper330阅读 256评论 0 0
  • 前言 大家最熟悉也最经常用的是像素(px),这是一个绝对单位,在不同场景下所呈现的大小是一样的。与之相对的,就是相...
    海阔天空的远方阅读 585评论 1 4
  • 1. CSS盒模型 1.1 认识盒模型 盒模型是CSS布局的最基本组成部分,它指定元素如何显示及在某种方式上如何相...
    H少白阅读 367评论 0 2
  • 1.样式有几种引入方式? link和 @import有什么区别? 答:样式有外部样式表、内部样式表和内联样式。li...
    Lily的夏天阅读 270评论 0 0
  • 介绍css的盒子模型 css的盒子模型有两种:IE盒子模型,W3C盒子模型盒子模型:内容(content),内边距...
    5b5072cc2c5b阅读 591评论 0 0