【尚硅谷】HTML5+CSS3学习笔记 (六)CSS字体背景(含大量源码)

(六)CSS字体背景


== 本部分更多内容欢迎订阅专栏HTML+CSS学习专栏,将持续更新==

6.1 字体:

color 用来设置字体颜色

6.1.1 font-size:

字体的大小

  • 和font-size相关的单位:
  • em 相当于当前元素的一个font-size
  • rem 相对于根元素的一个font-size

6.1.2 font-family:

字体族(字体的格式)

可选值:

  • serif 衬线字体
  • sans-serif 非衬线字体
  • monospace 等宽字体

指定字体的类别,浏览器会自动使用该类别下的字体

font-family 可以同时指定多个字体,多个字体间使用,隔开字体生效时优先使用第一个,第一个无法使用则使用第二个 以此类推

Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,"\5B8B\4F53",sans-serif

6.1.3 font-face:

可以将服务器中的字体直接提供给用户去使用 .

问题:

  1. 加载速度
  2. 版权
  3. 字体格式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        
        @font-face {
                /* 指定字体的名字 */
            font-family:'myfont' ;
            /* 服务器中字体的路径 */
            src: url('./font/ZCOOLKuaiLe-Regular.ttf') format("truetype");
        }

        p{
            color: blue;
            font-size: 40px;

            /* font-family: 'Courier New', Courier, monospace; */
            font-family: myfont;
        }
    </style>
</head>
<body>
    <p>
        今天天气真不错,Hello Hello How are you!
    </p>
</body>
</html>

6.2 图标字体:

6.2.1 图标字体(iconfont):

  • 在网页中经常需要使用一些图标,可以通过图片来引入图标,但是图片大小本身比较大,并且非常的不灵活
  • 所以在使用图标时,我们还可以将图标直接设置为字体,然后通过font-face的形式来对字体进行引入
  • 这样我们就可以通过使用字体的形式来使用图标

6.2.2 fontawesome 使用步骤:

  1. 下载 https://fontawesome.com/
  2. 解压
  3. 将css和webfonts移动到项目中
  4. 将all.css引入到网页中
  5. 使用图标字体:直接通过类名来使用图标字体
class="fas fa-bell"
class="fab fa-accessible-icon"
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="./fa/css/all.css">
</head>
    
<body>
    <i class="fas fa-bell" style="font-size:80px; color:red;"></i>
    <i class="fas fa-bell-slash"></i>
    <i class="fab fa-accessible-icon"></i>
    <i class="fas fa-otter" style="font-size: 160px; color:green;"></i>
</body>
</html>

6.2.3 通过伪元素来设置图标字体:

  1. 找到要设置图标的元素通过before或after选中
  2. 在content中设置字体的编码
  3. 设置字体的样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="./fa/css/all.css">
    <style>
        li{
            list-style: none;
        }

        li::before{
            content: '\f1b0';
            /* font-family: 'Font Awesome 5 Brands'; */
            font-family: 'Font Awesome 5 Free';
            font-weight: 900; 
            color: blue;
            margin-right: 10px;
        }
    </style>
</head>
<body>

    <!-- <i class="fas fa-cat"></i> -->

    <ul>
        <li>锄禾日当午</li>
        <li>汗滴禾下土</li>
        <li>谁知盘中餐</li>
        <li>粒粒皆辛苦</li>
    </ul>

    <!-- 

        通过实体来使用图标字体:
            &#x图标的编码;
     -->
    <span class="fas">&#xf0f3;</span>
    
</body>
</html>

通过实体来使用图标字体:&#x图标的编码;

<span class="fas">&#xf0f3;</span>

同时,也可以使用阿里图标字体库。

6.3 行高(line height):

行高指的是文字占有的实际高度

可以通过line-height来设置行高

  • 行高可以直接指定一个大小(px em)
  • 也可以直接为行高设置一个整数
  • 如果是一个整数的话,行高将会是字体的指定的倍数
  • 行高经常还用来设置文字的行间距
  • 行间距 = 行高 - 字体大小

字体框

  • 字体框就是字体存在的格子,设置font-size实际上就是在设置字体框的高度

行高会在字体框的上下平均分配

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div{
            font-size: 50px;

            /* 可以将行高设置为和高度一样的值,使单行文字在一个元素中垂直居中 */
            line-height: 200px;
            border: 1px red solid;

            /* line-height: 1.33; */
            /* line-height: 1; */
            /* line-height: 10 */
        }
    </style>
</head>
<body>
    
    <div>今天天气这不错 Hello hello 今天天气这不错 Hello hello 今天天气这不错 Hello hello 今天天气这不错 Hello hello</div>

</body>
</html>

6.4 字体的简写属性:

6.4.1 font :

可以设置字体相关的所有属性

语法:

  • font: 字体大小/行高 字体族
  • 行高 可以省略不写 如果不写使用默认值,会覆盖掉之前所设置的行高。
/* font-size: 50px;
            font-family: 'Times New Roman', Times, serif; */
       
       font:50px 'Times New Roman', Times, serif

这两者是等价的。

6.4.2 font-weight:

字重 字体的加粗

  • normal 默认值 不加粗
  • bold 加粗
  • 100-900 九个级别(没什么用)

6.4.3 font-style:

字体的风格

  • normal 正常的
  • italic 斜体
 font-weight: bold; 
 font-weight: 500;
 font-style: italic; 

6.5 文本的样式:

6.5.1 text-align:

文本的水平对齐:

  • left 左侧对齐
  • right 右对齐
  • center 居中对齐
  • justify 两端对齐

6.5.2 vertical-align:

设置元素垂直对齐的方式:

  • baseline 默认值 基线对齐
  • top 顶部对齐
  • bottom 底部对齐
  • middle 居中对齐

6.5.3 text-decoration:

设置文本修饰

  • none 什么都没有
  • underline 下划线
  • line-through 删除线
  • overline 上划线
text-decoration: overline;
text-decoration: underline red dotted;

6.5.4 white-space:

设置网页如何处理空白

  • normal 正常
  • nowrap 不换行
  • pre 保留空白
			white-space: nowrap;
            overflow: hidden;
			//显示省略号				
            text-overflow: ellipsis;

6.6 背景:

6.6.1 background-image:

设置背景图片

  • 可以同时设置背景图片和背景颜色,这样背景颜色将会成为图片的背景色
  • 如果背景的图片小于元素,则背景图片会自动在元素中平铺将元素铺满
  • 如果背景的图片大于元素,将会一个部分背景无法完全显示
  • 如果背景图片和元素一样大,则会直接正常显示
background-image: url("./img/1.png");

6.6.2 background-repeat:

用来设置背景的重复方式

  • repeat 默认值,背景会沿着x轴 y轴双方向重复
  • repeat-x 沿着x轴方向重复
  • repeat-y 沿着y轴方向重复
  • no-repeat 背景图片不重复
background-repeat: no-repeat;

6.6.3 background-position:

用来设置背景图片的位置

  • 通过 top left right bottom center 几个表示方位的词来设置背景图片的位置
  • 使用方位词时必须要同时指定两个值,如果只写一个则第二个默认就是center
  • 通过偏移量来指定背景图片的位置:水平方向的偏移量 垂直方向变量
background-position: center;
background-position: -50px 300px;

6.6.4 background-color:

设置背景颜色

background-color: #bfa;

6.6.5 background-clip:

设置背景的范围

  • border-box 默认值,背景会出现在边框的下边
  • padding-box 背景不会出现在边框,只出现在内容区和内边距
  • content-box 背景只会出现在内容区
background-clip: content-box;

6.6.6 background-origin:

背景图片的偏移量计算的原点

  • padding-box 默认值,background-position从内边距处开始计算
  • content-box 背景图片的偏移量从内容区处计算
  • border-box 背景图片的变量从边框处开始计算
background-origin: border-box;

6.6.7 background-size:

设置背景图片的大小

  • 第一个值表示宽度,第二个值表示高度
  • 如果只写一个,则第二个值默认是 auto
  • cover 图片的比例不变,将元素铺满
  • contain 图片比例不变,将图片在元素中完整显示
background-size: contain;

6.6.8 background-attachment:

背景图片是否跟随元素移动

  • scroll 默认值 背景图片会跟随元素移动
  • fixed 背景会固定在页面中,不会随元素移动
background-attachment: fixed;

6.6.9 background:

背景相关的简写属性,所有背景相关的样式都可以通过该样式来设置,并且该样式没有顺序要求,也没有哪个属性是必须写的

  • background-size必须写在background-position的后边,并且使用/隔开
  • background-position/background-size
  • background-origin background-clip 两个样式 ,orgin要在clip的前边
background: url('./img/2.jpg') #bfa  center center/contain border-box content-box no-repeat ;

6.7 渐变:

通过渐变可以设置一些复杂的背景颜色,可以实现从一个颜色向其他颜色过渡的效果

!!渐变是图片,需要通过background-image来设置

6.7.1 linear-gradient():

线性渐变,颜色沿着一条直线发生变化

linear-gradient(red,yellow) 红色在开头,黄色在结尾,中间是过渡区域

线性渐变的开头,我们可以指定一个渐变的方向

  • to left
  • to right
  • to bottom
  • to top
  • deg deg表示度数
  • turn 表示圈
  • repeating 表示重复
background-image: linear-gradient(red,yellow,#bfa,orange);
background-image: linear-gradient(red 50px,yellow 100px, green 120px, orange 200px);
background-image: repeating-linear-gradient(to right ,red, yellow 50px);

6.7.2 radial-gradient():

默认情况下径向渐变的形状根据元素的形状来计算的

  • 正方形 --> 圆形
  • 长方形 --> 椭圆形

我们也可以手动指定径向渐变的大小

  • circle
  • ellipse

也可以指定渐变的位置

radial-gradient(大小 at 位置, 颜色 位置 ,颜色 位置 ,颜色 位置)

  • circle 圆形
  • ellipse 椭圆
  • closest-side 近边
  • closest-corner 近角
  • farthest-side 远边
  • farthest-corner 远角
  • top right left center bottom
background-image: radial-gradient(farthest-corner at 100px 100px, red , #bfa)

参考教程:尚硅谷 HTML+CSS b站教程

以上就是本章节的笔记整理,后续也会继续坚持更新我的HTML+CSS学习笔记。

如有错误,欢迎提出指正,在评论区和我一起交流。

往期回顾:
(二)CSS基础
(三)CSS布局
(四)CSS浮动
(五)CSS定位

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值