hello word Your description here. 2025-11-09T09:21:00+00:00 Typecho https://blog.zhuxu.asia/feed/atom/ <![CDATA[代码高亮测试]]> https://blog.zhuxu.asia/archives/47/ 2025-11-09T09:21:00+00:00 2025-11-09T09:21:00+00:00 狗蛋 https://blog.zhuxu.asia console.log("行号从5开始"); console.log("下一行是6");
def func():
    a = 1
    b = 2  # 高亮此行
    c = 3
    d = 4  # 高亮此行及下两行
    e = 5
    f = 6
<div>  两个空格  </div>
    → 一个制表符
  • [x] Write the press release
  • [ ] Update the website
  • [ ] Contact the media
]]>
<![CDATA[这是一篇文章]]> https://blog.zhuxu.asia/archives/46/ 2025-11-07T08:40:00+00:00 2025-11-07T08:40:00+00:00 狗蛋 https://blog.zhuxu.asia index.php

模板信息

我们先从主文件说起,打开这个文件,首先看到的是注释:

/**
 * 这是typecho系统的一套默认皮肤。你可以在<a href="http://typecho.org">typecho的官方网站</a>获得更多关于此皮肤的信息
 * 
 * @package Typecho Default Theme 
 * @author typecho
 * @version 1.0.0
 * @link http://typecho.org
 */

这是模板信息存放的地方,它将在后台的模板选择页显示。前两行是简短的介绍,每个“*”表示一个段落。

  • @package 表示模板名
  • @author表示作者名
  • @version是模板的版本号
  • @link是作者的网站连接

紧挨着注释下方的$this->need('header.php'),在结尾处也会看到$this->need('sidebar.php')$this->need('footer.php')。这些语句用来调用模板的其它模块。header故名思议是页首,sidebar是侧栏,footer是页脚。(与php的include功能差不多,need是typecho程序内置的方法,内部还会存在一些判断什么的,建议在做主题是使用need方法而不是include)

显示文章列表

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>

进入文章循环,输出文章,一句一句介绍

代码解释
<?php if ($this->have()): ?>判断是否有文章,没有的话输出提示
<?php while($this->next()): ?>开始循环输出文章,与<?php endwhile; ?>对应
<?php $this->permalink() ?>文章所在的连接
<?php $this->title() ?>文章标题
<?php $this->author(); ?>文章作者
<?php $this->author->permalink(); ?>文章作者地址
<?php $this->date(); ?>文章的发布日期,日期格式可在typecho后台设置->阅读中设置
<?php $this->category(','); ?>文章所在分类
<?php $this->tags(','); ?>文章标签
<?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>文章评论数及连接
<?php $this->content('- 阅读剩余部分 -'); ?>文章内容,其中的“- 阅读剩余部分 -”是显示摘要时隐藏部分的邀请链接,也可使用<?php $this->excerpt(140, '...'); ?>来进行自动截取文字内容,“140”是截取字符数量

文章分页

<?php $this->pageNav('«前一页', '后一页»'); ?>

也可以这样分开写

<?php $this->pageLink('下一页','next'); ?>
<?php $this->pageLink('上一页'); ?>

其他说明

archive.php代码同index.php,区别就是index.php是显示首页的,而archive.php是显示某分类下的文章列表、搜索结果的。如果模板文件中不存在archive.php,程序就会自动用index.php代替archive.php。

header.php

编码

打开这个文件,见到的第一个php代码就是:

<meta charset="<?php $this->options->charset(); ?>">

调用默认的编码,现在最经常用都是utf-8吧。所以我通常是直接写成utf-8,省去php处理时间。

页面标题

<?php $this->archiveTitle(array(
            'category'  =>  _t('分类 %s 下的文章'),
            'search'    =>  _t('包含关键字 %s 的文章'),
            'tag'       =>  _t('标签 %s 下的文章'),
            'author'    =>  _t('%s 发布的文章')
        ), '', ' - '); ?><?php $this->options->title(); ?>

<?php $this->archiveTitle(); ?>是当前页面的标题,<?php $this->options->title(); ?>是网站的标题。

导入样式

<link rel="stylesheet" href="<?php $this->options->themeUrl('style.css'); ?>">

其中style.css是样式表文件相对模板目录的路径和文件名。

其它HTML头部信息

<?php $this->header(); ?>

这是typecho的自有函数,会输出HTML头部信息;同时这个也是头部插件接口,有了它插件可以向网站头部插入css或者js代码。

网站名称与logo

<?php if ($this->options->logoUrl): ?>
<a id="logo" href="<?php $this->options->siteUrl(); ?>">
<img src="<?php $this->options->logoUrl() ?>" alt="<?php $this->options->title() ?>" />
</a>
<?php else: ?>
<a id="logo" href="<?php $this->options->siteUrl(); ?>"><?php $this->options->title() ?></a>
<p class="description"><?php $this->options->description() ?></p>
<?php endif; ?>

第一句的if判断是判断模板是否通过模板设置设置了logo的地址,如果设置了就显示logo图片,否则就显示博客标题。
<?php $this->options->siteUrl(); ?>是网站地址
<?php $this->options->title() ?>是网站名字
<?php $this->options->description() ?>是网站描述。
logo部分的讲解将会在functions.php章节中详细讲解。

站内搜索

<form id="search" method="post" action="<?php $this->options->siteUrl(); ?>" role="search">
<input type="text" id="s" name="s" class="text" placeholder="<?php _e('输入关键字搜索'); ?>" />
<button type="submit" class="submit"><?php _e('搜索'); ?></button>
</form>

当你的文章很多很多,这个搜索就必不可少。

页面导航

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
0

其中<?php $this->options->siteUrl(); ?>是网站地址,然后下面的while循环是循环输出独立页面的,其中<?php $pages->permalink(); ?>是独立页面的超链接,<?php $pages->title(); ?>是独立页面的标题。

sidebar.php

最新文章列表

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
1

获取最新的10篇文章标题,得到的html是

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
2

具体显示数量可在typecho后台设置->阅读中设置。

最新回复列表

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
3

获取最新的10个回复,得到的html是

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
4

其中<?php $comments->excerpt(35, '...'); ?>,“35”代表要回复内容截取的字的个数,“…”代表省略的意思,你可以自行修改。具体显示数量可在typecho后台设置->评论中设置。

文章分类列表

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
5

效果如下

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
6

如果有个分类3,分类4是上述分类2的子分类,那么效果如下

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
7

按月归档

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
8

输出:

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>
9

登陆登出

<?php $this->pageNav('«前一页', '后一页»'); ?>
0

这些是可有可无的,只是为了方便登录登出。<?php $this->options->adminUrl(); ?>是后台地址,<?php $this->user->screenName(); ?>用户昵称,<?php $this->options->logoutUrl(); ?>登出链接,<?php $this->options->adminUrl('login.php'); ?>登陆链接。

RSS地址

<?php $this->pageNav('«前一页', '后一页»'); ?>
1

footer.php

页脚文件,推荐大家把一些较大的js放在这个文件中最后载入,不会影响阅读。看看我们的footer要讲解些什么?

版权声明等

<?php $this->pageNav('«前一页', '后一页»'); ?>
2
  • <?php echo date('Y'); ?>是当前年份
  • <?php $this->options->siteUrl(); ?>是网站地址
  • <?php $this->options->title(); ?>是网站标题。

插件接口

<?php $this->pageNav('«前一页', '后一页»'); ?>
3

用于插件向页脚插入css,js文件等。

post.php

post页和index是差不多的,下面解释下post.php里面存在的php代码。

代码与说明

代码解释
<?php $this->permalink() ?>文章地址
<?php $this->title() ?>文章标题
<?php $this->author->permalink(); ?>文章作者主页链接
<?php $this->author(); ?>文章作者昵称
<?php $this->date(); ?>文章发布时间
<?php $this->category(','); ?>文章分类,多个分类中间用逗号隔开
<?php $this->content(); ?>文章内容
<?php $this->tags(', ', true, 'none'); ?>文章标签,多个标签间用逗号隔开,标签以带超链接的形式显示,如果不存在标签则显示none
<?php $this->need('comments.php'); ?>调用评论页
<?php $this->thePrev('%s','没有了'); ?>带有超链接的上一篇文章的标题
<?php $this->theNext('%s','没有了'); ?>带有超链接的下一篇文章的标题

其他说明

page.php代码同post.php,区别就是post是用来显示文章的,而page.php是用来显示独立页面的。

comments.php

评论列表

<?php $this->pageNav('«前一页', '后一页»'); ?>
4

判断文章是否存在评论,如果存在就输出评论;其中<?php $comments->listComments(); ?>是评论列表,<?php $comments->pageNav('&laquo; 前一页', '后一页 &raquo;'); ?>是评论翻页按钮。

评论输入表单

<?php $this->pageNav('«前一页', '后一页»'); ?>
5

具体请对应上述代码中注释自行理解。

functions.php

function themeConfig($form) 内的代码是模板设置功能

logo设置

<?php $this->pageNav('«前一页', '后一页»'); ?>
6

这行代码就是在模板设置处添加一个logo设置,可以添加一个图片地址作为logo,添加好了通过如下代码即可输出这个图片

<?php $this->pageNav('«前一页', '后一页»'); ?>
7

此处对应header.php中的logo显示。

显示开关

<?php $this->pageNav('«前一页', '后一页»'); ?>
8

是一些开关,这里拿ShowCategory举例,如果勾选他

<?php $this->pageNav('«前一页', '后一页»'); ?>
9

这里对应的是sidebar.php中的最新文章,最新评论,文章分类,归档等显示开关。

其他说明

参考以上代码,照葫芦画瓢,可以增加自己需要的模板设置。

文件结构说明

文件名作用必须
style.css主题样式文件
screenshot.png主题缩略图,图片后缀支持jpg,png,gif,bmp,jpeg
index.php首页以及说明文件
404.php404页面文件
archive.php通用(分类、搜索、标签、作者)页面文件
category.php分类页面文件
search.php搜索页面文件
tag.php标签页面文件
author.php作者页面文件
comments.php评论页面文件
footer.php底部页面文件
functions.php主题函数文件
header.php头部页面文件
page.php独立页面文件
post.php日志页面文件
sidebar.php侧边栏页面文件

