学习笔记之CSS深入理解(慕课网 张鑫旭主讲)

一、CSS深入理解之border

1. border-width不支持百分比

受语义和使用场景决定的,不会因为设备大而边框变大的

 

2. border-style属性

border-style:dotted;在Chrome/Firefox是方点,IE下是圆点

 

3. border-color

当没有指定border-color的时候,会使用color作为边框颜色

border与background定位局限,在CSS2.1中,background定位只能相对于左上角数值定位,不能相对于右下角

 

4. border与三角等图形的构建

4.1. 实现三角形

 

 

4.2. 实现梯形

 

 

4.3. 增加响应区域大小-复选框

 

4.4. 增加可使渲染区域

.icon{
    position:relative;
    left:-20px; //图标为20px*20px
    border-right:20px solid transparent;//透明边框border突破可视区域的限制
    filter: drop-shadow(20px 0 #ff0000); //利用此做一个颜色不同的原图标
    overflow:hidden; //隐藏原始图标
}

 

5. border与等高布局

 

 

比margin,padding实现的好处:

它们使用了很大的负值,当我们很负的元素有个锚点定位的时候,就会出现布局飞升的效果。

但是这样实现不支持百分比宽度。

 

二、CSS深入理解之padding

1. CSS padding与元素的尺寸

1.1. 对于block水平元素:

1) 当width:auto or box-sizing:border-box,padding值没有暴走,不影响尺寸。

2) padding值暴走,一定会影响尺寸。e.g.当padding大小超过宽高的时候,容器宽度改变,如中间有文字,那么文字以最小宽度显示。

3) width非auto,padding影响尺寸,容器扩大。

1.2. 对于inline水平元素:

水平padding影响尺寸,垂直padding不影响尺寸,但是会影响背景颜色(占据空间)。

1.3. 应用:高度可控的分割线

比如:实现  注册 | 登录,中间的分割线

html:

注册<span></span>登录

CSS:

span{
    padding: 16px 6px 1px;
    margin-left: 12px;
    border-left: 2px solid;
    font-size:0;
}

 

2. CSS padding负值和百分比值

 

2.1. 利用padding制作正方形

.div{
    padding:50%;
}

2.2. 但是对于inline元素,垂直padding会让“struct(幽灵空白节点)”出现,所以改成

.inline_div{
    padding:50%;
    font-size:0;
}

 

3. CSS 标签元素的内置padding

3.1. button表单的padding

对于Firefox,设置padding:0左右依然有padding,所以需设为:

button::-moz-focus=inner{
    padding:0;
}

对于IE7,文字越多,左右padding逐渐变大,所以需设为:

button{
    overflow:visible;
}

padding与inline-height不兼容,所以个人技巧:

<button id="btn"></button>
<label for="btn">button</label>

然后设置label样式

label{
    display:inline-block;
    inline-height:20px;
    padding:10px;
}

 

4. padding与图形绘制

4.1. 实现三道杠:

<div class="line-tri"></div>
.line-tri{
    width:150px;
    height:30px;
    padding:15px 0;/*杠杠中间的空白部分*/
    border-top: 30px solid;/*第一道杠*/
    border-bottom:30px solid;/*第三道杠*/
    background-color:black;/*第二道杠*/
    background-clip:content-box;/*第二道杠,important*/
}

 

5. CSS padding与布局

5.1. 使用百分比单位构建固定比例布局结构(正方形)

.div{padding:50%;}

5.2. 配合margin等高布局

/*父盒子*/
.box{
   overflow: hidden;
   resize:vertical;
}

/*子盒子*/
.child-orange,.child-green{margin-bottom: -600px;padding-bottom: 600px;}

.child-orange{
   float: left;background: orange;
}

.child-green{
   float: left;background: green;
}

5.3. 两栏自适应布局

<div class="box">
   <img src="mm.jpg">
    words...
</div>

<div>
   <img src="mm.jpg">
   <div class="auto">words...</div>
</div>

 

/*padding在容器上*/
.box{
   padding-left: 120px;
}

.box img{
   float: left;
   margin-left: -120px;
}

/*padding在子元素上*/
img{
 float:left;
}

.auto{
 padding-left:120px;
}

 

三、CSS深入理解之margin

1. 正确看待CSS的margin重叠

1.1. 相邻兄弟margin重叠

 

1.2. 父子margin重叠其他条件

1.2.1. margin-top重叠父元素非块状格式化上下文元素

(resolution:父级元素设置overflow:hidden)

1.2.2. 父元素没有border-top设置

(resolution:父级元素设置border-top)

1.2.3. 父元素没有padding-top值

(resolution:父级元素设置padding-top)

1.2.4. 父元素和第一个子元素之间没有inline元素分隔

(resolution:父级元素与第一个子元素之间设置inline元素。 e.g. )

 

1.3. margin-bottom重叠父元素非块状格式化

 

  • 上下文元素父元素没有border-bottom设置
  • 父元素没有padding-bottom值
  • 父元素和第最后一个子元素之间没有inline元素分割
  • 父元素没有height,min-height,max-height限制(resolution参考margin-top)

1.4. 空block元素margin重叠其他条件

 

  • 元素没有border设置元素
  • 没有padding设置
  • 里面没有inline元素没有height,或者min-height(resolution参考margin-top)

1.5. margin重叠计算规则:

 

  • 正正取大值
  • 正负值相加
  • 负负最负值

 

四、CSS深入理解之float

1. 浮动的原始意义

浮动出现的意义其实只是用来让文字环绕图片而已

 

2. 清除浮动的几个方法:

2.1. 投机取巧法

<div style="clear:both;"></div>

放到当作最后一个子标签放到父标签那。初学者专用,有时候一不留神中间多了个空格会产生一段空白高度的。

2.2. overflow+zoom

.fix{overflow:hidden; zoom:1;}

代码简洁,涵盖所有浏览器。但是如果里面的元素存在margin负值定位或是负的绝对定位,便会直接被裁掉了,所以此方法是有不小的局限性的。

2.3.  after + zoom方法

.fix{

zoom:1;

}

.fix:after{

display:block;

content:'clear'; /*这里content里写什么都行*/

clear:both;

line-height:0;

visibility:hidden;

}

这里的line-height:0写成height:0也是可以的。此方法可以说是综合起来最好的方法了,不会影响任何其他样式,通用性强,覆盖面广,推荐使用。

3. float与JavaScript

JavaScript可以改变CSS的属性,其他些属性还好,但是这个float值得一说,为何呢,因为float貌似是JavaScript中的一个关键字,不能使用obj.style.float="left";这样的句子。得使用其他写法。

 

  • IE浏览器:obj.style.styleFloat = "left";
  • 其他浏览器:obj.style.cssFloat = "left";

4. float与流体布局

4.1. 浮动与两侧皆自适应的流体布局

.mib_head_a { float: left; margin-right: 20px; }

/* 下面这个是固定布局写法 */

.mib_cell { display: table-cell; *display: inline-block; width: 2000px; *width: auto; }

 

4.2. 浮动与右侧尺寸固定的流体布局

要实现如下效果:

 

/* 下面这个是右浮动,改变DOM位置的流体布局写法 */

<div class=”.mib_head_r”></div>
<div class=”mib_feed_flow ”></div>
.mib_head_r { width: 56px; float: right; }
.mib_feed_flow { margin-right: 76px; }

/* 下面这个是左浮动,不改变DOM位置的流体布局写法 */

<div class=”mib_full_float”></div>
<div class=”mib_head_l”></div>
.mib_full_float { width: 100%; float: left; }
.mib_head_l { width: 50px; float: left; margin-left: -50px;}

4.3. 浮动与单侧尺寸固定的流体布局

.mib_head_a { width: 56px; float: left; }

/* 下面这个是固定布局写法 */

.mib_feed_fixed { width: 484px; float: right; }

/* 下面这个是流体布局写法 */

.mib_feed_flow { margin-left: 76px; }

4.4. float与IE7兼容性问题

 

  • 含clear的浮动元素包裹不正确
  • 浮动元素倒数第二个莫名垂直间距
  • 浮动元素最后一个字符重复问题
  • 浮动元素楼梯排列问题
  • 浮动元素和文本不在同一行的问题

 

五、CSS深入理解之absolute

1. 图片图标绝对定位覆盖

 

.icon-recom { position: absolute; }

