CSS的诞生

CSS3萌宠系列,纯CSS3诞生的可爱狗狗 好可爱一只小狗狗!睡觉憨憨的样子,听到细微的声音,立马竖起他的耳朵,看向远方。你是不是想拥有这样一只忠实而又可爱的狗狗呢? 可爱的你值得拥有! 上图是用什么软件制作的呢?用纯CSS+HTML你信吗? 不信的,让我们拭目以待吧! 看图解构 看上图,狗狗有圆圆头,2只小小的眼睛和2只长长的耳朵,鼻子,嘴巴,4只脚,身体、尾巴组成。 细节: 1、地上有阴影,狗狗抬头时阴影会缩小 2、狗狗是趴着在,所有只能看到3只脚 3、狗狗睡觉时,呼吸会让身体上下起伏 4、狗狗抬头时,耳朵会上扬 有了结构思路,我们可以先来画出. 阅读详情

1

 

  HTML的困境

我是著名的CSS, 很多人都知道我的名字, 但是却对我的原理和细节不求甚解。

这也可以理解,相比于简单的HTML,我要复杂得多, 尤其是想要使用我做出美奂美伦的页面,需要了解太多的细节,那真不是一件普通人能干的事儿。 于是大家看见我以后最多打个招呼,然后马上低头绕行。

说起HTML,这其实是个非常单纯的家伙, 他只关注内容的语义, 比如说他用<h1>表明这是一个大标题,用<p> 表明这是一个段落,用<img> 表明这儿有一个图片, 用<a> 表示此处有链接。

链接真是个有趣的发明, 它可以从一个网页跳到另外一个网页,从一个网站跳到另外一个网站,于是整个世界的网站都链接了起来,形成了一张大网 。

在我诞生之前, 世界上的网站虽然很多,但是他们都有一个共同的特点: 丑。

原因很简单, 一个HTML文档有很多标签, 当这些标签组合起来的时候,到底该怎么显示呢? 用什么样的字体? 什么颜色? 怎么对齐?

HTML不想管也管不了,于是早期的网站大部分长这个样子:

0?wx_fmt=gif0?wx_fmt=png

真是难以想象,上个世纪的人们竟然用这么简陋的网站来购物 !

无数的人向HTML投诉: 你就不能把自己打扮得漂亮一点吗?

HTML理直气壮地回答:不不,我的主人只让我负责网页的内容和结构,至于这些结构要显示成什么样子,浏览器可以负责啊。 

而浏览器也会推卸责任:“这我可管不了,你不告诉我你用什么字体,什么颜色,我怎么可能给你展示出来?”

理由很充分,对吧,浏览器确实不应该做这件事情。

HTML没有办法,只好向组织上申请,给自己加上一堆新的标签, 专门用来描述展示相关的东西:

0?wx_fmt=png

0?wx_fmt=gif

于是网页变得比以前漂亮了一些,大家似乎满意了。

只是HTML发现自己的身躯越来越臃肿,这些负责显示的标签把原本的内容都给淹没了, 更要命的是修改的难度越来越高,你可以想象一下,当一个html文件中有上百个<font>标签时, 老板让你把字体改小一号, 那肯定要抓狂的。

组织上看到了问题的症结所在, 决定为HTML瘦身, 他定下了一个目标: “内容和样式必须要分离!”

这个重担就交给了我。

2

 选择器

刚开始的时候,我一点思路都没有,到底怎么把内容和样式分离呢?  我为此苦苦思考了好几天,既然我想给内容施加样式, 作为第一步, 必须要解决定位的问题,换句话说我需要能找到HTML中的元素才可以。

我问HTML:“ 你一个页面这么多标签, 我怎么才能获得你完整的结构呢?”

“结构? 那很简单啊, 我在浏览器中就是一个DOM 树啊, 你尽管访问啊 ”

0?wx_fmt=jpeg

0?wx_fmt=gif

好 ! 有这个玩意儿就好办事了,但是我怎么定位到一个元素,去设定这个元素的字体,颜色等显示属性呢?