PS:
如果archive.php不存在,index.php也会作为通用页面,实现archive.php的工作。

]]>
<![CDATA[人工智能时代的职业变革与人才培养]]> https://blog.zhuxu.asia/archives/41/ 2025-11-01T12:42:58+00:00 2025-11-01T12:42:58+00:00 狗蛋 https://blog.zhuxu.asia 随着人工智能技术的飞速发展,从工业机器人到智能客服,从算法推荐到自动驾驶,人工智能已经渗透到社会生产生活的各个领域,引发了一场深刻的职业变革。传统职业面临着被替代的风险,新兴职业不断涌现,职业结构的调整速度日益加快。在这一背景下,如何适应职业变革的趋势,培养符合时代需求的人才,成为个人、企业和社会共同面临的重要课题。
人工智能对职业的影响并非简单的“替代”,而是呈现出“替代与创造并存”的复杂态势。根据牛津大学的研究报告,重复性强、规则明确、低技能要求的职业最容易被人工智能替代,如制造业中的流水线工人、零售业中的收银员、银行业中的柜员等。以制造业为例,工业机器人凭借其高精度、高效率、不知疲倦的优势,已经在汽车制造、电子组装等领域大规模应用,替代了大量传统的手工操作岗位。富士康等大型制造企业引入工业机器人后,生产线的自动化率显著提高,人工需求大幅减少,这一现象被称为“机器换人”。
除了替代低技能岗位,人工智能还在重塑中高技能岗位的工作内容。以医疗行业为例,人工智能辅助诊断系统能够通过深度学习大量的医学影像数据,快速准确地识别肿瘤、肺炎等疾病,辅助医生做出诊断决策。这不仅提高了诊断效率,也降低了误诊率,但同时也要求医生具备与人工智能系统协作的能力,能够解读系统给出的诊断建议,并结合临床经验做出最终判断。类似地,在法律行业,智能合同审查系统能够快速识别合同中的风险条款,替代了律师的部分基础性工作,让律师能够将更多精力投入到案件分析、策略制定等高端工作中。这种“人机协作”的模式,正在成为越来越多职业的新形态。
与传统职业被替代或重塑的同时,人工智能的发展也创造了大量新兴职业。人工智能研发领域需要算法工程师、数据科学家、机器学习工程师等专业人才,这些职业对专业技能的要求极高,薪酬水平也位居各行业前列。人工智能应用领域则涌现出智能产品经理、人工智能训练师、数据标注员等新兴职业。其中,人工智能训练师负责对人工智能系统进行数据标注、模型训练和优化,确保系统能够准确理解和处理信息,这一职业的需求量近年来呈现爆发式增长。此外,随着人工智能伦理、隐私保护等问题日益受到关注,人工智能伦理研究员、数据安全专家等职业也逐渐兴起,成为保障人工智能健康发展的重要力量。
职业变革的加速也对人才的能力结构提出了新的要求。在人工智能时代,单一的专业技能已经无法满足职业发展的需求,复合型能力成为人才竞争力的核心。首先,数字化能力是基础要求,无论是传统职业还是新兴职业,都需要从业者具备基本的数字工具使用能力、数据处理能力和信息技术素养。其次,创新能力和问题解决能力变得更加重要,人工智能能够处理重复性问题,但在面对复杂的、不确定性的问题时,仍需要人类发挥创新思维,提出解决方案。例如,算法工程师需要不断创新算法模型,以提高人工智能系统的性能;企业管理者需要结合人工智能技术,创新商业模式和管理方式。
此外,跨学科素养和终身学习能力也成为人工智能时代人才的必备素质。人工智能技术的发展融合了计算机科学、数学、统计学、心理学等多个学科的知识,许多新兴职业都要求从业者具备跨学科的知识结构。例如,智能教育产品经理需要同时了解人工智能技术、教育学和心理学知识;人工智能医疗研究员需要掌握计算机技术和医学知识。同时,由于技术发展速度快,职业结构调整频繁,从业者必须保持终身学习的习惯,不断更新知识和技能,才能适应职业发展的需求。
面对人工智能时代的职业变革,个人、企业和社会需要共同发力,构建完善的人才培养体系。从个人层面来看,要树立终身学习的理念,主动关注行业发展趋势,根据自身职业规划,有针对性地学习新的知识和技能。例如,传统制造业的工人可以学习工业机器人操作和维护技能,转型为技术工人;传统媒体从业者可以学习新媒体运营和数据分析技能,适应媒体融合的发展趋势。同时,要注重培养自己的创新能力、批判性思维和人际沟通能力,这些能力是人工智能难以替代的。
企业作为人才需求的主体,应当承担起人才培养的重要责任。一方面,企业要加大对员工培训的投入,建立完善的内部培训体系,根据技术发展和岗位需求,为员工提供个性化的培训课程,帮助员工实现职业转型。例如,互联网企业可以为员工提供人工智能技术培训,培养内部的人工智能应用人才;制造企业可以与职业院校合作,开展订单式培训,培养符合企业需求的技能型人才。另一方面,企业要营造创新的企业文化,鼓励员工尝试新的技术和方法,为人才的成长提供良好的环境。
社会层面,教育体系的改革是关键。学校教育要打破传统的学科壁垒,加强跨学科教育,开设人工智能相关的课程,培养学生的数字化素养和创新能力。例如,中小学可以开设编程课程,培养学生的逻辑思维能力;高等院校可以设立人工智能专业,培养高端研发人才,同时在其他专业中融入人工智能相关知识,培养复合型人才。此外,职业教育要紧跟产业发展趋势,调整专业设置,加强实践教学,提高学生的职业技能和岗位适应能力。政府要加大对教育和培训的投入,制定相关政策,鼓励企业、学校和社会机构开展合作,构建多元化的人才培养体系。

]]>
<![CDATA[从甲骨文到数字书法——汉字书写文化的传承与革新]]> https://blog.zhuxu.asia/archives/40/ 2025-11-01T12:42:39+00:00 2025-11-01T12:42:39+00:00 狗蛋 https://blog.zhuxu.asia 汉字,作为世界上唯一沿用至今的表意文字体系,其书写不仅是信息传递的工具,更承载着中华民族数千年的文化基因与审美追求。从殷商甲骨上的契刻符号,到商周青铜鼎上的铭文,从秦汉竹简的隶书古朴,到魏晋名士的行书风流,汉字书写在不同历史时期呈现出独特的艺术风貌,也形成了一套完整的文化传承体系。进入数字时代,键盘输入逐渐取代纸笔书写,汉字书写文化面临着前所未有的挑战,却也在技术赋能下迎来了新的革新机遇。
殷商时期的甲骨文,是目前已知最早的成熟汉字体系。当时的先民们将占卜吉凶的辞句刻在龟甲兽骨上,线条刚劲瘦硬、疏密相间,既有“刀刻”的质感,又暗含着原始的对称美学。由于甲骨材质坚硬,契刻难度极大,每一个字的笔画都经过了精心考量,这种“惜墨如金”的书写方式,也塑造了汉字最初的构形逻辑——以最简单的线条勾勒事物的本质特征。比如“日”字,便是模拟太阳圆形的轮廓;“山”字,则是对山峰连绵起伏形态的抽象概括。甲骨文的书写者多为王室贵族或专职卜官,他们的书写活动与祭祀、战争等重大国事紧密相关,使得汉字从诞生之初就兼具实用功能与精神内涵。
商周时期的金文(铭文)在甲骨文的基础上实现了突破。青铜鼎彝作为“国之重器”,其铭文不仅记录了祖先功绩、祭祀典礼等重要事件,更在书写风格上变得厚重饱满。由于青铜铸造的工艺特性,铭文线条圆润雄浑,结构匀称端庄,展现出“金石之气”的独特美感。与甲骨文的契刻不同,金文的书写先以毛笔在陶范上书写,再进行铸造,这使得书写者能够更自由地发挥笔法,线条的粗细变化和转折过渡也更加自然。西周时期的《毛公鼎》铭文,全文497字,是目前已知最长的金文作品,其字体结构严谨,笔法娴熟,堪称金文书法的巅峰之作,也证明了当时汉字书写已经形成了较为规范的技法体系。
秦汉时期是汉字书写体系成熟的关键阶段。秦始皇统一六国后,推行“书同文”政策,以小篆为标准字体,规范了汉字的字形结构。小篆线条匀净流畅,笔画对称整齐,具有极强的规范性和装饰性,是汉字书写从实用向审美过渡的重要标志。但小篆书写难度较大,难以满足日常政务需求,于是隶书在民间逐渐兴起。隶书打破了小篆的圆转笔法,采用“蚕头燕尾”“一波三折”的笔法特征,字形由修长变为扁方,书写更为简便高效。东汉时期,隶书达到鼎盛,碑刻书法如《曹全碑》《张迁碑》等,或秀丽飘逸,或雄浑厚重,展现出丰富的艺术风格,为汉字书法奠定了坚实的技法基础。
魏晋南北朝时期,汉字书写进入了“尚韵”的艺术高峰。随着造纸术的普及和文人阶层的兴起,毛笔书写成为文人表达情感、彰显个性的重要方式。王羲之的《兰亭集序》被誉为“天下第一行书”,其笔法灵动多变,结体疏密相间,字势欹正相生,将汉字的书写美感推向了极致。这一时期,楷书、行书、草书等字体逐渐成熟,形成了完整的字体体系。楷书规范端庄,适合官方文书;行书兼具实用与审美,成为日常书写的主流;草书则以奔放洒脱的风格,成为文人抒发情感的载体。汉字书写不再仅仅是信息传递的工具,更成为一种独立的艺术形式——书法艺术,形成了“书为心画”的审美理念。
唐宋时期,书法艺术进一步繁荣发展,形成了“尚法”“尚意”的艺术追求。唐代楷书发展到顶峰,颜真卿、柳公权、欧阳询等书法家建立了严谨的楷书技法规范,其作品如《颜勤礼碑》《玄秘塔碑》《九成宫醴泉铭》等,成为后世学习楷书的典范。同时,草书在张旭、怀素的笔下达到了新的高度,其作品笔走龙蛇、气势磅礴,将书法的抒情性发挥到极致。宋代文人将书法与诗文、绘画相结合,提出“书贵写意”的理念,苏轼、黄庭坚、米芾、蔡襄等“宋四家”的书法作品,更注重个人情感的表达,笔法自由灵动,形成了独特的艺术风格。这一时期,书法教育成为科举制度的重要组成部分,“馆阁体”的出现虽然在一定程度上限制了个性发挥,但也推动了书法技法的普及。
明清时期,书法艺术呈现出多元化的发展态势。明代文人书法注重个性张扬,祝允明、文徵明、唐寅、王宠等书法家各具特色,或豪放,或清秀,形成了鲜明的艺术风格。清代则出现了“碑学”与“帖学”的争论,碑学主张从汉魏碑刻中汲取营养,强调笔法的雄浑厚重;帖学则注重学习晋唐以来的法帖,追求笔法的灵动飘逸。邓石如、伊秉绶等碑学大家,将汉隶与篆书的笔法融入楷书和行书,创造出全新的书法风格,为书法艺术注入了新的活力。这一时期,书法工具的改进和印刷技术的发展,也使得书法作品的传播更加广泛,进一步推动了书法文化的普及。
进入20世纪,特别是数字时代以来,汉字书写文化面临着前所未有的挑战。随着计算机、手机等电子设备的普及,键盘输入逐渐取代了纸笔书写,成为日常信息传递的主要方式。“提笔忘字”成为一种普遍现象,青少年对汉字的字形结构和书写技法越来越陌生,传统书法艺术的传承面临断层危机。与此同时,技术的发展也为汉字书写文化的革新提供了新的机遇。数字书法软件的出现,如“书法大师”“妙笔书法”等,通过模拟毛笔的笔法、墨法和纸张的质感,让用户能够在电子设备上体验书法创作的乐趣。一些教育机构还将数字书法引入课堂,通过互动式教学,激发青少年对书法艺术的兴趣。
除了数字书法软件,人工智能技术也在为汉字书写文化赋能。近年来,一些科研团队开发出能够模拟古代书法家风格的AI书法系统,通过深度学习王羲之、颜真卿等书法家的作品,AI能够生成具有相似风格的书法作品,甚至能够根据用户的需求进行个性化创作。这种技术不仅为书法艺术的传播提供了新的载体,也为书法创作带来了新的思路。同时,互联网平台也为书法爱好者提供了交流展示的空间,各种书法直播、线上展览层出不穷,让书法艺术突破了地域和时空的限制,焕发出新的生机。
在传承与革新的过程中,汉字书写文化的核心价值始终没有改变。汉字的构形中蕴含着“天人合一”的哲学思想,如“仁”字体现了人与人之间的关爱,“和”字彰显了和谐共处的理念;书法艺术中的笔法、墨法、章法,展现了中华民族独特的审美追求,如“计白当黑”的布局理念,体现了虚实相生的美学智慧。这些核心价值不仅是中华民族的文化瑰宝,也是人类文明的重要组成部分。
面对数字时代的机遇与挑战,我们既要坚守汉字书写文化的核心价值,加强传统书法教育,培养青少年对汉字书写的兴趣和热爱;也要积极拥抱技术革新,利用数字技术、人工智能等新手段,推动汉字书写文化的创新传播。只有将传承与革新有机结合,才能让汉字书写文化在新时代继续发扬光大,为中华民族的文化复兴注入源源不断的动力。

]]>
<![CDATA[长安春深遇故人]]> https://blog.zhuxu.asia/archives/39/ 2025-10-31T14:22:05+00:00 2025-10-31T14:22:05+00:00 狗蛋 https://blog.zhuxu.asia 林晚是在一阵剧烈的颠簸中醒来的。鼻尖萦绕着檀香与草药混合的古怪气味,身上盖着的锦被绣着繁复的缠枝莲纹样,绝非她宿舍那床洗得发白的棉被。

