TailwindCss
发表于|更新于
|浏览量:
懒惰象生锈一样,比操劳更能消耗身体;经常用的钥匙,总是亮闪闪的。——富兰克林
分享一个CSS框架,内置了很多css样式:
使用方式:
https://www.tailwindcss.cn/docs/installation
注意其不支持IE浏览器
仓库地址:https://github.com/tailwindlabs/tailwindcss
甚至你可以直接在Playground中进行尝试:

相关推荐
2025-08-20
papermark
常制不可以待变化,一涂不可以应万方,刻船不以索遗剑。一一东晋·葛洪《抱朴子》 https://github.com/mfts/papermark Papermark:开源 DocSend 替代方案,智能文档分享新体验在数字化办公和远程协作日益普及的今天,文档安全分享与跟踪成为企业和个人不可或缺的需求。你是否曾因为发送合同、方案、报告时无法精准掌控访问和分析而苦恼?你是否希望拥有一款既能自定义品牌,又能实时统计文档访问的数据房间工具?如果你的答案是肯定的,那么你一定要试试 Papermark —— 一个正在快速崛起的开源 DocSend 替代项目! 一、项目简介Papermark 是一款完全开源的文档分享与跟踪平台,被誉为“开源版 DocSend”。它支持个性化品牌、定制域名、内置访问分析,并允许开发者和企业自部署、自定义,保障数据安全和可控性。 项目主页:https://papermark.com GitHub地址:https://github.com/mfts/papermark 项目定位:开源、安全、可自托管、可扩展的数据房间/文档分享平台 最新 Star 数...
2023-11-10
minio预签名上传前端axios注意事项
不论替人家做了多少好事,不论多么忠心耿耿,看起来,绝不能指望人家感谢你。——托尔斯泰 之前说过了camel+minio实现预签名URL上传 但当时提供的也是后端代码,现在需要前端axios的 axios文档:Axios API | Axios Docs 123456789101112axios({ method: 'PUT', url, headers: { "Content-Type": "application/octet-stream", }, data: new Blob([file]), responseType: "blob"}).then((res) => { console.log({ res })}).catch(console.error) 这里的file就是前端的File对象,我们此处是将其转换为Blob,然后再通过data参数发送,...
2022-12-23
vue重置data
没有爱情,可千万不要结婚——奥斯汀 场景:需要重置已经更改后的data 官方文档: https://v2.cn.vuejs.org/v2/api/#data 其中提到可以通过调用data函数得到一个全新的副本对象 https://v2.cn.vuejs.org/v2/api/#vm-options 然后我们可以通过$options获取用于当前 Vue 实例的初始化选项,因此通过 1this.$options.data() 能够得到最初定义data的一个全新的副本对象(这里的this指向vue实例) 再使用Object.assign 1Object.assign(this.$data, this.$options.data()) 即可重置data 在某些情况下,this.$options.data()的this指向有问题,可以使用 Function.prototype.call()处理 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/call...
2020-12-06
let和const命令
一个人在学校里表面上的成绩,以及较高的名次,都是靠不住的,唯一的要点是你对于你所学的是否心里真正觉得很喜欢,是否真有浓厚的兴趣……——邹韬奋 es6出来这么久了,是时候系统学习一下了 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。——ECMAScript 6.0入门网站 1234567891011121314151617181920212223242526272829303132333435<!-- es6学习笔记 -->// let必须先声明再使用// console.log(a) // Uncaught ReferenceError: Cannot access 'a' before initializationlet a = "a";console.log(a); // a// var可以先使用再声明b = &qu...
2022-06-16
react在ts中提示ref问题
不要太在乎一些人,越在乎,越卑微。——周国平 首先按照官方文档的demo写好代码,却报错如下: 安装插件Error Lens后: 如何解决? 前往Text的ref源码,可以看到是需要一个叫LegacyRef的类型 我们进LegacyRef,看到其就是Ref或string的类型 因此这里我们定义为Ref类型即可 这里出现了新的问题,不能将MutableRefObject<Text | null |undefined>分配给Ref<Text> 我们进入useRef源码,看到其包含几个重载 分别查看MuteableRefObject和RefObject 可以看到RefObject是Ref中容许的其中一种类型 所以应该使用上面一种重载 在原有代码React.useRef()中传入null 报错解决 同理,trRef一样 注意此处Ref<TextRef>内的泛型使用的是konva/lib/shapes/Text包下的Text,改名为TextRef 除了在定义变量左侧申明类型,在方法右侧也可以申明泛型,让编辑器自动推测
2021-11-04
uniapp分包
当众人都哭时,应该允许有的人不哭。当哭成为一种表演时,更应该允许有的人不哭。——莫言 我们在使用uniapp进行微信小程序开发时可能会遇到如下情况: 这是因为微信小程序官方文档提到: 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。 在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 20M 单个分包/主包大小不能超过 2M 对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。 此时可以进行简单的静态资源处理,将static目录下的图片之类的压缩或者放到在线图床上 如果在这样处理后还是提示超...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog