2021-08-27

前端基础: HTML 和 CSS

一、HTML 初识

(1)基础认知

1、网页组成:文字、图片、超链接、音频,视频等

网页本质:前端程序员写的代码(F12)

代码通过浏览器转换成网页(渲染)

2、五大浏览器:IE、Firefox、Chrome(市场份额最多,速度快,效果好)、Safari(apple)、Opera

渲染引擎:浏览器内核

前端工程师常用浏览器:Chrome

3、web标准的构成:让不同的浏览器按照相同的标准显示结果,让展示的效果统一。

构成:结构层,表现层,行为层。

结构层:HTML(页面元素)和内容

	HTML(超文本标记语言)

	构建基本网页的步骤:新建文字变粗.txt;添加内容并保存;修改后缀为.html;双击文字变粗.html。

例:我要变粗

HTML固定结构:整体、头部、标题、主体

<head>

	<title>网页标题</title>

</head>

<body>

	网页的主体内容

</body>

开发工具:VS Code(速度快、体积小、插件多)

VS Code 快捷键:

1、快速生成标签:英文+ tab

2、保存文件:Ctrl+s

3、快速查看网页效果 : alt + b

4、快速生成结构标签:!(英文)+ tab

注释:ctrl + /

		<!--注释内容-->

表现层:CSS(页面样式)

行为层:JavaScript(页面交互)

(2)HTML标签学习

