2020面经-CSS部分

1、px、em、rem说一下?

具体可看链接

vw、vh、rem、em、px的区别

px
px是绝对单位,1px就是一个像素点

em
em是相对单位,是相对于父级的font-size

rem
rem是相对单位,是相对于html的font-size

vw
vw是相对单位,相对于视口宽度,1vw是视口宽度的 1%

vh
vh是相对单位,相对于视口的高度,1vh是视口高度的 1%

rem为什么可以实现自适应布局,在不同手机端的表现是什么

rem(root em),其中em是父元素字体大小,rem的基准是相对于html元素的字体大小,比如根元素12px,非跟元素width:2rem,就是24px

使用媒体查询,来控制不同屏幕下的html的字体大小即可。

假如一个需求:有个设计图750,在这个图纸上有个div,量出来是 :200px * 200px;
首先我们可以考虑将750的设计稿分为15份(当然那也可以分成10份,这个随意,我为了好计算。), 即要把屏幕分成 :750px = 15rem;
那么就是:750的屏幕 :1rem = 50px ; font-size = 50px;
以此内推:480的屏幕:1rem = 480 / 15 = 32px , font-size= 32px ;
350的屏幕:1rem= 350 / 15 = 23.33px ,font-size= 23.33px ;
320的屏幕:1rem= 320 / 15 = 21.33px ,font-size= 21.33px ;


2 如何实现一个元素水平、垂直居中?

已知宽高
1、利用定位


position: absolute;
top: 0;
right: 0;
bottom: 0;
margin: auto;
position:absolute, 
left :50%;
top :50%; 
margin-left:-width/2; 
margin-top: -height/2;

2、table-cell

display: table-cell; 
text-align: center; //水平居中
vertical-align: middle; //垂直居中
//子盒子:margin:auto???

未知宽高
1、弹性盒子flex

display:flex;
justify-content:center;
align-items:center;

2、定位+transform

position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);

margin:
填充规则
(1) 如果一侧定值,一侧auto,则auto为剩余空间大小
(2) 如果两侧均是auto,则平分剩余空间
不加定位的话,是没有触发magin: auto的剩余空间计算属性的,因为宽度能够在水平方向自动填充,而高度则不能,所以常规下不加四个定位属性是能够水平居中,而加了定位属性就具有上下左右方向自动填充的特性,就会触发magin: auto的剩余空间计算
table-cell
display:table-cell指让标签元素以表格单元格的形式呈现,使元素类似于td标签。IE8+及现代版本的浏览器都支持此属性,IE6/7不支持(可用其他方法实现类似效果)。同样,display:table-cell属性也会被float,position:absolute等属性破坏效果,应避免同时使用。

设置了display:table-cell的元素:

对宽度高度敏感

对margin值无反应

响应padding属性

内容溢出时会自动撑开父元素

3 如何居中一个浮动元素?

浮动元素的上下左右居中:

float: left;
position: absolute;
width: 200px;
height: 100px;
left: 50%;
top: 50%;
margin: -50px 0 0 -100px;
//这里用transform也可以的~

4 display有哪些值?说明他们的作用?

inline(默认)–内联
none 隐藏
block–块显示
table–表格显示
list-item–项目列表

block:转换成块状元素

inline:装换成行内元素

none:设置元素不可见

inline-block:想行内元素那样显示,但是其内容像块类型元素一样显示

list-item:想块类型元素一样显示,并添加样式列表标记

table:此元素会作为块级表格来显示

inherit:规定应该从父元素继承display属性的值


5 CSS选择第一个元素、最后一个元素、3的整数倍子元素。

在这里插入图片描述
p:first-child表示选择父元素下的第一个子元素 p,而不是选择 p 元素的第一个子元素。结构伪类选择器中,子元素的序号是从 1 开始的,也就是说,第一个子元素的序号是 1,而不是 0。换句话说,当参数 n 的计算结果为 0 时,将不选择任何元素。
E:nth-child(n)
E:nth-child(n) 用于选择某个父元素的一个或多个特定的子元素。n 表示不确定的数字,th 是英语中序数词的后缀。因此,nth-child 就表示第 n 个子元素。该选择器的参数 n 可以是数字、公式或关键字:

1)数字:可以是任何大于 0 的正整数。如,.tab li:nth-child(2),表示选择 class 为 .tab 的父元素下,第 2 个 li 子元素。

2)公式:格式为 (an + b)。其中,a表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。如,:nth-child(n+4) 选取序号大于等于 4 的元素,:nth-child(-n+4) 选取序号小于等于 4 的元素,:nth-child(2n) 选取序号为偶数的元素,:nth-child(2n+1) 选取序号为奇数的元素,:nth-child(3n) 选取序号为3、6、9…的子元素(即“隔二选一”),:nth-child(3n+1) 选取序号为1、4、7、10…的子元素,等等。

3)关键字:只有odd 和 even 两个关键字。odd表示选取序号为奇数的元素,效果等同于 :nth-child(2n-1) 和 :nth-child(2n+1);even表示选取序号为偶数的元素,效果等同于 :nth-child(2n)。


6 说一下伪类和伪元素的区别?(区别有三

伪类和伪元素的根本区别在于:它们是否创造了新的元素。
伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。

伪类的效果可以通过添加实际的类来实现
伪元素的效果可以通过添加实际的元素来实现
所以它们的本质区别就是是否抽象创造了新元素

注意:
伪类只能使用“:”
而伪元素既可以使用“:”,也可以使用“::”
因为伪类是类似于添加类所以可以是多个,而伪元素在一个选择器中只能出现一次,并且只能出现在末尾


7 CSS 伪类

用于向某些选择器添加特殊的效果。
在这里插入图片描述

伪类存在的意义是为了通过选择器找到那些不存在DOM树中的信息以及不能被常规CSS选择器获取到的信息。

第一点讲的是获取不存在与DOM树中的信息。比如标签的:link、visited等,这些信息不存在与DOM树结构中,只能通过CSS选择器来获取;

第二点讲的是获取不能被常规CSS选择器获取的信息。比如伪类:target,它的作用是匹配文档(页面)的URI中某个标志符的目标元素。

target:URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。
:target 选择器可用于选取当前活动的目标元素。


CSS 伪元素

用于将特殊的效果添加到某些选择器。
伪元素
在这里插入图片描述

伪元素包括:first-letter, :first-line, :before ,:after等
所有的伪元素都要写在伪元素选择器的最后面,如果这样写就会出错,


8 行内块元素之间会有间隙(代码换行导致的font-size=0),怎么清除这个间隙

原因是span发生了转行,可以把块级元素写在一行上,或者给父亲加font-size=0(兼容性稍差),又或者给span加上font-size


9.两个div采用绝对定位,设置层叠关系,需要设置什么:

z-index


10 css常用布局

http://zh.learnlayout.com/


11、回流重绘 为什么transform和opacity能够优化动画。

https://www.jianshu.com/p/e081f9aa03fb
transform生成的图层会直接交给合成线程,不影响主线程,不会发送回流和重绘)


12、为什么css要使用字面量。

(从渲染流程解释,在计算样式的阶段可以减少标准化css样式表的时间)


13、为什么不使用animation?

(回答了GPU会加速从图块到位图的转换,盲猜了一下应该有单独的进程处理animation动画,但是可能没有GPU快)


14. 说一下回流和重绘吧


15. BFC知道吗?生成bfc的方式?有哪些使用场景?(基础哈)

块级格式化上下文 BFC

官方解释

它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。当涉及到可视化布局的时候,BFC提供了一个环境,HTML元素在这个环境中按照一定规则进行布局。

BFC 的目的