.icon-vip { position: absolute; width: 36px; height: 36px; margin-left: -36px; }
<a href="http://www.imooc.com/view/121" class="course-list">
    <div class="course-list-img">
        <span class="icon-recom">推荐</span>
        <img width="280" height="160" alt="分享:CSS深入理解之float浮动" src="http://img1.sycdn.imooc.com/53d74f960001ae9d06000338-300-170.jpg">
        <!--  -->
        <i class="icon-vip">vip</i>
    </div>
</a>

 

<!--注释节点 -->

 

使用注释节点避免相邻节点间插入空格,保证相邻节点完美贴合。

 

2. 下拉框的绝对定位

 

       

<div class="course-sidebar-search">
    <ul id="result" class="course-sidebar-result">
        <li><a href="http://www.imooc.com/view/121">分享:CSS深入理解之float浮动</a></li>
        <li><a href="http://www.imooc.com/view/118">案例:CSS圆角进化论</a></li>
        <li><a href="http://www.imooc.com/view/93">案例:CSS Sprite雪碧图应用</a></li>
        <li><a href="http://www.imooc.com/view/77">案例:CSS3 3D 特效</a></li>
        <li><a href="http://www.imooc.com/view/57">案例:如何用CSS进行网页布局</a></li>
    </ul>
    <input class="course-search-input" placeholder="课程搜索">
    <a href="javascript:" class="course-search-btn">搜索</a>
</div>
.course-search-input { line-height: 18px; padding: 10px; float: left; }
.course-sidebar-result { position: absolute; width: 260px; margin: 39px 0 0 -1px; }

 

3. absolute实现居中、边缘定位

        

<div class="course-loading-x">
    <img src="http://img1.sycdn.imooc.com/5453077400015bba00010001.gif" class="course-loading" alt="加载中...">
</div>
<div class="course-fixed-x">
    <div class="course-fixed">
        <a href="http://www.imooc.com/activity/diaocha" class="goto_top_diaocha"></a>
        <a href="http://www.imooc.com/mobile/app" class="goto_top_app"></a>
        <a href="http://www.imooc.com/user/feedback" class="goto_top_feed"></a>
    </div>
</div>
.course-loading-x { text-align: center; }//使用center对 进行文本居中

.course-loading { position: absolute; margin-left: -26px; }//表示图标宽度为52px,-26px实现图标居中

.course-fixed-x { text-align: right; }//使用right对 进行靠右,使得fixed的对象初始位置在大框的右侧

.course-fixed { display: inline; position: fixed; margin-left: 20px; }

 

4. 文本图标对齐与定位

.regist-star { position: absolute; margin-left: -1em; }
<label class="regist-label"><span class="regist-star">*</span>登录邮箱</label>

 

5. 高度自适应的九宫格效果

<div class="page">
    <div class="list" data-index="1"></div>
    <div class="list" data-index="2"></div>
    <div class="list" data-index="3"></div>
    <div class="list" data-index="4"></div>
    <div class="list" data-index="5"></div>
    <div class="list" data-index="6"></div>
    <div class="list" data-index="7"></div>
    <div class="list" data-index="8"></div>
    <div class="list" data-index="9"></div>
</div>
.list {
    float: left;
    height: 33.3%; width: 33.3%;
    position: relative;
}

.list:before {
    content: '';
    position: absolute;
    left: 10px; right: 10px; top: 10px; bottom: 10px;
}

.list:after {
    position: absolute;
    height: 30px;
    left: 0; right: 0; top: 0; bottom: 0;
}

 

6. left/right拉伸和width同时存在

 

.image {
    position: absolute; 
    left: 0; 
    right: 0; 
    width: 50%; 
    margin:auto;
}

绝对定位的拉伸受限于父级,想要做到拉伸效果,必须给父级设置高度。

 

7. 使用绝对定位实现整体布局

header,footer{
    position:absolute;
    left: 0;
    right: 0;
}

header{
    height:48px;
    top:0;
}

footer{
    height:48px;
    bottom:0;
}

content{
    position:absolute;
    top:48px;
    bottom:48px;
    overflow:auto;
}

此时头部尾部都是fixed效果,不跟随滚动。避免了移动端position:fixed实现的诸多问题。

 

六、CSS深入理解之overflow

1. overflow基本属性

 

  • 如果overflow-x和overflow-y二者的值相同,等同于overflow; 如果二者值不同,其中一个被赋予visible;另一个被赋予auto,hidden,scroll,其中visible会被重置为auto。
  • 宽度设计机制,IE7浏览器把100%宽度算成了外部容器的宽度,滚动条一出现整个容器的可利用面积是会被压缩的,外部容器的宽度减少,于是,在IE7上就出现了水平滚动条。此时应删除宽度100%;

 

2. overflow与滚动条

2.1. 默认滚动条

 

  • 默认滚动条来自于<html>
  • IE7-浏览器默认:html{overflow-y:scroll;}
  • IE8+等浏览器:html{overflow:auto;}

2.2. js与滚动高度

chrome: document.body.scrollTop;

others: document.documentElement.scrollTop;

var st = document.body.scrollTop || document.documentElement.scrollTop;

2.3. overflow出现的问题

(1) overflow的padding-bottom缺失现象导致scrollHeight(元素内容高度)不一致。除chrome外其他浏览器均有此现象。

(2) 解决水平居中跳动问题的修复:

 

  • 对于IE7-:
html{ overflow-y: scroll; }

 

  • 对于其他:
.container{
    padding-left:calc(100vw - 100%);
}

100vw -浏览器宽度;

100% -可用内容宽度;

2.4. 自定义滚动条-webkit

::-webkit-scrollbar

::-webkit-scrollbar-thumb

::-webkit-scrollbar-track

 

3. overflow与BFC

overflow与BFC(block formatting context,块级格式化上下文,相当于页面之结界,内部元素再怎么翻云覆雨都不会影响外部)

overflow: visible不能触发BFC

3.1. 清除浮动影响

IE7+等使用.clearfix{ overflow:hidden;  _zoom:1;},但是副作用明显,无法广泛应用,于是,广为流传的是:

.clearfix{ *zoom:1;}

.clearfix:after{ content:’’; display:table; clear: both}

3.2. 避免margin穿透问题

div.outter>div.inner

在以上情况中,inner的margin-top会穿透inner,变成outter的margin-top。(margin-left则没有这个情况)

 

法一:outter加一个overflow:auto或hidden。

还可以 利用边框 、 padding、 margin元素自身BFC化

3.3. 实现俩栏自适应布局

左浮动,右overflow,推荐使用浮动元素撑开间距

.left{
    float:left;
    width:120px;
    margin-right:10px;
}

.right{
    min-height:200px;
    overflow:hidden;
    ……
}

 

 

3.4. overflow与absolute

3.4.1. overflow:hidden失效

失效原因:绝对定位元素不总是被父级overflow属性裁剪,尤其当overflow在绝对定位元素及其包含块之间的时候。(包含块是指“含position:relative/absolute/fixed声明的父级元素,没有则body元素。”)

e.g.

 

3.4.2. 

如何避免失效

(1) overflow元素自身为包含块(自身增加包含块元素)

(2) overflow元素的子元素为包含块(子集增加包含块)

<div class=”overflow-hidden”>
    <div style=”position:relative”>
        <img src=”1.jpg” class=”absolute”/>
    </div>
</div>

(3) 任意合法transform声明当作包含块

overflow元素自身transform

√ IE9+/Firefox

× Chrome/Safari(win)/Opera

overflow子元素transform

√ IE9+/Firefox

√ Chrome/Safari(win)/Opera

 

4. 依赖overflow的样式表现

(1) resize声明起作用,要使用overflow元素,但是overflow的属性值不能是visible。

(2) resize文本域默认有overflow:auto

(3) text-overflow:ellipsis要与overflow:hidden同时使用

 

5. overflow与锚点技术

5.1. 锚点定位的本质:改变容器的滚动高度

(1) 容器可滚动

(2) 锚点元素在容器内

5.2. 锚点定位的触发:

(1) url地址中的锚链与锚点元素

(2) 可focus的锚点元素处于focus态

5.3. 锚点定位与选项卡技术

应用于:单页页面,兼容IE6,IE7

.box{overflow:hidden;}
<div class="box">
  <div class="list" id="one">1</div>
  <div class="list" id="two">2</div>
  <div class="list" id="three">3</div>
  <div class="list" id="four">4</div>