XML向我支招: “这太容易了, 你可以仿照我的XPath啊,例如那个DOM树,你想选中title 元素,就用 /html/head/title ,或者简单一点//title ; 你想选中第一个div 下面的h3, 可以这么做  /html/head/div[1]/h3  ,是不是很方便?  ”

(码农翻身老刘注:实际上XPath的出现要比CSS晚)

“方便是方便, 可是你这为什么要一个斜杠呢? 直接写成html head title 不行吗? ”

"这。。。" XML无语了。

我决定不用斜杠,我要讨好程序员,就用div ul li 这样写起来很简洁的方式, 我也不想叫XPath, 那是XML的宝贝。

我打算把它叫做选择器(Selector)。比如说我想把所有的h3都变成红色, 黑体, 可以这么写:

h3 {color:blue ; font-weight:bold;}

当然我设计的选择器能力可不仅仅这么简单,使用它你完全可以选择一个特定的节点(如果有id属性或class属性的话),不管这个节点“隐藏”得有多深。  

还可以选择一个节点的兄弟节点, 某组元素的第x个孩子,任何带有属性名的标签名等等。

0?wx_fmt=png

0?wx_fmt=gif

一句话, 使用Selector, 你可以尽情在DOM树中遨游, 找到你想要的地方, 然后设置样式。  

内容和样式就分离了。

3

 盒子

定位的问题解决了, 初步的样式也解决了。 但是最让人排版的问题依然存在, 想想你曾经看过的报纸和杂志,人家那图文并茂,赏心悦目的排版, 我们得好好学习下了。

0?wx_fmt=png

0?wx_fmt=gif

我对杂志的排版做了仔细的研究, 分栏,间距,对齐, 图文混排, 本质上他们是由一个个“块”组成的。

我对HTML说: 咱们能不能也把内容搞成一个一个的块啊, 然后把这些块进行组合不就成了?

HTML回答: “块(block) 我有啊, 你还不知道吗, 所有的HTML元素要么是块级(block)元素,要么是行内(inline)元素。”

“什么意思?”

“块级元素(比如标题和段落) 会一个接一个的堆叠起来沿着页面向下排列,每个元素占一行; 行内元素(比如链接和图片)则会在一行内相互并列,只有在空间不足以并列的时候才会折到下一行。你可以想象一下, 一个文档其实就是这些元素在页面上堆叠流动而已, 俗称文档流。”

既然如此, 我就可以把这些元素当成一个个的“盒子”了,为了能够排版,我给每个盒子都都设定三个属性:

边框(border): 可以设定宽窄,样式,颜色

内边距(padding): 内容到边框的间距

外边距(margin):  边框到相邻元素的间距

0?wx_fmt=gif

0?wx_fmt=gif

通过调整内外边距和边框,你就可以对页面做一点基本的美化排版了。

4

 浮动和定位

盒子还只是在在文档流中按次序流动而已, 想要做到漂亮的排版, 还得让他们灵活地定位才行。

比如说有人想把一个盒子放到浏览器的最右边,不会随着页面滚动而滚动;

或者大盒子中套了一个小盒子,小盒子要相对于大盒子来定位;

或者两个盒子想罗列起来;

或者像报纸杂志那样分栏显示,左边是菜单,中间是内容,再加上一个右边栏; 等等诸如此类的要求。

所以,一个盒子必须得能在常规的文档流中重新定位,于是我给盒子添加了两个重要的属性:float和position 。

float可以让一个盒子脱离标准的文档流,一直往上飘,直到遇到父元素的边界。

当有多个盒子都在飘的时候,就可以按照次序形成分栏的效果了。

比如下面这3个<div> 本来是从上往下依次往下流动的, 如果给div2, div3加上float:left属性,他们就横着排列起来了:

0?wx_fmt=png0?wx_fmt=gif

对于position 来说, 那就更加灵活了。 如果不设置,那就是默认定位,在文档流中的位置不做改变。