“姑娘醒了?”一个梳着双丫髻的小姑娘端着铜盆进来,见她睁眼,喜得差点摔了盆子,“快去禀报公子,林姑娘醒了!”

林晚脑子嗡嗡作响,昨晚她还在医学院的解剖室熬夜复习,为了赶早八的药理课在桌上趴着睡了过去,怎么一睁眼就到了这古色古香的地方?铜镜里映出张陌生的脸庞,柳叶眉杏核眼,一身淡青色襦裙衬得肌肤胜雪,只是脸色苍白得厉害。

“姑娘可是还有不适?”温润的男声自身后响起。林晚回头,见一年轻男子立在门口,青衫广袖,腰间系着玉带,面容清俊如月下寒松。他身后跟着的老郎中刚要搭脉,却被林晚下意识躲开——她清楚自己没病,更怕这古代医术误诊。

“我没事,只是有些乏力。”林晚斟酌着开口,努力模仿着记忆里的古言腔调,“多谢公子搭救。”她从丫鬟零碎的话语中得知,自己是被这名叫沈砚之的吏部侍郎从曲江池边救回来的,原主不知为何落水,她一睁眼就占了这具身体。

沈砚之刚要说话,院外突然传来急促的呼救声。“公子!老夫人突发恶疾,晕过去了!”管家跌跌撞撞地跑来,脸色惨白。

府里的郎中匆忙赶到,诊脉后却面色凝重地摇头:“老夫人脉息微弱,似是痰迷心窍,老夫无能为力啊。”沈砚之脸色骤变,林晚心头一动——痰迷心窍,莫不是急性脑梗或心梗?她虽未正式行医,但急救知识烂熟于心。

“公子,或许我能试试。”林晚上前一步,声音虽轻却坚定。沈砚之眼中闪过诧异,却在看到她眼中的笃定后,咬牙点头:“若能救祖母,沈某愿以百金相赠。”

林晚让丫鬟取来烈酒和干净的布巾,又让人按住老夫人的四肢,自己则跪在榻边,双手交叠按在老夫人胸口,开始做胸外按压。这古怪的动作让在场众人惊呼,沈砚之也皱紧了眉,却强忍着没阻止。

按压持续了一炷香的时间,林晚额角沁满汗珠,手臂酸痛得几乎抬不起来。就在众人以为她疯了的时候,老夫人突然剧烈咳嗽起来,一口浓痰吐了出来,缓缓睁开了眼睛。

“祖母!”沈砚之喜极而泣,转头看向林晚,眼中满是敬佩与好奇。老夫人缓过神后,拉着林晚的手连连道谢。

当晚,沈砚之亲自送来伤药和点心。烛火摇曳中,他看着林晚缠着纱布的手腕,轻声问:“姑娘的医术,当真奇特。”林晚心头一紧,编了个自幼随隐世神医学艺的借口。

沈砚之却没追问,只是递过一只玉簪:“这是家母遗物,望姑娘笑纳。若不嫌弃,便在府中安心住下,也好让我尽地主之谊。”玉簪触手温润,雕着一朵盛放的玉兰花。

林晚看着他眼中的真诚,轻轻点头。窗外,长安的月光透过窗棂洒进来,落在两人身上。她忽然觉得,这陌生的大唐,或许会有不一样的缘分在等着她。

]]>
<![CDATA[视频播放测试]]> https://blog.zhuxu.asia/archives/33/ 2025-10-30T12:24:00+00:00 2025-10-30T12:24:00+00:00 狗蛋 https://blog.zhuxu.asia

]]>
<![CDATA[markdown语法指南]]> https://blog.zhuxu.asia/archives/32/ 2025-10-30T10:48:00+00:00 2025-10-30T10:48:00+00:00 狗蛋 https://blog.zhuxu.asia markdown - 更简洁、更高效

=================================================

强烈建议开发者认真阅读本文档,掌握md及HBuilderX对md的强大支持。
窄屏幕下,可按Alt+滚轮横向滚动

很多人只把markdown用于网络文章发表,这糟蹋了markdown。
markdown不止是HTML的简化版,更重要的是txt的升级版、word的轻量版、笔记的最佳载体。
作为一种简单的格式标记语言,不同于txt的无格式,不同于HTML的复杂标记,也不同于word的鼠标调整样式。markdown通过简单的几个字符键入,就可以快捷的定义文档的样式。
比如在行首敲一个“#”,就把这行定义为了1级标题,并且在HBuilderX里有直观完善的着色,这样无需发布为web页面,可直接当word用。
掌握markdown,你可以完全抛弃txt和笔记软件的编辑器,并且在大多数场景下替代掉复杂臃肿的word。享受简洁之美、享受效率提升。
而HBuilderX,可以被称为最强大的markdown书写工具了。

下面的示例列举了markdown语法及对应的HBuilderX使用技巧:

开始前,可以先按下文档结构图的快捷键Alt+w(Mac是Ctrl+w),浏览本文的大纲。

标题语法

markdown的标题是行首以#号开头,空格分割的,不同级别的标题,在HX里着色也不同。如下:

标题1

标题2

标题3

标题4

标题5
标题6

标题使用技巧:

  1. Emmet快速输入:敲h2+Tab即可生成二级标题【同HTML里的emmet写法,不止标题,HX里所有可对应tag的markdown语法均支持emmet写法】。仅行首生效
  2. 智能双击:双击#号可选中整个标题段落
  3. 智能回车:行尾回车或行中Ctrl+Enter强制换行后会自动在下一行补#。而连续2次回车后将自动补的#去掉。(体验同word)
  4. 回车后再次按Tab可递进一层标题,再按Tab切换列表符
  5. 在# 后回车,可上插一个空标题行【同word】,或任意位置按Ctrl+Shift+Enter也可以上插空标题行
  6. 折叠:

    • 点标题前的-号可折叠该标题段落,快捷键是Alt+-(展开折叠是Alt+=)
    • 多层折叠时折叠或展开子节点,快捷键是Alt+Shift+-或=
    • 全文全部折叠或展开,快捷键是Ctrl+Alt+Shift+-或=
    • 折叠其他区域,快捷键是Alt+Shift+o。这对长文档管理非常有用,可以专注于当前章节
    • 可以在菜单-跳转-折叠中随时找到这些功能