</div>

<div class="link">
  <a href="#one" class="click">1</a>
  <a href="#two" class="click">2</a>
  <a href="#three" class="click">3</a>
  <a href="#four" class="click">4</a>
</div>

 

 

 

 

七、CSS深入理解之relative

1. relative限制作用

(1) 限制left/top/right/bottom定位

(2) 限制z-index层级

<div class=”relative zindex3” id=”1”>
    <div class=”absolute zindex1”  id=”2”></div>
</div>

<div class=”relative zindex2” id=”3”>
    <div class=”absolute zindex2”  id=”4”></div>
</div>

此时,2,4div中的z-index不再起作用,以1,3中的为主

新建层叠上下文与层级控制

除IE6,IE7外,如果relative的z-index为auto,则不会限制内部absolute元素层叠问题。

(3) 限制overflow

见3.4.2(2)

 

2. relative与相对自身无侵入:

相对自身位置改变,不会影响其他元素的位置

top与bottom,left与right是斗争关系其中之一起作用另一个就无效

 

3. relative最小化原则

3.1. 尽量避免使用relative

absolute不依赖relative

3.2. relative最小化

将需要定位的元素独立出一个div,避免层级层叠问题

<div style="position:relative">
    <img src="123.jpg" style="position:absolute; top:0; right:0;"/>
</div>
<div>
    <div></div>
    <div></div>
    <div></div>
    ……
</div>

 

八、CSS深入理解之z-index

1. 基本特性

支持负值

支持CSS3 animation动画

在CSS2.1时代,需要和定位元素(relative/absolute/fixed/sticky)配合使用

 

2. z-index与定位属性

2.1. 层叠上下文(stacking context)

层叠上下文(stacking context)是html元素中的三维概念,表示元素在z轴上有了“可以高人一等”。

(1) 页面根元素天生具有层叠上下文,称为“根层叠上下文”

(2) z-index值为数值的定位元素也具有层叠上下文

(3) 其他属性