双标签、单标签(


标签的属性:属性名=“属性值”

标签之间关系:父子关系、兄弟关系

标题标签:

文字内容

(h1~h6,大小逐级递减,独占一行,文字都加粗)

段落标签:

内容

(段落之间存在间隙,独占一行)

换行标签:
(强制换行)

水平线 标签:


(在页面中显示出一条水平线)

文本格式化标签:b加粗、u下划线、i倾斜、s删除线

strong 、ins 、em、 del (标签语义化要求)

图片标签:

src 属性:目标图片的路径

alt 属性:替换文本(加载失败后显示)

title 属性:提示文本(鼠标悬停是,才显示的文本)

width 和 height 属性:只设置其中一个,等比例缩放
绝对路径:从根盘符开始

相对路径(常用):从当前文件开始出发找目标文件

同级目录:直接写目标文件名(./)

下级目录:文件夹名/目标文件名(./)

上级目录:…/ 目标文件名(…/)

音频标签:<audio src="" controls/autoplay/loop >

视频标签:

<video src="" controls/autoplay/loop/muted>

链接标签:超链接

空链接:回到顶部

列表标签:无序列表ul(li),有序列表ol(li),自定义列表dl(dt,dd)

表格标签:table表示表格整体,tr表示表格的每一行,td表示表格的单元格

表格相关属性:border/width/height=“数字”

表格大标题:标题

表头单元格:内容

表格的结构标签:表格头部(thead)、表格主体(tbody)、表格底部(tfoot)

合并单元格:合并单元格的个数(rowspan/clospan),前者跨行,后者跨列
表单标签:input/button/select/textarea/label

input标签:通过type属性值的不同,展示不同效果

type属性:text/password/radio/checkbox/file/submit/reset/button

文本框text:placeholder(占位符,提示用户输入内容的文本)

value属性:用户输入的内容,提交之后发送给后台服务器

name属性:当前控件的含义,提交后可以告诉后端发送过的数据是什么含义

后端数据格式:name的属性值=value的属性值

密码框password:placeholder(占位符,提示用户输入内容的文本)

单选框radio:name/checked(默认选中)

复选框checkbox:checked(默认选中)

文件选择框file:multiple(多文件选择)

按钮:submit/reset/button(value)

form标签

button标签:type 属性值有submit/reset/button

下拉菜单select:select标签和option标签

selected默认选中

textarea文本域标签:cols属性和rows属性

label 标签:绑定内容与表单标签的关系

语义化标签:没有语义化标签(div/span)和有语义化标签(header/nav/footer/aside/section/article)

字符实体:多个空格、缩进、换行浏览器只解析一个空格

空格   小于号 < 大于号>
CSS基础认知

CSS:层叠样式表(给HTML标签设置样式)

常见属性:color/font-size/background-color/width/height

CSS引入方式:内嵌式、外联式、行内式

基础选择器:标签选择器、类选择器、id选择器、通配符选择器

标签选择器:标签名{css属性名:属性值;}

类选择器:.class值{css属性名:属性值;}

多个类名之间空格隔开,类名可以重复

Id选择器:#id 属性值{css属性名:属性值;}

id值唯一且不重复,类似身份证号码

通配符选择器:*{css属性名:属性值;}

字体和文本样式:

字体大小:font-size:数字+px;

谷歌默认 16px

字体粗细:font-wieght:normal(400)/bold(700)

字体样式:font-style:normal/italic

常见字体系列:无衬线字体sans-serif,衬线字体serif,等宽字体monospace

font-family:楷体/宋体/微软雅黑;

样式层叠问题:覆盖,写在最下面的会生效

font:style weight size family;(swsf)
文本缩进:text-indent,属性值:数字+px/em(1em=font-size)

文本水平对齐:text-align,属性值:left/center/right

文本修饰:text-decoration,属性值:underline/line-through/overline/none

去除a标签的默认下划线:text-decoration:none;

水平居中:

text-align:文本,span,input,a,img

text-align给以上的父元素设置

margin:0 auto;直接给当前元素设置(大盒子div,p,h固定宽度)

行高:line-height:数字+px/倍数(font-size)

font和行高:font:style weight size/line-height family;

颜色取值:关键字,rgb,rgba,十六进制
选择器进阶:复合选择器,并集选择器,交集选择器,Emmet语法,hover伪类选择器

后代选择器:选择器1 选择器2{css}(孙子,重孙等)

子代选择器:选择器1>选择器2{css}

并集选择器:选择器1,选择器2{css}

交集选择器:选择器1选择器2{css}

Emmet语法

标签名:div

类选择器:.red(div)

id选择器:#one(div)

指定标签:指定标签类选择器id选择器

子代选择器:ul>li

生成文本:div{我是内容}

ul>li{我是内容}

同时创建多个:个数 ul>li10

hover伪类选择器:选中鼠标悬停在元素上的状态,设置样式

语法:选择器:hover{css}

背景相关属性:颜色(background-color)bgc

背景图片:background-img:url("******")bgi
背景平铺:background-repeat(bgr)

属性值:repeat/no-repeat/repeat-x/repeat-y

背景位置:background-position(bgp)

属性值:水平方向位置 垂直方向位置

方位:

水平方向:left/center/right

垂直方向:top/center/bottom

数字+px:原点(盒子左上角)、y轴(垂直向下)、x轴(水平向右)

背景相关属性连写:background(bg)

属性值:color/image/repeat/position

省略:可以按需求省略

img标签和背景图片的区别:img是一个标签,有默认的宽高,背景图片(必须保证当前的标签有宽高)

元素显示模式:块级元素、行内元素、行内块级元素、元素显示模式的转换

块级元素:display:block(独占一行,宽度默认是父元素的宽度,高度默认由内容撑开)

例:div

行内元素:display:inline(一行可以显示多个,宽度和高度默认由内容撑开,不可以设置宽高)例:a/span…’

行内块级元素:display:inline-block(一行可以显示多个,可以设置宽高)

img标签由行内块级元素的特点,但是调试工具显示inline

例:input/textarea/button/select…

元素显示模式转换:display:block/inline-block/inline

HTML嵌套注意:P标签中不要嵌套div、p、h等块级元素;a标签不能嵌套a标签

居中方法总结:水平居中 垂直居中

text-algin: center 文本/行内元素/行内块级元素(直接给以上元素的父元素设置即可)

margin: 0 auto 块级元素(直接给当前元素设置)

line-height:单行文本

css 三大特性:继承性、层叠性、优先级

继承性:子元素默认继承父元素的特性

color、font、text、line-height…
继承的小应用:可以一定程度减少代码

可以直接给ul设置list-style:none 属性,从而去除列表默认的小圆点

· 直接给body标签设置统一的font-size,从而统一不同浏览器默认文字大小

继承失效:a标签的color会继承失效,h系列标签的font-size会继承失效,div标签的高度不能继承,但宽度有类似于继承的效果

层叠性:样式叠加,样式覆盖

优先级:css 权重

优先级公式:继承<通配符选择器 <标签选择器 <类选择器 <id选择器 <行内样式 <!important

权重叠加计算:复合选择器中(第一级(行内样式),第二级(id选择器),第三级(类选择器),第四级(标签选择器))
盒子模型:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)