列表

markdown的列表支持有序列表、无序列表以及特殊的任务列表。
同样也是在行前加一个特殊符号,并空格后再跟列表文字内容。

有序列表

有序列表就是有顺序的列表,依靠行前的数字标记顺序。

  1. 有序列表1 【设置或取消有序列表符的快捷键:Ctrl+Alt+1,可选中多行批量设置序号;支持多光标批量设置列表符,即按Ctrl+鼠标左键添加多光标】
  2. 有序列表2 【列表后回车会自动补序号】
  3. 有序列表3 【智能双击:双击前面的数字,可重新对数字排序,修正序号错误,并选中有序列表段落(左边的4是故意写错让你体验的)】

无序列表

无序列表就是列表不排序,无序列表因书写随意而被更广泛的使用。
无序列表有3种前缀,HX里分别用于表示1级列表、2级列表、3级列表。

  • 无序列表1 【快捷键:Ctrl+Alt+-;智能双击:双击-号可选中整段无序列表;再次按Tab会更换二级列表符】
  • 无序列表2

    • Emmet:li后敲Tab可生成*号列表符,行首生效
    • 快捷键:Ctrl+Alt+8【8即*对应的数字】,支持多光标批量设置列表符,即按Ctrl+鼠标左键添加多光标
    • 智能双击:双击*号可选中整段无序列表
    • 智能回车:行尾回车或行中Ctrl+Enter强制换行后会自动续列表;连续按回车会清除列表符;再次按Tab会更换列表符;在列表符后回车或行尾Shift+回车,上一行留出列表符
    • *号常用于二级列表,列表符后继续Tab,可切换列表符
  • 无序列表3 【快捷键:Ctrl+Alt+=;常用于三级列表;其他同上】

任务列表

任务列表非常实用,管理待办、已办非常便利。

  • [ ] 任务列表-未完成任务 【快捷键:Ctrl+Alt+[】
  • [x] 任务列表-已完成任务 【快捷键:Ctrl+Alt+]】

    1. 智能双击:双击方括号内可切换勾选状态,把任务标记为完成或未完成;双击方括号右侧可选中任务列表段落
    2. 智能回车:回车后自动补任务列表前缀符号;连续按回车清除前缀符号;在列表符后回车或行尾Shift+回车,上一行留出列表符
  • [ ] 如需发布到web渲染,需增加无序列表- 的前缀

以上三种列表,均支持批量修改列表符,有如下方式建议依次学习尝试:

  1. 选中多行,按快捷键Ctrl+Alt+“1”或“-”或“[”或“]”,批量设置列表符
  2. 如果需要跳行设置有序或无序列表,通过Ctrl+鼠标左键点中目标多行(可不连续),产生多光标,然后按快捷键Ctrl+Alt+“1”或“-”或“[”或“]”,可跳行设置列表符,尤其是有序列表,数字也会跳行加1
  3. 按Alt+鼠标选中行首那列(列选择),这样每行行首都有光标,然后再键入或删除列表符即可批量操作
  4. 选中多行,按快捷键Ctrl+Shift+\(其实就是Ctrl+|),可以在每行行首添加一个光标

引用列表

引用1
引用2
快捷键:Ctrl+Alt+Shift+.
智能双击:双击>号可选中整段引用列表
智能回车:行尾回车或行中Ctrl+Enter强制换行后会自动续列表;连续按回车会清除列表符;在列表符后回车或行尾Shift+回车,上一行留出列表符

文字样式语法