可以设置为相对于盒子在原来文档流中的位置做定位(原来的位置没有被别的div占据):

0?wx_fmt=png0?wx_fmt=gif

还可以设置成相对于某个父元素做绝对定位(下图中祖先元素就是橙色的框,div2原来的位置被div3占据了) 。

0?wx_fmt=png

0?wx_fmt=gif

唉,给大家说这么多琐碎的东西, 我自己都有点烦了, 总结下就是:我提供了各种各样的方式让你的盒子可以灵活的排列起来。

当然我必须得承认, 这些布局对程序员们确实不那么友好,你没有办法通过拖拽的方式对这些盒子进行排版。

为了减少工作量,大量CSS框架在源源不断地推出,例如Bootstrap, Semantic UI, Pure.css , EZ-CSS。。。。。。 这是后话了。

5

 CSS

浮动和定位可以说是我搞出的最复杂的东西, 其他的像背景了,字体了,文本了就简单得多,就不再啰嗦了。

当我告诉HTML我的定义工作基本搞定时, 他提出了一个问题: “你这些选择器,盒子模型,浮动和定位, 背景,字体之类定义,最终要放在哪儿啊? 你不会还是想放在我这里吧?”

我想了想,必须得有最大的灵活度,程序员可以直接写到元素的标签中(叫行内样式), 也可以写到html的<style>标签里(这叫嵌入样式), 当然我是建议大家写到单独的CSS样式中,然后通过链接的方式和html内容结合起来。

行内样式长这个样子:

0?wx_fmt=png很明显,这和最早的在html中写<font>标签差不多。

嵌入样式就好一点:

0?wx_fmt=png

0?wx_fmt=gif如果把这些样式完全从html中分离,放到独立的文件中,就可以使用链接样式:

<link href="mystyle.css" rel="stylesheet" type="text/css" />

正像你猜到的那样, 嵌入样式会覆盖链接样式, 行内的样式会覆盖嵌入样式。 就像一层盖着一层那样, 就是由于这个原因,W3C把我命名为层叠样式表(CSS)。

你看到的只是冰山一角, 更多精彩文章,请移步《码农翻身2016文章精华》或者《码农翻身2017上半年文章精华》


码农翻身

用故事讲述技术

0.jpeg

CSS3:新一代样式表语言的诞生与应用 通过使用CSS3的新特性,开发者可以创建出更加吸引人和创意的用户界面。由于CSS3是一个逐步发展的规范,不同的浏览器对其特性的支持程度有所不同。为了确保网页在各种浏览器中都能正常显示,开发者需要对不同浏览器之间的差异进行适当的处理,例如使用浏览器前缀和后备方案。它决定了网页的外观和布局,使得网页设计者能够以一种统一的方式控制网页的样式。CSS3是CSS的第三个主要版本,它引入了许多令人兴奋的新特性和功能。这个版本的发布是对之前CSS2.1的扩展和改进,为开发者提供了更多的控制和创意空间。 阅读详情

相关推荐

Xilinx UltraScale+系列FPGA实现USB3.0 DEV 设备 部分原理图+代码分享

Zynq UltraScale+ MPSoC 系列是 Xilinx 新一代 Zynq 平台。在 FPGA 里有完整的 ARM 处理(PS),包含了四核或双核 Cortex-A53 处理器 ,处理器子系统中有DDR内存控制器等大量的外设,在FPGA中完全独立于可编程逻辑单元(PL)如果暂时没有用到PL部分,PS也能单独工作,相当于可以当成一个ARM来用了(以前的不行)。 ARM也包含USB3.0控制器,这是实现USB3.0DEV的关键,根据官方手册(ug1085)描述,USB主(Host)从(Device)

Pierre 1万+

谈谈关于CSS发展史的那点事

W3C是万维网联盟(World Wide Web Consortium)的缩写,它是一个国际性的组织,致力于开发Web标准和推广Web技术的发展。W3C是由互联网的创始人之一、Web的发明者蒂姆·伯纳斯-李(Tim Berners-Lee)于1994年创建。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 1094