内容区域的宽和高:width、height

边框border:border-width、border-style(solid/dashed/dotted)、border-color

连写:border:10px solid red;

单方向设置:border-方位名词

盒子大小实际大小初级计算:

需求:盒子尺寸400×400,背景绿色,表框10px 黑色

width :380px

height:380px

backgroud-color:green;

border : 10px solid black;

内边距padding:一个值(上下左右都设置成一样的),两个值(上下一样,左右一样),三个值(上,左右,下),四个值(上,右,下,左)

盒。子实际大小终极计算公式:width +padding-left+padding-rights+border-left+ border-right,

height+padding-top+ padding-bottom + border-top+border-bottom
不会撑大盒子的例子:块元素(如果子盒子没有设置宽度,此时默认是父盒子的宽度;此时给子盒子设置左右的padding或者左右的border,此时不会撑大子盒子)

css3 盒模型:手动内减,自动内减

自动内减:设置一个属性(css3盒模型 box-sizing:border-box)

外边距:margin(盒子与盒子之间的距离)

属性值:一个值(上右下左),两个值(上下,左右),三个值(上,左右,下),四个值(上,右,下,左)

margin单方向设置:margin-left,margin-right,margin-top,margin-bottom

请除默认内外边距:body 默认由margin:8px;p 标签默认有上下的margin;ul标签默认由上下margin和padding-left…

外边距正常情况:水平布局的盒子,左右的margin正常,互不影响,最终两者的距离为左右margin的和

