6种必不可少的波旁威士忌整洁Mixins

本教程旨在使您入门。 为Sass和Bourbon构建的语义网格框架。

Bourbon Neat可使您的标记保持整洁,从而防止您使用网格,列和行类将其弄混。 相反,它利用了混合功能,并且通过将其各种混合功能应用于现有的标记,您可以创建灵活的响应式布局。 让我们探索最基本的mixin:

  • 上下文转移
  • 外容器
  • 跨栏
  • 欧米茄
  • 转移
  • 垫

注意:为了安装Bourbon Neat并开始使用Bourbon Neat,请看一下以前的教程Bourbon Neat:语义,非调理,响应式网格 。

外容器

此混合用于确定布局的容器或包装。 将其应用到元素,Neat将自动在视口中居中(通过添加margin-left: auto / margin-right: auto ),清除浮点并应用指定的$max-width 。 它是一个可选的mixin(尽管推荐),并且您可以在单个页面上包含多个外部容器元素。 您无法做的一件事就是将它们嵌套。

外部容器容纳您的网格。 在其中,网格可以通过$grid-columns变量(默认为12列)跨grid-settings文件中指定$grid-columns数。 行中的所有元素必须加起来等于此变量中指定的总列数。

在下面的虚拟示例中,您将看到container元素包装了一些aside和article标签。 它们分别跨越3列和9列,并且最多增加12列,如我的设置所指定。 如果我要超过该列数,则布局肯定会中断。 将outer-container混合视为在容器元素内添加一致的网格布局的最可能的前提。

哈姆:

.container
  %aside Aside: 3 columns
  %article Article: 9 columns
  
  %aside Aside: 3 columns
  %article Article: 9 columns
  
  %aside Aside: 3 columns
  %article Article: 9 columns

萨斯:

body
  background-color: white

.container
  +outer-container
  background-color: #f5f5f5

aside, article
  padding: 10px
  margin-bottom: 20px
  height: 100px

aside
  +span-columns(3)
  background-color: #81d4fa 

article
  +span-columns(9)
  +omega
  background-color: #e64a19

在此示例中,背景色使查看部件之间的装配更加容易。 而且,此时您不必担心omega mixin; 所有这些都将在适当时候披露。

在_grid-settings Sass部分中,您还可以指定$max-width Sass变量,该变量定义页面内容应跨越的最大宽度。 例如,Neat开箱即用,可轻松更改的$max-width设置为1088px(转换为em)。

如果您希望某个容器元素的max-width与grid-settings全局grid-settings max-width不同,则还可以为该mixin提供$local-max-width的参数。 在这里,您可以提供pixel , em或percent参数。 该容器内的网格的列会自动调整其宽度,但列数保持不变。

萨斯:

.container
  +outer-container(800px)
  background-color: #f5f5f5

要么

.container
  +outer-container(80%)
  background-color: #f5f5f5

跨栏

如果您不熟悉网格设计,则应该研究Khoi Vinh撰写的出色的Ordering Disorder:Web设计的网格原理 。 我强烈推荐它。 您需要立即理解的一个概念是,通过跨页面的一系列列来构建网格设计。

Neat的基本用法非常简单。 您选择一个元素,并告诉它在$grid-columns总数中应该跨越多少$grid-columns 。 让我演示一下基础知识。

哈姆:

.container
  %aside.first  First: 2 columns
  %article.second  Second: 10 columns

  %aside.third  Third: 4 columns
  %article.fourth  Fourth: 8 columns

  %aside.fifth  Fifth: 6 columns
  %article.sixth  Sixth: 6 columns

  %aside.seventh  Seventh: 8 columns
  %article.eighth  Eighth: 4 columns

  %aside.ninth  Ninth: 10 columns
  %article.tenth  Tenth: 2 columns

萨斯:

body
  color: white
  background-color: white

.container 
  +outer-container
  background-color: #f5f5f5

aside, article
  padding: 10px
  margin-bottom: 20px
  height: 100px

article
  background-color: #e64a19

aside
  background-color: #81d4fa

.first
  +span-columns(2)
.third
  +span-columns(4)
.fifth
  +span-columns(6)
.seventh
  +span-columns(8)
.ninth
  +span-columns(10)

.second
  +span-columns(10)
.fourth
  +span-columns(8)
.sixth
  +span-columns(6)
.eighth
  +span-columns(4)
.tenth
  +span-columns(2)

.second, .fourth, .sixth, .eighth
  +omega