加粗 【快捷键:Ctrl+B,支持多光标;Emmet:b后敲Tab】
加粗2
_倾斜_【Emmet:i后敲Tab;前后包围:选中文字按Ctrl+\是在选区两侧添加光标,可以继续输入_】
倾斜
删除线
单行代码
包围插入:先选中文字内容,然后按_*~`等符号,会自动在2侧加包围
智能双击:双击语法区前面的定义符号,选中包含定义符的整段文字
去包围:选中整段文字后,按Ctrl+Shift+],可去除2侧包围符号

引号括号虽然不属于markdown语法,但也支持相同的包围、选择、去包围操作。
引号括号智能双击选择时略特殊的是:双击引号括号内侧,选中引号括号里的内容(不含引号括号);按下Alt+双击引号括号内侧,则选中包含符号的整段文字

HBuilderX还支持以下对2侧文本高效处理的手段

  1. 选中文字按Ctrl+\是在选区两侧添加光标,可以继续输入~~,会在2侧同时输入
  2. 向2侧扩大选择:【Win:Alt+Shit+→ 、Mac:Ctrl++Shit+→】;由2侧向内减少选择:【Win:Alt+Shit+← 、Mac:Ctrl++Shit+←】

链接文字

  1. Emmet:a后敲Tab
  2. 打开链接:Alt+鼠标单击;如果是本地文件,可通过Shift+Alt+单击,在另一分栏打开文件
  3. 智能粘贴:粘贴URL会自动变成超链接格式;粘贴本地文件进来也会自动创建引用链接
  4. 智能双击:双击语法区开头,即[左侧,选中包含定义符的整段文字

图片描述文字

  1. Emmet:img后敲Tab
  2. 智能粘贴:粘贴剪切板里的图形时会自动保存为本md文档的附件;删除文档中的图片语法,保存md文档时会自动删除对应的图片附件;粘贴图片文件时自动变成链接引用格式;
  3. 悬浮预览:鼠标移到图片语法上,本地图片会自动显示出来
  4. 智能双击:双击语法区开头,即!左侧,选中包含定义符的整段文字

表格

  1. Emmet:table3*3后敲Tab,表示生成3行3列的表格,行首生效
  2. md表格对齐是传统md的痛点,按下Ctrl+K可以自动整理表格格式(暂未兼容不同缩放模式和字体的情况)
  3. 支持从excel、wps、word、number的表格中复制粘贴表格进来(不支持合并单元格和单元格换行)

分割线

------------- 【Emmet:hr后敲Tab】


=============

代码区

    var a = document

Emmet:code后敲Tab,行首生效
智能双击:双击语法区开头,即!左侧,选中包含定义符的整段文字
支持代码直接高亮着色,这应该是只有HBuilderX才有的功能。注意需要在代码区开头指定语言类型

注释

快捷键:Ctrl+/
智能双击:双击注释首尾的定义符,选中整段注释

其他emmet快捷输入

day后敲Tab,当前日期。注意day需在行首或前面有空格
time后敲Tab,当前时间。注意time需在行首或前面有空格

文档结构图

文章很长时,word里有文档结构图,HBuilderX也有。
菜单视图-文档结构图,快捷键Alt+W(mac是ctrl+W),轻松管理长文档

运行、预览和打印PDF

对md文件点工具栏或菜单里的浏览器运行,可以使用外部浏览器预览此md文件,会自动渲染为HTML。
点右上角的预览【快捷键Alt+p】,可在HBuilderX右侧预览该md文档的HTML渲染结果。
在浏览器中点打印,选择打印到PDF,可将md输出为PDF格式。(注意在打印选项里去掉页眉页脚)

一键分享

markdown拥有迷人的输入体验,但分享并不方便,尤其是缺少免费、稳定、高速的图床。
uniCloud提供了免费、稳定、高速的服务器和cdn。
HBuilderX,基于uniCloud,提供了markdown的一键分享功能。

利用uniCloud的前端网页托管,将markdown稳定转成了HTML网页,并发布为在线的URL。您可以把URL发送给任何想要分享的人。
同时markdown里涉及的图片也会自动上传到前端网页托管里免费cdn中。

更多见: MarkDown一键分享使用说明

其他常用但你可能不知道的快捷操作技巧

  • Ctrl+鼠标左键添加多光标,然后敲字或粘贴,可批量处理。Ctrl+鼠标左键拖选,可选中多个选区。
  • Ctrl+鼠标右键删除多光标
  • 不选内容按Ctrl+C或X可复制或剪切整行
  • 选中2个选区后,按Ctrl+Shift+X,可互换选区内容。如无选区,只是2个光标,则互换2行
  • Ctrl+上下键可上下移动行
  • Ctrl+Insert可重复插入当前行,如果有选中内容,可重复插入选中内容
  • Ctrl+Shift+K可合并多行(是格式化Ctrl+K的反操作)
  • 删除

    • 按Ctrl+D可删除选中行,支持多光标
    • Shift+Del删除到行尾
    • Shift+Backspace删除到行首
  • 选择

    • Ctrl+E选相同词(mac是Command+D),连续按可选中多词进一步操作,比替换更方便
    • Ctrl+L可连选多行,Ctrl+Shift+L也是选择行,但不选行首尾的空白字符
    • Ctrl+=可逐级放大选区
    • 双击标题、列表符可选中相应段落
    • 双击英文引号、括号内侧,可选中内部内容
    • 双击缩进符,可选中同缩进段落
    • 双击连字符比如-或_,可选中相连的词,比如双击这里试试,uni-app
  • 查找

    • Ctrl+P查找文件
    • Ctrl+Alt+F可在当前目录的所有文档中搜索指定关键字(mac是Command+Shift+f)
    • 选中文字按F3,查找下一个,Shift+F3找上一个
  • 云同步:HBuilderX+markdown用于云同步笔记的技巧,请参考http://ask.dcloud.net.cn/article/13097

都学会了吗?
markdown语法其实很简单,认真学半小时就能掌握。

]]>
<![CDATA[增强版 CSS 框架使用文档]]> https://blog.zhuxu.asia/archives/31/ 2025-10-25T03:39:00+00:00 2025-10-25T03:39:00+00:00 狗蛋 https://blog.zhuxu.asia 增强版 CSS 框架使用文档

目录

1. 框架概述 {#1-框架概述}

本框架是一个功能完整的 CSS 工具集,提供了全面的样式解决方案,包括:

  • 灵活的 12 列网格系统,支持多断点响应式设计
  • 完整的全局变量系统,便于主题定制
  • 丰富的工具类,覆盖布局、间距、边框、文本等场景
  • 统一的过渡与动画效果,提升用户体验
  • 标准化的基础样式重置,确保跨浏览器一致性

框架设计遵循 "移动优先" 原则,通过清晰的命名规范和模块化结构,使开发者能够快速构建一致、美观的界面。

2. 快速开始

  1. 引入框架

    将框架 CSS 文件引入到 HTML 文档的<head>中:

\<link rel="stylesheet" href="path/to/enhanced-css-framework.css">
  1. 基础结构

    一个典型的页面结构如下:

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>

3. 全局变量

框架使用 CSS 变量(Custom Properties)定义全局样式,所有变量都在:root选择器下声明,便于统一修改和主题定制。

3.1 颜色系统

主题色

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;

背景色

\--color-background: #ffffff;           /\* 主要背景色 \*/

\--color-background-alt: #f9fafb;       /\* 交替背景色 \*/

\--color-background-hover: #f3f4f6;     /\* 悬停背景色 \*/

\--color-background-active: #e5e7eb;    /\* 激活背景色 \*/

\--color-background-card: #ffffff;      /\* 卡片背景色 \*/

\--color-background-modal: #ffffff;     /\* 模态框背景色 \*/

\--color-background-overlay: rgba(0, 0, 0, 0.5); /\* 遮罩层背景色 \*/

文本色

\--color-text: #000000;                 /\* 主要文本色 \*/

\--color-text-light: #374151;           /\* 浅色文本 \*/

\--color-text-lighter: #6B7280;         /\* 更浅文本 \*/

\--color-text-muted: #3d3d3d;           /\* 次要文本 \*/

\--color-text-disabled: #9CA3AF;        /\* 禁用文本色 \*/

\--color-text-inverse: #ffffff;         /\* 深色背景上的文本 \*/

功能色(状态色)

\--color-success: #52c41a;              /\* 成功色 \*/

\--color-warning: #fa8c16;              /\* 警告色 \*/

\--color-danger: #ff4d4f;               /\* 危险/错误色 \*/

\--color-info: #4096ff;                 /\* 信息色 \*/

中性色系

提供从--color-neutral-50(最浅)到--color-neutral-950(最深)的完整中性色阶,满足各种场景需求。

七色调全色系

包含红、橙、黄、绿、青、蓝、紫七个色系,每个色系都有从 50 到 950 的色阶变化,如:

/\* 红色系示例 \*/

\--color-red-50: #fff5f5;

\--color-red-100: #ffe3e3;

/\* ... 中间色阶省略 ... \*/

\--color-red-950: #5c0d12;

3.2 字体系统

\--font-family-main: 'Helvetica Neue', Helvetica, 'PingFang SC', ...; /\* 主要字体 \*/

\--font-family-mono: 'SF Mono', Menlo, Monaco, ...; /\* 等宽字体(代码用) \*/

\--font-family-display: var(--font-family-main); /\* 标题字体 \*/

/\* 字体大小 \*/

\--font-size-xs: 10px;

\--font-size-sm: 12px;

\--font-size-md: 13px;

\--font-size-lg: 14px;

\--font-size-xl: 16px;

\--font-size-2xl: 18px;

\--font-size-3xl: 22px;

\--font-size-4xl: 26px;

\--font-size-5xl: 32px;

\--font-size-6xl: 40px;

/\* 字体权重 \*/

\--font-weight-light: 300;

\--font-weight-normal: 400;

\--font-weight-medium: 500;

\--font-weight-semibold: 600;

\--font-weight-bold: 700;

\--font-weight-extrabold: 800;

/\* 行高 \*/

\--line-height-xs: 1.2;

\--line-height-sm: 1.3;

\--line-height-md: 1.5;

\--line-height-lg: 1.6;

\--line-height-xl: 1.8;

3.3 边框系统

/\* 边框宽度 \*/

\--border-width: 1px;

\--border-width-sm: 0.5px; /\* 细边框 \*/

\--border-width-lg: 2px;  /\* 粗边框 \*/

/\* 边框圆角 \*/

\--border-radius: 4px;

\--border-radius-sm: 2px; /\* 小圆角 \*/

\--border-radius-lg: 6px; /\* 大圆角化 \*/

\--border-radius-xl: 8px;

\--border-radius-full: 9999px; /\* 全圆角(圆形) \*/

/\* 边框颜色 \*/

\--color-border: #ccc;

\--color-border-light: #e5e7eb; /\* 浅色边框 \*/

\--color-border-dark: #9CA3AF;  /\* 深色边框 \*/

\--color-border-primary: var(--color-primary); /\* 主色边框 \*/

3.4 间距系统

\--spacing-0: 0;         /\* 零间距 \*/

\--spacing-xxs: 2px;     /\* 极小间距 \*/

\--spacing-xs: 4px;

\--spacing-sm: 5px;

\--spacing-md: 10px;

\--spacing-lg: 20px;

\--spacing-xl: 25px;

\--spacing-2xl: 32px;    /\* 更大间距 \*/

\--spacing-3xl: 40px;

\--spacing-4xl: 56px;

\--spacing-5xl: 72px;

3.5 阴影系统

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
0

3.6 过渡与动画

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
1

4. 网格系统

框架采用 12 列网格布局,通过容器(container)、行(row)和列(col)的组合实现灵活的页面布局。

4.1 容器

容器用于包裹网格内容,提供居中对齐和内边距控制。

类名说明最大宽度
.container基础容器1200px
.container-sm小型容器540px
.container-md中型容器720px
.container-lg大型容器960px
.container-xl特大型容器1140px
.container-xxl超大型容器1320px
.container-fluid流体容器100% 宽度

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
2

4.2 行

行(Row)用于包裹列(Column),并提供负外边距抵消列的内边距,确保布局对齐。

类名说明
.row基础行
.row-gutter-sm小间距行(8px)
.row-gutter-lg大间距行(24px)

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
3

4.3 列

列是网格系统的核心,通过指定占比来控制宽度。框架采用 12 列系统,每列的宽度为100% / 12 * 列数

基础列类

类名说明宽度占比
.col-11 列宽8.333%
.col-22 列宽16.666%
.........
.col-1212 列宽100%
.col自动分配宽度平均分配
.col-auto自动宽度由内容决定

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
4

4.4 响应式断点

框架提供 6 个响应式断点,支持在不同屏幕尺寸下调整布局:

断点前缀断点值说明
xs0超小屏幕(手机,默认)
sm576px小屏幕(平板竖屏)
md768px中等屏幕(平板横屏)
lg992px大屏幕(笔记本 / 小桌面)
xl1200px特大屏幕(桌面)
xxl1400px超特大屏幕(大桌面)

响应式列类命名规则.col-[断点前缀]-[列数]

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
5

4.5 列偏移

通过偏移类可以控制列的左侧留白,实现列的右移效果。

偏移类命名规则.offset-[断点前缀]-[偏移列数]

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
6

4.6 列排序

通过排序类可以改变列的显示顺序,而不改变 HTML 结构。

排序类

类名说明
.order-first排在最前面
.order-last排在最后面
.order-[n]排在第 n 位(n 为 0-12)
.order-[断点前缀]-first在指定断点排在最前面
.order-[断点前缀]-last在指定断点排在最后面
.order-[断点前缀]-[n]在指定断点排在第 n 位

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
7

5. 工具类

框架提供了丰富的工具类,用于快速设置元素样式,避免重复编写 CSS。

5.1 显示控制

类名说明
.hidden隐藏元素(display: none)
.invisible不可见但保留空间(visibility: hidden)
.visible可见(visibility: visible)
.sr-only仅屏幕阅读器可见
.d-none不显示
.d-block块级显示
.d-flexFlex 布局显示
.d-sm-none在 sm 断点及以上不显示
.d-sm-block在 sm 断点及以上块级显示
.d-sm-flex在 sm 断点及以上 Flex 显示
...类似的 md/lg/xl/xxl 前缀类

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
8

5.2 布局工具

Flex 布局工具

类名说明
.flex启用 Flex 布局
.inline-flex启用内联 Flex 布局
.flex-row水平方向排列(默认)
.flex-row-reverse水平反向排列
.flex-col垂直方向排列
.flex-col-reverse垂直反向排列
.flex-wrap允许换行
.flex-nowrap不允许换行
.justify-start主轴起点对齐
.justify-end主轴终点对齐
.justify-center主轴居中对齐
.justify-between主轴两端对齐
.justify-around主轴均匀分布
.items-start交叉轴起点对齐
.items-end交叉轴终点对齐
.items-center交叉轴居中对齐
.items-baseline交叉轴基线对齐
.items-stretch交叉轴拉伸对齐
.flex-1Flex 项目占满剩余空间
.flex-autoFlex 项目自动调整
.flex-noneFlex 项目不伸缩

使用示例

\<!DOCTYPE html>

\<html lang="zh-CN">

\<head>

&#x20; \<meta charset="UTF-8">

&#x20; \<meta name="viewport" content="width=device-width, initial-scale=1.0">

&#x20; \<title>框架示例\</title>

&#x20; \<link rel="stylesheet" href="path/to/enhanced-css-framework.css">

\</head>

\<body class="bg-background">

&#x20; \<div class="container">

&#x20;   \<div class="row">

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;     \<div class="col-md-6">

&#x20;       \<!-- 内容 -->

&#x20;     \</div>

&#x20;   \</div>

&#x20; \</div>

\</body>

\</html>
9

Grid 布局工具

类名说明
.grid启用 Grid 布局
.grid-cols-22 列网格
.grid-cols-33 列网格
.grid-cols-44 列网格
.grid-cols-auto自动列数
.gap-0.gap-2xl网格间距

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
0

定位工具

类名说明
.position-static静态定位
.position-relative相对定位
.position-absolute绝对定位
.position-fixed固定定位
.position-sticky粘性定位
.top-0顶部对齐
.right-0右侧对齐
.bottom-0底部对齐
.left-0左侧对齐

5.3 间距工具

间距工具类用于快速设置元素的外边距(margin)和内边距(padding),命名规则如下:

  • 前缀:m-(margin)或 p-(padding)
  • 方向:无方向(全方向)、t(上)、b(下)、l(左)、r(右)、x(左右)、y(上下)
  • 大小:0xxsxssmmdlgxl2xl

常用间距类

类名说明
.m-0全方向外边距为 0
.p-md全方向内边距为 md(10px)
.mt-sm上外边距为 sm(5px)
.mb-lg下外边距为 lg(20px)
.px-xl左右内边距为 xl(25px)
.py-2xl上下内边距为 2xl(32px)

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
1

5.4 边框工具

类名说明
.border基础边框
.border-0无边框
.border-sm细边框
.border-lg粗边框
.border-dashed虚线边框
.border-primary主色边框
.border-success成功色边框
.border-warning警告色边框
.border-danger危险色边框
.border-t上边框
.border-r右边框
.border-b下边框
.border-l左边框
.border-t-0无上边框
...类似的 r-0/b-0/l-0

圆角工具

类名说明
.rounded基础圆角
.rounded-0无圆角
.rounded-sm小圆角
.rounded-lg大圆角化
.rounded-xl超大圆角
.rounded-full全圆角(圆形)
.rounded-t上圆角
.rounded-r右圆角
.rounded-b下圆角
.rounded-l左圆角

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
2

5.5 文本工具

文本对齐

类名说明
.text-left左对齐
.text-center居中对齐
.text-right右对齐
.text-justify两端对齐

文本颜色

类名说明
.text-primary主色文本
.text-secondary辅助色文本
.text-text主要文本色
.text-text-light浅色文本
.text-muted次要文本
.text-disabled禁用文本色
.text-inverse反色文本(用于深色背景)
.text-success成功色文本
.text-warning警告色文本
.text-danger危险色文本
.text-info信息色文本

文本大小

类名说明对应变量
.text-xs超小文本--font-size-xs (10px)
.text-sm小文本--font-size-sm (12px)
.text-md中等文本--font-size-md (13px)
.text-lg大文本--font-size-lg (14px)
.text-xl超大文本--font-size-xl (16px)
.text-2xl.text-5xl更大文本对应变量逐步增大

字体权重

类名说明对应变量
.font-light轻量--font-weight-light (300)
.font-normal正常--font-weight-normal (400)
.font-medium中等--font-weight-medium (500)
.font-semibold半粗体--font-weight-semibold (600)
.font-bold粗体--font-weight-bold (700)
.font-extrabold特粗体--font-weight-extrabold (800)

其他文本工具

类名说明
.text-underline下划线
.text-underline-hoverhover 时显示下划线
.text-no-underline无下划线
.text-uppercase大写
.text-lowercase小写
.text-capitalize首字母大写

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
3

5.6 背景工具

背景工具类用于快速设置元素的背景色,命名规则为.bg-[颜色名称]

常用背景类

类名说明
.bg-primary主色背景
.bg-primary-light主色浅色背景
.bg-background主要背景色
.bg-background-alt交替背景色
.bg-background-hover悬停背景色
.bg-success成功色背景
.bg-success-bg成功色浅色背景
.bg-warning警告色背景
.bg-warning-bg警告色浅色背景
.bg-danger危险色背景
.bg-danger-bg危险色浅色背景
.bg-neutral-[n]中性色背景(n 为 50-900)

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
4

5.7 过渡与动画工具

过渡工具

类名说明
.transition基础过渡效果
.transition-none无过渡
.transition-fast快速过渡(150ms)
.transition-normal正常过渡(300ms)
.transition-slow慢速过渡(500ms)
.transition-color仅颜色过渡
.transition-bg仅背景色过渡
.transition-border仅边框过渡
.transition-transform仅变换过渡
.transition-shadow仅阴影过渡

动画工具

类名说明
.animate-fade-in淡入动画
.animate-fade-out淡出动画
.animate-slide-up上滑动画
.animate-slide-down下滑动画
.animate-slide-left左滑动画
.animate-slide-right右滑动画
.animate-bounce弹跳动画
.animate-pulse脉冲动画
.animate-shake抖动动画
.animate-spin旋转动画
.animate-zoom-in放大动画
.animate-zoom-out缩小动画

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
5

5.8 其他工具

类名说明
.shadow基础阴影
.shadow-sm小阴影
.shadow-lg大阴影
.shadow-xl超大阴影
.shadow-primary主色阴影
.shadow-hoverhover 时显示更大阴影
.w-100宽度 100%
.h-100高度 100%
.w-auto宽度自动
.h-auto高度自动
.max-w-100最大宽度 100%
.overflow-hidden溢出隐藏
.overflow-auto溢出自动滚动
.cursor-pointer鼠标指针为手型
.cursor-not-allowed鼠标指针为禁止
.opacity-0透明度 0
.opacity-50透明度 50%
.opacity-100透明度 100%
.zoom-hoverhover 时轻微放大

使用示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
6

6. 示例

6.1 基础布局示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
7

6.2 响应式布局示例

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
8

6.3 组件样式示例

按钮组件

\--color-primary: #007BFF;              /\* 主色调 \*/

\--color-primary-light: #3395FF;        /\* 主色浅变体 \*/

\--color-primary-dark: #0056D2;         /\* 主色深变体 \*/

\--color-primary-transparent: rgba(0, 123, 255, 0.15); /\* 主色透明变体 \*/

\--color-primary-rgb: 0, 123, 255;      /\* 主色RGB值(用于rgba计算) \*/

\--color-secondary: #444;               /\* 辅助色 \*/

\--color-secondary-light: #666;

\--color-secondary-dark: #222;
9

表单组件

\--color-background: #ffffff;           /\* 主要背景色 \*/

\--color-background-alt: #f9fafb;       /\* 交替背景色 \*/

\--color-background-hover: #f3f4f6;     /\* 悬停背景色 \*/

\--color-background-active: #e5e7eb;    /\* 激活背景色 \*/

\--color-background-card: #ffffff;      /\* 卡片背景色 \*/

\--color-background-modal: #ffffff;     /\* 模态框背景色 \*/

\--color-background-overlay: rgba(0, 0, 0, 0.5); /\* 遮罩层背景色 \*/
0

提示框组件

\--color-background: #ffffff;           /\* 主要背景色 \*/

\--color-background-alt: #f9fafb;       /\* 交替背景色 \*/

\--color-background-hover: #f3f4f6;     /\* 悬停背景色 \*/

\--color-background-active: #e5e7eb;    /\* 激活背景色 \*/

\--color-background-card: #ffffff;      /\* 卡片背景色 \*/

\--color-background-modal: #ffffff;     /\* 模态框背景色 \*/

\--color-background-overlay: rgba(0, 0, 0, 0.5); /\* 遮罩层背景色 \*/
1

以上就是增强版 CSS 框架的详细使用文档。通过灵活运用框架提供的网格系统和工具类,可以快速构建出美观、一致且响应式的网页界面。如需进一步定制,可以通过修改全局变量来调整主题样式,无需修改工具类代码。

(注:文档部分内容可能由 AI 生成)
]]>
<![CDATA[图片懒加载测试]]> https://blog.zhuxu.asia/archives/30/ 2025-10-25T02:08:40+00:00 2025-10-25T02:08:40+00:00 狗蛋 https://blog.zhuxu.asia Icon 1024.png
IMG_20251015_115605.jpg
IMG_20250920_201628.jpg
IMG_20250920_201430.jpg
2112715940.png
compressed_IMG_20250813_092603.jpg
screenshot.png
screenshot.png
compressed_IMG_20250826_101514.jpg
compressed_IMG_20250826_140818.jpg
compressed_IMG_20250826_111533.jpg
compressed_IMG_20250826_141741.jpg
compressed_IMG_20250826_140849.jpg
compressed_IMG_20250826_140811.jpg
ly-bg.gif
IMG_20250806_202106.jpg
IMG_20250727_153355.jpg
IMG_20250718_092553.jpg

]]>
<![CDATA[产房里的第一束光]]> https://blog.zhuxu.asia/archives/29/ 2025-10-24T14:17:00+00:00 2025-10-24T14:17:00+00:00 狗蛋 https://blog.zhuxu.asia 林晚的预产期过了三天,夏夜的风裹着蝉鸣钻进窗户时,她突然攥紧丈夫陈默的手:“肚子好像在往下坠。”

陈默的拖鞋在地板上打滑,慌乱中把待产包抱成了一团。急诊室的灯亮起来时,林晚额角的汗已经打湿了碎发。宫缩的疼痛像潮水反复涌来,她咬着唇数墙上的时钟,陈默的声音始终贴在耳边:“我们说好要一起等宝宝踢第一脚的。”

凌晨两点,产房的门终于打开。护士抱着裹在粉毯里的小家伙出来时,陈默的领带还歪在肩上。“3200 克,女孩。” 护士的话音刚落,他突然蹲在走廊里哭了 —— 刚才林晚被推进产房前,还攥着他的手笑:“别担心,我看过育儿书。”

林晚醒来时,晨光正落在婴儿床的纱帐上。小家伙闭着眼睛,小拳头攥得紧紧的,嘴角还带着奶渍。陈默坐在床边,笨拙地学着护士的样子给宝宝换尿布,尿布却歪歪扭扭裹成了一团。“她刚才抓我的手指了。” 他抬头时,眼底还闪着光,“跟你一样,手指尖都是圆圆的。”

窗外的梧桐叶沙沙作响,林晚轻轻碰了碰女儿的脸颊。那一刻,所有的疼痛都化作了掌心的温度 —— 原来生命最神奇的礼物,就是让两个普通人,突然有了软肋,也有了铠甲。

]]>