外边距折叠现象:合并现象(垂直布局的块级元素,上下的margin会合并,最终两者距离为margin的最大值);塌陷现象(互相嵌套的块级元素,子元素的margin-top 会作用在父元素上,导致父元素一起往下移动;解决方法(给父元素设置border-top或者padding-top(分隔父子元素的margin-top),给父元素设置overflow:hidden,转换成行内块级元素,设置浮动)

行内元素的margin和padding无效情况:水平方向的margin和padding布局中有效!垂直方向的margin和padding布局中无效!

结构伪类选择器:E:first-child{};E:last-child{};E:nth-child(n){};E:nth-last-child(n){}(匹配父元素中的第几个子元素,并且是E元素)

n为:0,1,2,3,4,5…

偶数:2n,even

奇数:2n+1,2n-1,odd

找到前五个:-n+5

找到从第五个往后:n+5

结构为中的易错点:li a:first-child{}

nth-child—>直接在所有孩子中数个数

nth-of-type—>先通过该类型找到符合的一堆子元素,再在子元素中数个数

伪元素:一般页面中非主体内容可以使用伪元素(由css模拟出的表现效果),必须设置content属性才能生效,伪元素默认是行内元素

::before 在父元素内容的最前面添加一个伪元素

::after 在父元素内容的最后添加一个伪元素

标准流:文档流,浏览器渲染规则

	块级元素:从上往下,垂直布局,独占一行

	行内元素或行内块级元素:从左往右,水平分布,空间不够自动折行
	浮动:早期(图文环绕)、现在(网页布局)

float:left/right

浮动的特点:脱离标准流(在标准流中不占位置);浮动元素比标准流高半个级别,可以覆盖标准流元素;浮动找浮动;浮动元素会受到上界元素的影响;浮动元素有特殊效果(可以设置宽高,一行可以显示多个)

注意:浮动的元素不能通过text-align:center或者margin:0 auto,让浮动元素水平居中(浮动内容可以水平居中)

清除浮动:影响(如果子元素浮动了,不能撑开标准流的父元素)

目的:需要父元素有高度

方法:直接设置父元素的高度;额外标签法(给父元素内容的最后添加一个块级元素,给添加的块级元素设置clear:both;缺点:使html的标签结构变得复杂);伪元素清除法(.clearfix::after{content:‘’;display:block;clear:both;height:0;visibility:hidden;});双伪元素清除法(.clearfix::before,.clearfix::after{content:"";display:table;}).clearfix{clear:both;};给父元素设置overflow:hidden;

块格式化上下文:BFC

创建BFC的方法:html标签,浮动元素是BFC盒子,行内块元素是BFC盒子,overflow属性取值不为visible。如:auto,hidden…

BFC盒子常见特点:默认包裹内部子元素(清除浮动),与子元素之间不存在margin的塌陷现象(解决margin的塌陷)
标准流,浮动(块级元素变成水平布局),定位(盒子之间的层叠情况)

定位的基本介绍:可以解决盒子与盒子之间的层叠问题,可以让盒子始终固定在屏幕中的某个位置

定位的基本使用:position:static、relative absolute、fixed

设置偏移值:就近原则(left/right、top/bottom、数字+px)

静态定位:position:static(标准流默认)

注意:静态定位不能通过方位属性进行移动;定位一般不包括静态定位

相对定位:position:relatitive (相对自己之前的位置进行移动)

应用场景:配合绝对定位组CP(子绝父相);用于小范围的移动

绝对定位:(相对于非静态定位的父元素进行移动)

祖先元素中没有定位---->默认相对于浏览器进行移动

祖先元素中有定位—>相当于最近有定位的祖先元素进行移动
子绝父相:子元素绝对定位,父元素相对定位(是否脱标,所以子绝父绝不常用)

场景:让子元素相对于父元素进行自由移动

子绝父绝:在使用子绝父相的时候,发现父元素已经有绝对定位,此时直接子绝即可

固定定位:可视区域进行定位(position:fixed)

特点:需要配合方位属性实现移动;在页面中不占位置(脱标)

元素的层级关系:不同布局方式之间的层级关系(标准流<浮动<定位);不同定位之间的层级关系(相对,绝对,固定默认层级相同,htmlz中写在最下面会覆盖)

更改定位元素的层级:z-index:数字(数字越大,层级越高)

垂直对齐方式:vertical-align:baseline/top/middle/bottom(行内元素,行内块级元素)

应用:1、文本框和表单按钮无法对齐;

2、input和img无法对齐;

3、div中的文本框,文本框无法贴顶;

4、div不设高度由img标签撑开,此时img标签下面会存在额外间隙问题;

5 使用line-height让img标签垂直居中

光标类型: cursor:default(箭头)、pointer(小手)、text(工字形)、move(十字光标)

边框圆角:border-radius:数字+px、百分比

overflow:溢出部分(盒子的内容部分超出盒子范围的区域)

属性值:visible(默认值,可见),hidden(隐藏),scroll(滚动条显示)、auto(根据是否溢出,自动显示滚动条)

元素本身隐藏:visibility:hidden(隐藏,占位置);display:none(隐藏,不占位置)

元素整体透明度(包括内容):opacity:0-1数字(1完全不透明,0完全透明);注意点(会让元素整体透明)

边框合并:border-collapse:collapse;让相邻表格边框进行合并,得到细线边框效果(给table标签设置)

链接伪类选择器:常用于选择超链接的被选中的状态

a:link{}未访问过,a:visited{} 访问过,a:hover{}悬停、a:active{}鼠标按下

注意点:要按照哦HLVA的顺序书写

焦点伪类选择器:用于选中元素获取焦点事的状态,常用语表单控件

选择器语法:input:focus{}

效果:表单控件获取焦点时默认会显示外部轮廓线

属性选择器:标签名[属性名=属性值]:{}或者标签名[属性名]:{}
精灵图:项目中将多个小图片,合并成一张大图片,这张图片称之为精灵图

优点:减少服务器发送次数,减轻服务器的压力,提高页面加载速度

精灵图的使用步骤:创建一个盒子;通过PxCook量取小图片大小,将小图片的宽高设置给盒子;将精灵图设置为盒子的背景图片;通过PxCook测量小图片左上角图标,分别取负值设置给盒子的background-position:x,y;

背景图片大小:background-size:宽度 高度

属性值:数字+px、百分比、contain、cover

background连写:background:color image repeat position/size

文字阴影:text-shadow:h-shadow、v-shadow、blur(模糊度)、color;(前面三个都是数字+px)

多个阴影可以叠加设置,以逗号隔开

盒子阴影:box-shadow:h-shadow、v-shadow、blur、spread(阴影扩大)、color、inset(改为内部阴影)

过渡:transition(常配合hover使用,增强网页交互式体验),给元素本身设置

过渡属性:al(能过渡的属性都过渡)l;width…

过渡时长:数字+s(秒)

例:transition:width 1s,background-color 1s;

注意:给默认状态设置,鼠标移入移出都有过渡效果;给hover状态设置,鼠标移入过渡,移出没有过渡

网页与网站的关系:网站是多个网页的集合(类似于书与页的关系)

骨架结构标签介绍:文档类型声明,HTML版本说明 HTML5;<html lang=‘en’》标识网页使用的语言;标识网页使用的字符编码;

SEO:搜索引擎优化(让网站在搜索引擎上排名靠前);1、竞价排名2、将网页制作成html后缀、3、标签语义化…

SEO三大标签:title、description(网页描述标签)、keywords(网页关键词标签)

有语义化的布局标签:header(网页头部)、nav(网页导航)、footer(网页底部)、aside(网页侧边栏)、section(网页区块)、article(网页文章)

cio图标设置:

版心:把页面的主体内容约束在网页中间

代码:.container{

	width 1240px;

	margin:0 auto;

}

CSS书写顺序:布局属性,盒子模型+背景,文本内容属性,点缀属性
基础公共样式(base.css):防止不同浏览器中标签默认样式不同的影响,统一不同浏览器的默认显示效果,方便后续项目的开发。

index 页面骨架设置:引入base.css、common.css、index.css

Header部分开发:快捷菜单xtx-shortcut、主导航xtx-main-nav

footer部分开发

移动端web:css3、flex、移动适配(游乐园、B站首页)、响应式网站(bootstrap)

字体图标:引入字体图标样式表;有几个内容,有几个标签
字体图标svg上传:IconFont网站上传矢量图生成字体图标

平面转换:transform属性实现元素的位移、旋转、缩放等效果;2D转换;

位移:transform:translate(水平距离,垂直移动距离);取值(数字+px/百分比(自身宽高))

位移技巧:translate()如果只给出一个值,表示x轴方向移动距离;单独设置某个方向的移动距离:translateX() & translateY()

定位盒子居中:transform:translate(-50%,-50%);

平面转换旋转:使用rotate实现元素旋转;transform:rotate(角度);单位deg;正顺负逆

转换原点transform-origin:改变转换原点;transform-origin:原点水平位置 原点垂直距离;取值(方位名词;像素单位数值、百分比(以自身为标准))

缩放:使用scale改变元素的尺寸;transform:scale(x轴缩放倍数,y轴缩放倍数)或者transform:scale(缩放倍数)等比例缩放;取值以1为分界线

渐变:使用background-image属性实现渐变背景效果;一般用于设置盒子的背景;background-image:linear-gradient(颜色一,颜色二);例:transparent,rgba(0,0,0,.6);

空间转换:使用transform属性实现元素在空间内的位移、旋转、缩放等效果;3D转换

空间位移:translate3d(x,y,z);translateX()、translateY()、translateZ()

透视:使用perspective属性实现透视效果

产生近大远小,近实远虚,添加给父级数值一般是800-1200,单位px

perspective:值---->表示人的眼睛到屏幕的距离

空间旋转:rotateZ(值)、rotateX(值)、rotateY(值)、rotate3d(x,y,z,角度度数),x,y,z取值为0-1之间的数字

立体呈现:transform-style:preserve-3d呈现立体图形

实现方法;添加transform-style:preserve-3d;使子元素处于真正的3d空间;按需求设置子盒子的位置(位移或旋转)

空间缩放:使用scale实现空间缩放效果

scaleX/Y/Z(倍数);scale3d(x,y,z);

动画:使用animation添加动画效果

效果:实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)