正如你所看到的,每行由一个蓝色的aside左边,一个红色article右边的元素。 布局不会中断,因为在外部容器元素中,它们的总列数和宽度之和等于12(按$grid-columns定义)。

最酷的部分是,无需在标记中添加任何样式信息,因为这与您的表示层有关,因此您只需定义Sass文件中网格的构成方式即可。 完全分开的关注点。 在您爱上您之后,每一个精打细算的设计师都会爱您,因为他们不会用样式信息污染内容。

另外一个好处是,您可以随时随地在标记中命名类。 没有人为您做出这些决定,这是没有任何掩饰的祝福。

嵌套列

有时不时需要将网格元素快速嵌套在另一个元素中。

萨斯:

.some-parent-element
  +span-columns(10)
  .some-nested-element
    +span-columns(5 of 10)

假设您有一个跨10列的宽元素,并且应该合并两个跨5列的较小元素。 在这种情况下,请为嵌套元素提供父列的大小,作为span-columns mixin的参数。 让我们看一个更具体的例子。

哈姆:

.container
  %aside.first First: 2 columns
  %article.second
    %article.third Third: 5 nested columns
    %article.fourth Fourth: 5 nested  columns

萨斯:

body
  color: white
  background-color: white

.container
  +outer-container
  background-color: #f5f5f5
  padding:
    top: 15px
    bottom: 15px

aside, article
  padding: 10px
  margin-bottom: 20px
  height: 100px

article
  background-color: #e64a19

aside
  background-color: #81d4fa

.first, .second
  height: 250px
  
.second
  +span-columns(10)
  