目的:形成一个完全独立的空间,让空间中的子元素不会影响到外面的布局。(高度坍塌,两栏布局没有自适应等

如何触发 BFC

  1. floatleftright(不为None)
  2. positionabsolutefixed(不为relative/static)
  3. overflowautoscroll hidden
  4. displaytable-cellinline-block,flow-root

前面两条都是让元素脱离文档流。

能解决的问题

  1. 浮动元素的父元素高度塌陷

浮动元素脱离文档流,父元素检测不到浮动元素的高度,发生高度塌陷。

使父元素触发BFC即可,触发BFC后,容器中的子元素绝对不会影响到外面的元素。
触发后,就是一个独立的容器,子元素绝对不会影响到外面的元素,计算高度时不得不让浮动的子元素也参与进来
在这里插入图片描述

常用方法还有:

  1. 使用伪元素,并在伪元素上添加属性clear:both;复用不当会导致代码量增加
  2. 添加一个block的空元素,并设置clear:both;增加了无意义的标签
  3. 为父元素设置高度,缺点是不利于维护
  4. 让父元素也浮动起来,但是将错就错,影响之后的元素排列

2.解决自适应布局的问题
在这里插入图片描述

让自适应栏触发BFC,避免对其他栏产生影响。

3.解决外边距(margin)垂直方向重合的问题

兄弟元素之间的外边距在垂直方向上会取最大值而不是取和。

可以通过触发BFC来防止他们之间相互影响。

比如为其中一个元素的外面包裹一层父元素,并触发父元素BFC,比如设置overflow: hidden,这样就不会发生重叠了。

还可以使用padding来代替margin,但是这样会导致之后无法再用padding。
在这里插入图片描述

16 如何清除浮动?(说了四种)

上面有说

17 position的值?

static(默认):按照正常文档流进行排列;

relative(相对定位):不脱离文档流,参考自身在普通流中的位置

absolute(绝对定位):脱离文档流,参考距其最近一个
position/relative/fixed的父级元素(注意是父元素)

fixed(固定定位):所固定的参照对像是可视窗口。


19 解决居中和两个盒子在两边

justifycontent:space-between


20 父盒子中的子盒子浮动有什么后果

高度塌陷
需要清除浮动


21 用纯CSS创建一个三角形的原理是什么?

首先,需要把元素的宽度、高度设为0。然后设置边框样式。

width: 0;
height: 0;
border-top: 40px solid transparent;
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 40px solid #ff0000;


22 为什么清除,怎么清除浮动**

浮动脱离了正常文档流,会导致父元素高度塌陷,后面元素会挤到浮动元素下方,造成布局错乱。清除浮动:
1.父元素创建BFC,使其处于单独的块级渲染区域 overflow不为visible,float不为none,display值为flex grid inline-box table, position为absolute或fixed都可以创建。2.父元素的伪元素::after display:block,heght:0,visbility:hidden,clear:both,content:’.’

23、文本实现不换行,超出显示省略号

.text-overflow:ellipsis

white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;

24 css3中的anvas绘画

<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。

25 css动画特性可以用js实现,为什么还要用css实现

讨论一下CSS3的动画特性。用CSS3动画替代JS模拟动画的好处:

1. 不占用JS主线程;

2. 可以利用硬件加速;

3. 浏览器可对动画做优化(元素不可见时不动画,减少对FPS的影响)。
  https://www.cnblogs.com/maopengyu/p/3587544.html

26 怎么让子盒子上下居中(垂直居中)

https://www.qianduan.net/css-to-achieve-the-vertical-center-of-the-five-kinds-of-methods/

27 css选择器的优先级,子代/后代

!important 特殊性最高,详情访问重要性
对于内联样式,加1000(不建议使用,可以使用important
对于选中器中给定的ID属性值,加0100
对于选择器中给定的类属性值,属性选择或伪类,加0010
对于选择器中给定的元素选择器和伪元素,加0001.
结合符和通配符选择器对特殊性没有任何贡献,0000

28 CSS选择器有哪些?哪些属性可以继承?

CSS选择符:
id选择器(#myid)
类选择器(.myclassname)
标签选择器(div, h1, p)
相邻选择器(h1 + p)
子选择器(ul > li)
后代选择器(li a
通配符选择器(*)
属性选择器(a[rel=“external”])
伪类选择器(a:hover, li:nth-child)

可继承的属性:font-size, font-family, color
不可继承的样式:border, padding, margin, width, height

优先级(就近原则):!important > [ id > class > tag ]
!important 比内联优先级高

css优先级规则

在这里插入图片描述
优先级逐级增加的选择器列表:

通用选择器(*)
元素(类型)选择器
类选择器
属性选择器
伪类
ID 选择器
内联样式

一些经验法则:

Always 要优化考虑使用样式规则的优先级来解决问题而不是 !important
Only 只在需要覆盖全站或外部 css(例如引用的 ExtJs 或者 YUI )的特定页面中使用 !important
Never 永远不要在全站范围的 css 上使用 !important
Never 永远不要在你的插件中使用 !important

29 CSS3新增伪类有那些?

p:first-of-type 选择属于其父元素的首个元素
p:last-of-type 选择属于其父元素的最后元素
p:only-of-type 选择属于其父元素唯一的元素
p:only-child 选择属于其父元素的唯一子元素
p:nth-child(2) 选择属于其父元素的第二个子元素
:enabled :disabled 表单控件的禁用状态。
:checked 单选框或复选框被选中。

30 box-sizing属性?

用来控制元素的盒子模型的解析模式,默认为content-box
context-box:W3C的标准盒子模型,设置元素的 height/width 属性指的是content部分的高/宽

border-box:IE传统盒子模型。设置元素的height/width属性指的是border + padding + content部分的高/宽
如果设置了这个的话,当宽为20的盒子设置padding为10,那么宽就没有了,border,padding,margin也一样。会把盒子本身的高度弄没了,在页面布局中,容易发生状况吧

标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin,会把盒子撑大反正就是
低版本IE盒子模型:宽度=内容宽度(content+border+padding)+ margin

31 CSS3新特性

2.过渡 transition: CSS属性,花费时间,效果曲线(默认ease),延迟时间(默认0)
transition: width 1s linear 2s;
一般和hover配合使用

3.动画 animation:动画名称,一个周期花费时间,运动曲线(默认ease),动画延迟(默认0),播放次数(默认1),是否反向播放动画(默认normal),是否暂停动画(默认running)
animation: myfirst 5s;
@keyframes myfirst {
0% {background: block;}
25% {background: red;}
50% {background: yellow;}
100% {background: green;}
}

4.形状转换 transform:适用于2D或3D转换的元素

rotate(30deg); translate(30px,30px); scale(.8); skew(10deg,10deg); rotateX(180deg); rotateY(180deg); rotate3d(10,10,10,90deg);

transform: translate(50px,100px);//移动
transform: rotate();//旋转
transform: scale();//缩放
transform: skew();//倾斜
5.选择器

6.阴影 box-shadow: 水平阴影的位置 垂直阴影的位置 模糊距离 阴影的大小 阴影的颜色 阴影开始方向(默认是从里往外,设置inset就是从外往里);
h1 {//文字阴影
text-shadow: 5px 5px 5px red;
}
div {//盒子阴影
box-shadow: 10px 5px 5px yellow;
}

7.边框 border-image: 图片url 图像边界向内偏移 图像边界的宽度(默认为边框的宽度) 用于指定在边框外部绘制偏移的量(默认0) 铺满方式–重复(repeat)、拉伸(stretch)或铺满(round)(默认:拉伸(stretch));

8.背景
background-clip 制定背景绘制(显示)区域 background-origin background-size

1.(background-clip: border-box;)默认情况(从边框开始绘制) 2.(background-clip: padding-box;)从padding开始绘制(显示),不算border,,相当于把border那里的背景给裁剪掉! 3.(background-clip: content-box;)只在内容区绘制(显示),不算padding和border,相当于把padding和border那里的背景给裁剪掉!

9.反射 -webkit-box-reflect:方向[ above-上 | below-下 | right-右 | left-左 ],偏移量,遮罩图片

10.文字 换行 语法:word-break: normal|break-all|keep-all;、语法:word-wrap: normal|break-word; 超出省略号 text-overflow:clip|ellipsis|string

11.颜色 rgba(rgb为颜色值,a为透明度)
color: rgba(255,00,00,1);
background: rgba(00,00,00,.5);

12.渐变
background-image: radial-gradient
默认径向渐变,可以设置形象参数:circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形,
还能规定尺寸:closest-side
farthest-side
closest-corner
farthest-corner
重复的径向渐变
repeating-radial-gradient() 函数用于重复径向渐变:

13.Filter(滤镜):

定义了元素(通常是)的可视效果(例如:模糊与饱和度)。
https://www.runoob.com/cssref/css3-pr-filter.html
黑白色filter: grayscale(100%)、褐色filter:sepia(1)、饱和度saturate(2)、色相旋转hue-rotate(90deg)、反色filter:invert(1)、透明度opacity(.5)、亮度brightness(.5)、对比度contrast(2)、模糊blur(3px)

14.弹性布局 Flex

15.栅格布局 grid
http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html

16.多列布局
https://www.runoob.com/css3/css3-multiple-columns.html

17.盒模型定义
box-sizing:border-box的时候,边框和padding包含在元素的宽高之内! box-sizing:content-box的时候,边框和padding不包含在元素的宽高之内!

18.媒体查询 就在监听屏幕尺寸的变化,在不同尺寸的时候显示不同的样式!在做响应式的网站里面,是必不可少的一环!
body{
background: yellow;
}
@media screen and (max-width: 480px){
background: red;
}
19.多背景图
background: url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top repeat;

32 满屏品字布局怎么设计

        body {
            height: 100%;
            /*此设置非常关键,因为默认的body,HTML高度为0,所以后面设置的div的高度无法用百分比显示*/
        }
       
        .header {
            height: 50%;
            /*此步结合html,body高度为100%,解决元素相对窗口的定位问题*/
            width: 50%;
            background: #ccc;
            margin: 0 auto;
        }
        
        .main {
            width: 100%;
            height: 50%;
            background: #ddd;
        }
        
        .main .left,
        .main .right {
            float: left;
            /*采用float方式,对元素进行左右定位*/
            width: 50%;
            /*此步解决元素相对窗口的定位问题*/
            height: 100%;
            /*此步解决元素相对窗口的定位问题*/
            background: yellow;
        }
        
        .main .right {
            background: green;
        }

float好像也能设置为Inline让其不换行

33 常见的兼容性问题?

不同浏览器的标签默认的margin和padding不一样。
{margin:0;padding:0;}

IE6双边距bug:块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大。hack:display:inline;将其转化为行内属性。

渐进识别的方式,从总体中逐渐排除局部。首先,巧妙的使用“9”这一标记,将IE浏览器从所有情况中分离出来。接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。

{
background-color:#f1ee18;/所有识别/
.background-color:#00deff\9; /IE6、7、8识别/
+background-color:#a200ff;/IE6、7识别/
_background-color:#1e0bd1;/IE6识别*/
}

设置较小高度标签(一般小于10px),在IE6,IE7中高度超出自己设置高度。hack:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。

IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性。
解决方法:统一通过getAttribute()获取自定义属性。

Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示,可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决。

超链接访问过后hover样式就不出现了,被点击访问过的超链接样式不再具有hover和active了。解决方法是改变CSS属性的排列顺序
:L-V-H-A ( love hate ): a:link {} a:visited {} a:hover {} a:active {}

34 CSS里的visibility属性有个collapse属性值?在不同浏览器下以后什么区别?

当一个元素的visibility属性被设置成collapse值后,对于一般的元素,它的表现跟hidden是一样的。

collapse 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden”。

chrome中,使用collapse值和使用hidden没有区别。
firefox,opera和IE,使用collapse值和使用display:none没有什么区别。

35 display:none与visibility:hidden的区别?

display:none 不显示对应的元素,在文档布局中不再分配空间(回流+重绘)
visibility:hidden 隐藏对应元素,在文档布局中仍保留原来的空间(重绘)

两栏布局

1、将左侧div浮动,右侧div设置margin-left

/*方法1*/
.outer{
overflow: hidden; 
border: 1px solid red;
}

.sidebar{float: left;
width:200px;
height: 150px; 
background: #BCE8F1;
}

.content{
margin-left:200px;
height:100px;
background: #F0AD4E;}

2、固定区采用绝对定位,自适应区设置margin

/*方法2*/
.outer2{
position: relative;
height:150px; 
border: 1px solid red;
}
.sidebar2{
position: absolute;
left: 0;
top:0;
width:200px;
height:100%;
background: #BCE8F1;
}
.content2{margin-left:200px;
height:100px;
background: #F0AD4E;
} 

缺点:
使用了绝对定位,若是用在某个div中,需要更改父容器的position。
没有清除浮动的方法,若左侧盒子高于右侧盒子,就会超出父容器的高度。因此只能通过设置父容器的min-height来放置这种情况。

3、标准浏览器的方法

/*方法3*/
.outer3{
display: table;
width:100%; 
border: 1px solid red;
}
.sidebar3{
display:table-cell;
width:200px;
height:150px;
background: #BCE8F1;
}
.content3{
display:table-cell;
height:100px;
background: #F0AD4E;}

4、双float + calc()计算属性

/*方法4*/
.outer4{
overflow: hidden; border: 1px solid red;
}
.sidebar4{
float:left;width:200px;height:150px;background: #BCE8F1;
}
.content4{
float:left;width:calc(100% - 200px);height:100px;background: #F0AD4E;
}

5、双inline-block + calc()计算属性

/*方法5*/
.outer5{box-sizing: content-box;font-size: 0; border: 1px solid red;}
.sidebar5,.content5{display: inline-block;vertical-align: top;box-sizing: border-box;width: 200px;
 height:150px; background: #BCE8F1;font-size: 14px;}
.outer5 .content5{width:calc(100% - 200px);height:100px;background: #F0AD4E;}

这种方法是通过width: calc(100% - 140px)来动态计算右侧盒子的宽度。需要知道右侧盒子距离左边的距离,以及左侧盒子具体的
宽度(content+padding+border),以此计算父容器宽度的100%需要减去的数值。同时,还需要知道右侧盒子的宽度是否包含border
的宽度。
在这里,为了简单的计算右侧盒子准确的宽度,设置了子元素的box-sizing:border-box;以及父元素的box-sizing: content-box;。
同时,作为两个inline-block的盒子,必须设置vertical-align来使其顶端对齐。
另外,为了准确地应用计算出来的宽度,需要消除div之间的空格,需要通过设置父容器的font-size: 0;,或者用注释消除html中的空格等方法。

缺点:
需要知道左侧盒子的宽度,两个盒子的距离,还要设置各个元素的box-sizing
需要消除空格字符的影响
需要设置vertical-align: top满足顶端对齐。

6、float + BFC方法(理解CSS布局和BFC =》

/*方法6*/
.outer6{overflow: auto; border: 1px solid red;}
.sidebar6{float: left;height:150px;background: #BCE8F1;}
.content6{overflow:auto;height:100px;background: #F0AD4E;}

这个方案同样是利用了左侧浮动,但是右侧盒子通过overflow: auto;形成了BFC,因此右侧盒子不会与浮动的元素重叠。

7、flex

/*方法7*/
.outer7{display: flex; border: 1px solid red;}
.sidebar7{flex:0 0 200px;height:150px;background: #BCE8F1;}
.content7{flex: 1;height:100px;background: #F0AD4E;}

flex可以说是最好的方案了,代码少,使用简单。但存在兼容性,有朝一日,大家都改用现代浏览器,就可以使用了。

需要注意的是,flex容器的一个默认属性值:align-items: stretch;。这个属性导致了列等高的效果。
为了让两个盒子高度自动,需要设置: align-items: flex-start;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值