最小单元:帧或动画帧

动画实现步骤:

1、定义动画

两个部分

@keyframes 动画名称{

from{}

to{}

}

多个部分

@keyframes 动画名称{

0%{}

10%{}

15%{}

100%{}

}

2、使用动画

animation:动画名称 动画花费时长;

animation相关属性:动画名称 动画时长 速度曲线(linear匀速/steps(3)分步动画) 延迟时间 重复次数(infinite无限循环) 动画方向(alternate) 执行完毕时状态(backwords(默认值)/forwards);

animation-name;animation-duration;animation-play-state:paused;(暂停,配合hover使用)

逐帧动画:animation-timing-function:steps(数字)

准备显示区域;定义动画;使用动画;

多组动画:animation:动画1,动画2,动画N;

走马灯:无缝动画(复制显示区域开始部分在末尾)

overflow:hidden

移动web端

移动端特点:没有版心;与pc端分开的(网站不同)

pc端:屏幕大,网页固定版心;

谷歌模拟器

屏幕尺寸:设备对角线的长度,英寸

pc分辨率:1920*1080;物理分辨率,逻辑分辨率(软件驱动)

PC端、移动端:网页参照逻辑分辨率

meta标签设置视口宽度,制作适配不同设备宽度的网页

百分比布局:宽度自适应,高度固定