.third, .fourth
  +span-columns(5 of 10)
  background-color: darken(#e64a19, 6)
  margin-top: 25px
  
.first
  +span-columns(2)
  padding-top: 25px

欧米茄

对于新手来说,使用网格的另一个重要概念是装订线。 这是网格元素之间右侧的边距,并且会自动为容器中的每个网格元素(最后一个除外)创建一个边距! 如果您调整浏览器窗口的大小,则装订线也会相应地缩放。 下面的示例演示了网格元素之间的空间。 装订线由外部容器发出的灰色背景表示。

哈姆:

.container
  .first  1 col
  .second 2 col
  .third  3 col
  .fourth 3 col
  .fifth  2 col
  .sixth  1 col

萨斯:

body
  color: white
  background-color: white

.container
  +outer-container
  background-color: #f5f5f5

.first, .second, .third, .fourth, .fifth, .sixth
  background-color: #81d4fa
  padding: 10px
  height: 200px
  
.first
  +span-columns(1)
  
.second
  +span-columns(2)
   
.third
  +span-columns(3)
  
.fourth
  +span-columns(3)
  
.fifth
  +span-columns(2)
  
.sixth
  +span-columns(1)

随便吧? 但是,猜想如果我们通过复制其正下方的行来加倍列会发生什么呢?

噢亲爱的。 那么这里发生了什么? 由于第一行中的第六个元素不再是最后一个元素 ,因此默认情况下它还会获得一个右装订线(边距)。 让我对此非常清楚:为了获得清晰对齐的布局,默认情况下,容器中的最后一个元素的装订线已删除。 由于在第六个元素上增加了装订线,因此第一行中所有元素的宽度现在超过了每行可以跨越的total-columns数的total-columns total-width ,并且网格中断。

没什么可悲的,而且修复很容易。 只需找到需要将右侧装订线移除的元素,然后在其中应用omega mixin。 做完了!

哈姆:

.container
  .first  1 col
  .second 2 col
  .third  3 col
  .fourth 3 col
  .fifth  2 col
  .sixth  1 col
  
  .first  1 col
  .second 2 col
  .third  3 col
  .fourth 3 col
  .fifth  2 col
  .sixth  1 col

萨斯:

body
  color: white
  background-color: white

.container
  +outer-container
  background-color: #f5f5f5

.first, .second, .third, .fourth, .fifth, .sixth
  background-color: #81d4fa
  padding: 10px
  height: 200px
  
.first
  +span-columns(1)
  
.second
  +span-columns(2)
   
.third
  +span-columns(3)
  
.fourth
  +span-columns(3)
  
.fifth
  +span-columns(2)
  
.sixth
  +span-columns(1)
  +omega

现在,每个元素都很好地放置到位,所有行都没有超出它们的total-width 。

让我们更进一步。 假设您有几行应均匀显示相同大小的图像而不会破坏网格。 我们需要的是几个具有相同宽度的元素,这里是span-columns(2) ,并将它们放置在几行中。 神奇之处在于您为omega提供了以下论据:

img
  +omega(6n)

在这里,每个第六个img元素都将删除其右装订线,因此将六个2-column元素均匀地装入外部容器的12列中。 整齐!

哈姆:

.container
  %img
  %img
  %img
  %img
  %img
  %img
  
  %img
  %img
  %img
  %img
  %img
  %img
  
  %img
  %img
  %img
  %img
  %img
  %img

萨斯:

body
  color: white
  background-color: white

.container
  +outer-container
  background-color: #f5f5f5

img
  +span-columns(2)
  +omega(6n)
  height: 200px
  margin-bottom: 5px
  background-color: #81d4fa

每行只需要四个元素? 没问题! 将omega的论点减少到4n 。 在下一个教程中,当我们进入响应式网格以及如何通过媒体查询更改布局时,此技术将派上用场。

萨斯:

img
  +omega(4n)

我鼓励您通过提供的笔来玩这个例子,并对此有所了解。 这里没有魔术,但是如果您需要更多的时间来围绕细节,请不要感到惊讶。 欧米茄的观点有些混乱,我毫不怀疑它将很快就变得清晰起来。

注意!

智慧的最后一句话:在某些情况下,向元素提供span-columns和omega mixins似乎很重要。 我的建议是始终先应用span-columns ,以免发生意外行为。

转移

这个混入应该很快。 如果要通过向左或向右水平移动元素来调整元素,则可以应用shift mixin,并为其提供应移动的列数。 您可以使用整数或浮点数。

萨斯:

.some-element-that-needs-adjusting
  +shift(n)

提供正数(无单位)的列以将元素向右移动,反之亦然。 在幕后,Neat增大或减小元素上的margin-left的百分比值。

注意:如果使用shift不带参数,它将默认为shift(1) 。

上下文转移

这种混合与shift具有相同的思想(它shift-in-context后台使用shift-in-context ),但是是为嵌套的网格元素制作的。 我在一个带有嵌套网格的虚拟示例中进行了一些处理,但老实说,我使用shift获得了相同的结果。

垫

我认为我不需要详细介绍其工作原理。 如果您提供带有default的mixin作为参数,它可以清理样式表并为您提供默认的装订线宽度。 没什么花哨的,但我想我会提到它来完成您调整网格间距的选择。

萨斯:

.some-element-that-needs-padding
  +pad(10px 20px 30px default)

结论

这就是您开始使用Neat网格所需要知道的一切。 这些示例应该为您提供了坚实的基础,使您能够构建所需的任何网格-无论您喜欢多复杂。

下一个教程将涵盖另一轮的Neat mixins,还说明了如何使用媒体查询和断点来调整网格以更改视口大小。 到时候那里见!

翻译自: https://webdesign.tutsplus.com/articles/6-essential-bourbon-neat-mixins--cms-24894

量子城域网建设设备系列(三):网络管理系统(NMS) 本文对量子网络中的网络管理系统进行了初步的介绍。 阅读详情

相关推荐

AD9361 FIR 滤波器设计

matlab 得到滤波器系数

weixin_44630490的博客 1万+

将波旁威士忌的整洁Mixins提升到新的水平

现在您已经掌握了基础知识,在第二篇有关Neat mixins的教程中,我将更深入地探讨,探索其他mixin并介绍一个功能。 我们将看以下内容: 功能 新断点 混合蛋白 重置布局方向 方向上下文 显示上下文 重置显示 填父母 重置所有 媒体 行 媒体 在过去的几年中,已经非常清楚了灵活的设计对屏幕尺寸和设备不断变化的格局做出响应的重要性。 从这个意...

Web design 教程小屋 306

【k8s面试】超详细kubernetes面试题总结,面试必问!(附200道K8s Docker面试真题+答案详解

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

2401_83620959的博客 1465

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 304

【密码学】生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)

生成8位26个字母和数字的全排列(密钥)代码(非递归高效直接) 用C语言或C++,生成一个8位的26个字母和数字的全排列的原代码,例如从:00000000到ZZZZZZZZ。 说明:生成的这个字典会非常大,有36^8条记录,估计要3T的硬盘,跑一个晚上看看         这个方法比递归更高效,更直接。                                                ...

Wu_Being 的优快云 博客 1万+

最新CobaltStrike4.8/CobaltStrike4.9、CS4.9/CS4.8、 Windows/Linux/Mac版下载

Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。 Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,

weixin_43167326的博客 7978

信创环境下PageOffice文档控件适配与实践

信创适配做到文档控件这一层,拼的已经不是"有没有国产版本",而是同一个功能在两类终端上是否真的等价。等价的标准很具体:同一次点击能得到同样的结果,同一份公文能得到同样的版式,同一个项目不需要维护两套代码。这背后是三件并不轻松的工作:服务端用一套接口同时支撑两类终端,客户端把两种系统与四种芯片的安装包分发清楚,文档内核层由产品侧跟着 WPS 的版本走。浏览器这一层的压力,则被收进了产品自己的窗口里——升级节奏由产品掌握,不再交给运气。

zi_wu_xian的专栏 333

Clawdbot完 整安装与使⽤指南(保姆级教程)

Clawdbot 是⼀款开源个⼈ AI 智能体(Personal AI Agent),核⼼优势为本地部署+系统级执⾏+全渠道交互,可通过聊天⼯具(Telegram/WhatsApp 等)下达指令,⾃动完成⽂件整理、代码部署、⽇程同步等任务,所有数据本地存储,隐私零泄露。截⾄2026年 1 ⽉,GitHub 星标突破 4 万+,⽀持 Windows/Mac/Linux/云服务器多平台。

A1609926242的博客 1626

第三篇 第 6 课

前置:第三篇第 1 课(stdx 引入),第二篇第 1 课(std.regex)。环境:仓颉 SDK 1.2.0。本文所有代码与输出均逐行实测。

weixin_41618057的博客 556

Cesium中级开发教程之二十二:视锥体

教程示例网站:https://thomaz529.github.io。

883

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1306

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 581

ppt保存时嵌入字体,但找不到字体使用的位置的解决办法

摘要 当PPT提示无法保存嵌入字体时,可通过VBA代码快速定位使用该字体的文本。具体步骤如下: 按ALT+F11打开VBA编辑器,新建模块并粘贴提供的代码; 运行代码后输入目标字体名称(如“方正兰亭黑简体”); 程序将列出所有使用该字体的幻灯片编号及对应文本内容; 修改这些文本的字体即可解决保存问题。该方法高效精准,适用于排查PPT字体嵌入失败的情况。(150字)

智慧空间实验室 1405

Java 集合容器高频面试题全解:HashMap 树化阈值、1.7 死循环与 ConcurrentHashMap 演进(2026 招聘 JD 真题复盘)

HashMap 树化阈值 8 的泊松分布依据、退化阈值 6 的防抖设计、JDK 1.7 头插成环死循环的排查与修复、1.8 尾插后为何仍线程不安全、ConcurrentHashMap 放弃分段锁的原因与 ForwardingNode 协作扩容、computeIfAbsent 死锁陷阱、大集合找重复的场景题选型,附三层追问链自测。题目来源为 38 期公开招聘 JD 样本与字节、拼多多、建行、美团、快手公开面经。

蒙眼过河 424

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

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

spdlog 同步日志库使用详解

spdlog是一个轻量级 C++ 日志库,支持同步日志、异步日志、多线程日志、日志文件轮转和自定义日志格式。对于嵌入式 Linux 应用开发,我建议先使用。它可以帮我们完成:日志级别过滤。时间戳和线程 ID 输出。日志格式化。终端和文件输出。多线程安全写入。日志文件按大小或时间轮转。我们不需要自己实现互斥锁、文件写入、日志格式化和轮转等底层功能。

zengjiajun2006的博客 1121

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JavaSE通关手册:数据类型与变量

代码无需额外处理,编译时编译器自动完成转换。

xys_678的博客 232

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java 多态 学习笔记

多态是面向对象编程的重要特性,指同一操作作用于不同对象时产生不同行为。其核心在于“父类引用指向子类对象”,结合方法重写实现运行时动态绑定。多态使代码更灵活、可扩展,如用Person p = new Student();统一处理各类人员注册,无需修改调用逻辑。但多态无法直接调用子类特有方法,需通过instanceof判断并强制转换。编译时看左边(类型),运行时看右边(实际对象),实现解耦与维护便利。

AA_AA114514的博客 369

IDEA 简介:从零认识 IntelliJ IDEA

IDEA 全称,是由 JetBrains 公司开发的一款主流 Java 集成开发环境(IDE)。它集代码编辑、编译、调试、测试、版本控制、构建管理等功能于一体,被大量 Java 开发者视为日常开发的首选工具。所谓 IDE(Integrated Development Environment,集成开发环境),就是把写代码所需的各类工具整合到同一个界面中。相比只用文本编辑器加命令行编译,IDE 能显著减少重复操作,让开发者把精力集中在业务逻辑上。

ztI10的博客 180

Docker部署linkding:HTTPS与数据备份

部署私人书签库,除了让页面能够打开,还需要考虑几个实际问题:重建容器后数据是否保留、登录和保存是否正常、升级前怎样备份,以及出现 502 或 CSRF 错误时从哪里检查。本文使用 Docker Compose 部署 linkding,采用默认 SQLite 数据库,通过 Caddy 提供 HTTPS,并完成账户创建、数据持久化验证和备份。如果重建后账户或书签消失,应先检查是否换了项目目录、改了挂载路径,或者启动了另一套实例,不要急着重新初始化。遇到权限问题,应根据日志确认具体目录和运行用户,再调整权限。

tedcloud123的博客 177

C++20协程怎么运行?原理与三大核心组件深度剖析

C++20协程是轻量级的无栈状态机,通过co_await、co_yield、co_return实现挂起与恢复,由Promise、协程句柄和Awaitable三大组件协同工作。协程与线程互补,适用于高效管理大量并发I/O任务,显著降低上下文切换开销。其核心在于编译器生成的状态机机制,需配合库(如cppcoro)使用。掌握Promise控制逻辑、句柄生命周期管理及Awaitable语义,是构建高性能异步程序的基础。

Lucis__的博客 316

动态代理两大流派:JDK 代理与子类代理

业务类想加日志,最直白的写法是侵入式修改: 问题很明显:每个方法都要改一遍,改一个业务要动十处。代理模式的解法是:调用方不直接依赖 ,而是依赖一个代理对象。代理对象长得跟目标一模一样,调用它 → 代理先执行增强逻辑 → 再转调真实对象。 关键在于:代理对象的类型是哪来的?这就是"动态"二字的含义:代理类在运行时才诞生。两个角色: 承载增强逻辑, 负责生成代理类。 组装代理并调用: 输出: 业务代码 一行没动,增强逻辑全在 里。这就是 AOP 的味道。 内部四步: 第 2 步 内部:先查 (同一个接口

Android的专栏 654

c++ explicit关键字详解

explicit。

拒绝AI文,努力在AI时代写出感动人心的好文章 169

TRingBuffer两端都能增删(快递站版)

TRingBuffer 是一个支持两端增删、下标访问且容量动态增长的环形双端队列。它通过无符号索引的永不归零设计,利用减法自动模运算实现空满判断与元素计数,避免了传统环形缓冲浪费格子的问题。内部以票号(索引)标记首尾,扩容时重排元素为连续存储,保证 O(1) 操作与高缓存效率。虽不线程安全,但其高效性使其成为游戏开发中事件队列、命令缓冲等场景的理想选择。

u013768914的博客 312

Teamcenter Java SOA 开发:连接、查询与保存

本文介绍如何通过 Java 调用 Teamcenter SOA 接口实现外部系统对接,涵盖连接登录、查询保存等核心操作。以最小闭环示例展示 Connection、Service、ModelObject 等关键组件的使用,强调错误处理与事务管理要点。梳理了 DataManagement、Query、File Management 等 API 模块分工,并结合“工作移交WebService”案例,说明幂等性设计与流程状态返回的重要性。适用于 Web 门户、ERP 集成等场景,建议批量操作用 bulk 接口优化性

软件工程师文艺 275

Mac上装了最新版本的Android Studio,但是没找到jdk的设置选项也没找到jbr的目录

新版Android Studio(2025.3.1+)因三项变更导致常见问题:一、JDK设置移至“DaemonJVM criteria”,新项目默认自动探测或下载JDK;二、JBR目录改名为带版本号的jbr-21等,需进入.app/Contents/查看,或通过About窗口确认运行时;三、命令行缺adb因platform-tools未加入PATH,需在SDK Manager中勾选并配置~/.zshrc中的ANDROID_HOME及PATH。重装或清理残留可解决缺失问题,切勿手动设JAVA_HOME或安装冲

Programming is a highly artistic endeavor 390

建造者模式,就是“点套餐”而不是“背配方”

建造者模式如同点套餐:无需记住复杂配方,只需一步步选择配置,最后build()交付完整对象。它将复杂对象的构造过程解耦,通过链式调用实现清晰、灵活、可读性强的构建方式,广泛应用于奶茶点单、电脑组装、盖房建屋及Spring Boot等场景,有效避免参数爆炸与语义模糊问题。

weixin_51288065的博客 271
上一篇: calc_Calc()网格是最好的网格
下一篇: css的box模型_CSS Box模型的基础
daique1908
博客等级 码龄10年 29粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值