手把手教你用PlantVillage数据集搭建农作物病害识别模型(Python实战)

本文详细介绍了如何使用PlantVillage数据集和Python构建农作物病害识别模型。从环境准备、数据获取到模型构建、训练与评估,手把手教你实现一个实用的农业AI应用。特别针对PlantVillage数据集的特点,提供了处理类别不平衡、图像预处理和模型优化的实战技巧,帮助开发者快速掌握农作物病害识别技术。

weixin_29184371的博客 479

CSS发展历程&基本属性

CSS的基础知识@TOC CSS的发展历史 1.CSS的英文 Cascading Style Sheets 层叠样式表 目前CSS只支持:横向或者纵向布局 1.两个人合作发明了CSS 1994年哈肯.维姆莱提出了css的最初建议。伯特波斯当时正在设计一个叫做“Argo”的浏览器,他们决定一起合作设计CSS 2.W3C开始接管CSS 1997年初。W3C内组织了专门管CSS的工作组,其负责人是克里斯...

qq_45621713的博客 1065

告别OLE!Delphi操作Excel的3种轻量级方案横向评测(FlexCel/XLSReadWriteII/LibXL)

本文深入评测了Delphi操作Excel的三种轻量级方案:FlexCel、XLSReadWriteII和LibXL。通过技术架构、API设计、性能测试和实战案例的全面对比,帮助开发者选择最适合的工具,提升Excel文件处理效率,告别传统OLE方案的依赖和性能问题。

onion的博客 932

Adobe软件非正版弹窗终极解决方案:PS/Ai/PR/AE禁用提示一键清除指南

本文提供了Adobe软件非正版弹窗的终极解决方案,包括PS、Ai、PR、AE等软件的禁用提示一键清除指南。通过专业清理工具和手动修改系统文件的方法,帮助用户彻底解决Adobe弹窗问题,提升使用体验。适用于Windows和Mac系统用户,操作简单高效。

weixin_30872337的博客 5416

CSS 二十年发展简史

作者 |夏之安然 责编 | 伍杏玲 出品 | 优快云(ID:优快云news) 在2019年的今天,我们能在网上看到炫酷的动画加载,精彩绝伦的交互效果,以及从 PC 端到移动端的响应式交互,大家觉得习以为常。可你不知道的是,在 20 多年前,网页仅仅提供了文档展示能力,没有装饰的它就像一张黑白报纸那样简陋。 你是否会问:网页是如何变成像今天这样精美的? 这就归功于 CSS 了...

优快云资讯 1万+

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3758

CSS的发展历程

CSS1提供了一种方式来控制网页的外观,比如字体、颜色和间距等,从而使得开发者可以更灵活地设计网页而不必依赖于HTML中的内联样式或特定的标签属性。CSS的引入极大地改善了网页设计的方式,允许开发者将内容结构(HTML)与视觉呈现(CSS)分开处理,提高了代码的可读性和维护性。自从CSS3之后,W3C和CSS工作组就已经改变了标准的发布方式。随着网页复杂性的增加,需要一种更好的方法来处理页面的表现形式,于是CSS应运而生。但是目前还有许多模块依然处于CSS3阶段,或者处于正在向CSS4迈进的阶段。

ssrsrrn的博客 1444

Coze智能体开发:工作流教程之解析文件概述

大模型本身并不具备文件读取和解析的能力,无法直接处理文件字节流。对于支持工具调用(Function calling)的模型,扣子提供插件功能来帮助大模型调用外部工具 API,拓展大模型的能力边界。扣子插件商店提供海量官方插件和第三方插件,例如链接读取插件可以将链接对应的文件内容解析为纯文本传递给大模型。

王国平的博客 1794

黑猫带你学UFS协议第17篇:UFS安全模式详解(Secure Mode)