Flex布局:弹性布局(浏览器提倡的布局模型);布局网页更简单、灵活;避免浮动脱标的问题

设置方式:父元素添加display:flex,子元素可以自动挤压或拉伸

组成部分:弹性容器、弹性盒子、主轴、交叉轴/侧轴

使用justify-content调节元素在主轴的对齐方式

属性值:flex-start、flex-end、center、space-around、space-between、space-evenly

使用align-items调节元素在侧轴的对齐方式

属性值:flex-start、flex-end、center、stretch(拉伸,测试时去掉子集的高度)

align-self:控制某人弹性盒子在侧轴的对齐方式(添加到弹性盒子)

侧轴默认是stretch

弹性伸缩比:使用flex属性修改弹性盒子伸缩比

取值:整数(占用父盒子剩余尺寸的分数)

修改主轴方向:flex-direction(改变元素排列方向)

属性值:row(默认值)、column、row-reverse、column-reverse

侧轴跟着一起改变

弹性盒子换行:flex-wrap:nowrap/wrap

调整行对齐方式:align-content:取值与justify-content基本相同

移动适配:网页元素与设备的宽高设备适配

rem:目前多数企业在用的解决方案

vw/vh:未来的解决方案

rem:使用rem单位设置网页元素的尺寸;相对单位(相对于HTML标签的字号);html{

font-size:20px;};

媒体查询:检测视口的宽度,编写差异化的css样式

@media(媒体特性){

选择器{

css属性

}

}

@media(width:320px){

html{

font-size:32px

}

}

font-size:视口宽度的十分之一

flexible.js配合rem实现不同宽度的设备中

css不支持计算写法

Less:完成px单位到rem单位的转换;css预处理器;扩充css语言,使css具备一定的逻辑性,计算能力

Less语法:变量(存储数据,方便使用和修改);定义变量(@变量名:值;),使用变量名css属性:@变量名;

less导入其他less文件:@import “文件路径”;

导出CSS文件:配置Easyless插件;单独导出// out: ./abc(第一行)

禁止导出:在less文件的第一行添加://out : false

vw/vh:vw单位设置网页元素的尺寸(相对于视口的尺寸);viewport width (1vw = 1/100视口宽度)、viewport height(1vh=1/100视口高度);vh/vw不能混用

响应式:一套代码适应不同设备

媒体查询:根据条件不同,样式不同

max-width(从大到小);min-width(从小到大)(层叠性)

完整写法:@media 关键词 媒体类型 and(媒体类型){CSS 代码}

关键词:and、only、not

媒体类型:screen、print、speech、all

媒体查询-link写法:<link rel=“stylesheet” media="逻辑符 媒体类型 and (媒体特性)” href = “xx.css”>

媒体隐藏:隐藏内容

Bootstrap:快速开发响应式网页

栅格系统:等分12份

超小屏幕(<768px):col-xs-*

小屏幕(>=768px):col-sm-*

中屏幕(>=992px):col-md-*

大屏幕(>=1200px):col-lg-*

注意:container类自带间距15px

row类自带间距-15px

container-fluid 宽度100%

内容少;

电商站;pc和移动端分开

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值