2.2. 层叠水平(stacking level

层叠上下文中的每个元素都有一个层叠水平(stacking level),决定了同一个层叠上下文中元素在z轴上的显示顺序。遵循“后来居上”和“谁大谁上”的层叠准则。

层叠水平和z-index不是一个东西。普通元素也有层叠水平,但是只有定位元素才有z-index。

层叠上下文可以嵌套,组合成一个分层次的层叠上下文。每个层叠上下文和兄弟元素独立:当进行层叠变化或渲染的时候,只需要考虑后代元素。

每个层叠上下文是自成体系的:当元素的内容被层叠后,整个元素被认为是在父层的层叠顺序中。

2.3. 层叠顺序:元素发生层叠时候有着特定的垂直显示顺序。

内容层叠顺序高于布局

 

 

2.4. 关于z-index与层叠上下文

(1) 定位元素默认z-index:auto可以看成是z-index:0

(2) z-index不为auto的定位元素会创建层叠上下文

 

 

(3) z-index层叠顺序的比较止步于父级层叠上下文

 

3. 其他属性与层叠上下文

(1) z-index值不为auto的flex项(父元素display:flex|inline-flex)

 

(2) 元素的opacity值不为1

(3) 元素的transform不是none

(4) 元素mix-blend-mode不是normal

(5) 元素的filter不是none

(6) 元素的isolation是isolate

(7) position:fixed声明

(8) will-chang指定的属性值为上面任意一个

(9) 元素的-webkit-overflow-scrolling为touch

他们之间的关系:

(1) 不支持z-index的层叠上下文元素的层叠顺序均是z-index:auto级别

(2) 依赖z-index的层叠上下文元素的层叠顺序取决于z-index值

 

4. z-index相关实践分享

4.1. 最小化影响原则

4.2. 不犯二准则

目的:避免z-index混乱,一山比一山高的样式问题

做法:对于非浮层元素,避免设置z-index值,灵活运用后来居上,层叠上下文,层叠水平这些准测,z-index值不能超过2。

4.3. 组件层级计数器

目的:避免浮层组件因z-index被覆盖的问题

原因:

(1) 总会有意想不到的高层级元素

(2) 组建的覆盖规则具有动态性

(3) 做法:组件层级计数器(通过JS获得body下子元素的最大z-index)

4.4. 可访问性隐藏

 

九、CSS深入理解之line-height

1. 高度原理:

行高 = 内容区域高度 + 行间距, line-height = content area +vertical spacing

行高决定内联盒子高度;行间距墙头草,可大可小(甚至赋值),保证高度正好等同于行高。

 

2. 各属性值

line-height: normal,跟着用户的浏览器走,且与元素字体关联

line-height:<length>,具体数字如10em

line-height:<number>,根据当前字体大小计算。所有可继承元素根据font-size重计算行高。(推荐)

line-heigtht:<percent>,根据当前字体大小计算。当前元素根据font-size计算行高,继承给下面的元素。

 

line-heigtht:inhert,行高继承,如input等元素默认行高是normal,使用inhert可以让文本框样式可控性更强

body全局数值行高经验

body{ font-size:14px; line-height: }

重阅读如博客,推荐1.5,1.6

如果普通不重阅读的网站,匹配20像素的使用经验 inline-height:1.4286(20px/14px的意思)

 

3. 行高与图片

 

 

4. 实际应用

4.1. 图片水平垂直居中

 

4.2. 多行文本水平垂直居中

十、CSS深入理解之vertical-align

1. vertical-align:数值/百分比

数值:在baseline对其基础上上下偏移对应数值大小。

百分比:是相对于line-height计算的

 

2. vertical-align起作用的前提

只应用于inline水平元素和table-cell元素(默认状态下,图片、文字、按钮、单元格)

<div class=”test-list”>
    <span>文字</span>
    <img src=”pic.jpg”/>
</div>
.test-list > span{
    display: inline-block;
    width:200px;
    vertical-align:middle;
}

.test-list > img { vertical-align:middle; }

3. 隐匿文本节点

原CSS:vertical-align:baseline; line-height:1.5; font-size:24px

 

解决方案:

消灭vertical-align,改成display: block; margin: auto; //从inline水平改成块状水平

改变默认对齐方式,vertical-align: baseline,改成bottom、middle、top等

改变inline-height: 0或font-size: 0;

注意HTML要写成以下形式:

<p><img src=”pic.jpg”/><!-- 这里要折行或空格 -->
</p>

 

4. CSS2的可视化格式模型文档

The baseline of an “inline-block” is the baseline of its last line box in the normal flow, unless it has either no in-flow line boxes or if its ”overflow” property has a computed value other than ‘visible’, in which case the baseline is the bottom margin edge.

“inline-block” 的基线是正常流中的最后一个line box的基线,除非这个line box里面既没有line boxes或者本身”overflow”属性的计算值不是“visible”,这种情况下基线是margin底边缘。(line boxes是由一个一个inline boxes组成的)

 

inline boxes盒子1没有任何内容,此时本盒子的基线是底边缘

inline boxes盒子2有文字line box,此时这个inline-block盒子的基线就按照里面line box元素的基线作为它自己的基线,此时文字的基线是x-baseline的下边缘。两个基线对齐就产生了如图效果。

 

5. vertical-align:middle

定义:

inline/inline-block元素:元素的垂直中心点和父元素基线上1/2 x-height处对齐

table-cell元素:单元格填充盒子相对于外面的表格行居中对齐

 

所以设置行高大于图片高度,再设垂直居中的时候是近似的。

 

6. vertical-align: text-top/text-bottom

盒子的顶部/底部和父级的content area的顶部/底部对齐。

实际运用:主要用于表情图片(或原始尺寸背景图标)与文字的对齐效果。

使用基线图标片上,使用顶线/底线的问题在于受其他内联元素影响,造成巨大的定位偏差;使用中线需要恰好的字体大小以及兼容性要求不高;使用文本底部比较合适,不受行高以及其他内联元素影响;

 

7. vertical-align:super/sub

vertical-align:super提高盒子的基线到父级合适的上标基线位置。

vertical-align:sub降低盒子的基线到父级合适的下标基线位置。

 

8. vertical-align实际运用

8.1. 图标与文字对齐:vertical-align负值

8.2. 不定尺寸图片或多行文字的垂直居中

(1) 主体元素inline-block化

(2) 0宽度100%高度辅助元素

(3) vertical-align:middle;

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值