本文详细介绍了UFS协议中的安全模式,包括Erase, Discard, Purge和Wipe Device操作。Erase用于永久删除数据并确保无法恢复;Discard不保证数据清除;Purge类似于Sanitize,清除内部未映射的物理块数据;Wipe Device则是格式化设备。这些操作涉及逻辑单元、擦除单位、相关寄存器配置等,确保数据安全。" 126036669,12409270,MySQL 8.0 开窗函数详解,"['数据库理论', 'SQL']

黑猫奥利奥的博客 2560

CSS介绍

CSS是什么 CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”(层层叠加的样式),它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。 CSS 的主要作用是定义网页的样式(美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。CSS 不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式,而且市面上几乎所有的浏览器都支持 CSS。 CSS 发展史 20 世纪 90 年代初 HTML 语

顺其自然~专栏 8875

RepHead一种重参数化检测头用于提升YOLOv8在困难样本上的检测性能

在目标检测任务中,困难样本通常是指那些由于特殊背景、遮挡、低分辨率或极度小物体等因素,导致模型难以识别的样本。这类样本对传统YOLO系列模型的影响较大,常常造成漏检或误检。重参数化(Reparameterization)是一种深度学习中常用的技术,旨在通过对网络参数的变换,使得模型在训练过程中能够更加灵活地适应不同的数据特征。通过对原始网络结构的参数进行重新表达,能够引导模型在训练过程中学习到更加有效的特征。本文详细介绍了YOLOv8的改进——RepHead检测头,并深入分析了它在解决困难样本检测中的应用。

博客 1210

html css设计原来的元素变亮,CSS的诞生

原标题:CSS的诞生 0x01 HTML的困境我是著名的CSS, 很多人都知道我的名字, 但是却对我的原理和细节不求甚解。这也可以理解,相比于简单的HTML,我要复杂得多, 尤其是想要使用我做出美奂美伦的页面,需要了解太多的细节,那真不是一件普通人能干的事儿。 于是大家看见我以后最多打个招呼,然后马上低头绕行。说起HTML,这其实是个非常单纯的家伙, 他只关注内容的语义, 比如说他用表明这是一个...

weixin_34869021的博客 181

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

CSS3动画诞生记

     动画   动画已经成为页面时尚高大上的一个标准,在Android的MD设计规范里面也体会了这一点,合理利用动画会让我们的页面更加生动,体验更上一层楼,从而增加用户粘度,那么在CSS3动画诞生之前,我们在WEB应用开发里面都是怎么实现动画的?从这些实现动画的方法里面,我们是否能够联想到CSS3动画的一些原理呢?   Flash逐帧动画   就是每个时间点即帧都有不同的内容,这样动画播放的时候,因为每个帧的内容不同,从而产生动画的效果,因为需要每个帧提供不同的内容,所以对于一些复杂的动..

iqifenxia的博客 141

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

css样式表诞生,CSS样式表教程

CSS样式表教程[编辑]概述CSS层叠样式表是一种用来表现HTML或XML等文件样式的计算机语言,能够真正做到网页样式与内容分离。一、CSS样式表简介CSS 是 Cascading style Sheets 的缩写,即层叠样式表。它是一种标记语言,直接由浏览器解释执行,用于控制网页内容在网页中如何显示,包括网页内容的布局和视觉效果。 文件的后缀名为.css ,对大小写不敏感。二、CSS样式表的优点...

weixin_36488250的博客 440

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

css样式表诞生,[css]简明教程 CSS样式表概述

CSS(Cascading Style sheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。使用CSS能够简化网页的格式代码,加快下载显示的速度,也减少了需要上传的代码数量,尤其是在设计者面对有数百个网页的站点时,大大减少了重复劳动的工作量。W3C(The World Wide Web Consortium)把动态HTML(Dynami...

weixin_33177758的博客 198

7 天 600 stars, Mobi.css 是如何诞生的

受邀写一篇 Mobi.css 的诞生历程,请原谅我吸引眼球的标题,我会努力把这篇文章写得有一些干货的。 GitHub Repo | Homepage 提要: Mobi.css 是一个轻量、灵活的移动端 CSS 框架。发布一周以来,获得了 600+ stars,登上了 GitHub Trending Top1(CSS),在 Hacker ...

weixin_34258782的博客 187

Animaster:一次由 CodeBuddy 主导的 CSS 动画编辑器诞生记

如果你问我:在这个项目中,CodeBuddy 最让我惊艳的是什么?那我会说,不是它能实现这些功能,而是它知道先做什么、再做什么、怎么做最好。整个开发过程中,它完全主导节奏,每一个步骤都恰到好处——没有草率地跳过,也没有啰嗦地拖延。更重要的是,它写的代码几乎不需要我去「救火」或「返工」。你可以把它当作一个经验老到的工程师,它不仅写代码,还会思考架构、风格一致性和用户体验。

繁依Fanyi的博客 1748

CSS => CSS的前世今生浅谈

作者 | 夏之安然 在2019年的今天,我们能在网上看到炫酷的动画加载,精彩绝伦的交互效果,以及从 PC 端到移动端的响应式交互,大家觉得习以为常。可你不知道的是,在 20 多年前,网页仅仅提供了文档展示能力,没有装饰的它就像一张黑白报纸那样简陋。 你是否会问:网页是如何变成像今天这样精美的? 这就归功于 CSS 了。   CSS 的诞生   20 世纪 90 年...

余光的博客 725

【Hello CSS】序章-起源

首发:krisachan.github.io 作者:陈大鱼头 github: KRISACHAN HTML的诞生 HTML是怎么来的? 在1982年的时候,万维网的发明者Tim Berners-Lee爵士为了让全世界的物理学家能够方便的进行合作与信息共享,造了HTML(HyperText Markup Language) 超文本置标语言。 在1991年3月,Tim Berners-Le...

weixin_33851429的博客 780

侍酒师css,中国首位侍酒师大师诞生

摘要:近日,香格里拉酒店集团的葡萄酒总监吕杨已成为中国首位获得“侍酒师大师”头衔的侍酒师。该头衔由侍酒师大师协会授予,代表着业界最高荣誉。ABSTRACT:Lu Yang, corporate wine director for Shangri-la Hotel group, has become the first Chinese sommelier to be awarded the Mast...

weixin_34798552的博客 283

【实战HTML5与CSS3 第三篇】我第一个HTML5网页诞生了(提供源码)

目录 【实战HTML5与CSS3 第一篇】初探水深,美丽的导航,绚丽的图片爆炸!! 【实战HTML5与CSS3 第二篇】绚丽的快速导航! 【实战HTML5与CSS3 第三篇】我第一个HTML5网页诞生了(提供源码) 前言 昨天的进度有点延缓,只做了快速导航特效,都是晚上回来一点多才基本结束,其中很多问题也没有修正,就只有一个白板特效。 今天是假日的最后一天,所以

binyao02123202的专栏 1383

前端——CSS总结

css介绍 css概述 为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表。有了CSS,html中大部分表现样式的标签就废弃不用了,html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁。 ...

py_xiaoguaishou的博客 237

CSS网页布局权威指南01 (网络)样式简史

模块化CSS的基本原理是,每个模块都可以按照自己的进度进行工作,特别是关键的(或流行的)模块可以沿着万维网联盟(W3C)的进度轨道推进,而不会被其他模块阻碍。这些问题威胁到CSS的发展,但幸运的是,一些聪明的建议被实现了,浏览器开始协调一致。在几年之内,由于互操作性的提高和高调的发展,如基于CSS的Wired杂志的重新设计和CSS禅宗花园,CSS开始流行起来。它的目标是为网页作者提供一种简单的、声明式的样式语言,这种语言非常灵活,最重要的是,为作者和用户提供样式功能。有了这些,我们就可以开始理解CSS了。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 937
上一篇: 关于老刘和码农翻身
下一篇: 从混乱到混乱,业务逻辑搬家记
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值