腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
赵康的日常专栏
专栏成员
举报
86
文章
16759
阅读量
11
订阅数
订阅专栏
申请加入专栏
全部文章(86)
前端(34)
web(19)
开发(18)
学习笔记(18)
office(15)
函数(12)
事件(12)
var(8)
对象(8)
function(7)
python(6)
富文本编辑器(6)
数组(6)
算法(6)
变量(5)
ios(4)
css(4)
布局(4)
浏览器(4)
数据(4)
字符串(4)
javascript(3)
react(3)
jquery(3)
渲染(3)
return(3)
string(3)
编辑器(3)
程序(3)
协议(3)
html(2)
数据库(2)
api(2)
网站(2)
gulp(2)
存储(2)
async(2)
class(2)
click(2)
console(2)
data(2)
document(2)
event(2)
promise(2)
prototype(2)
url(2)
using(2)
window(2)
编码(2)
编译(2)
博客(2)
测试(2)
插件(2)
工作(2)
脚本(2)
快捷键(2)
框架(2)
排序(2)
配置(2)
性能(2)
移动端(2)
优化(2)
java(1)
json(1)
django(1)
打包(1)
git(1)
maven(1)
容器(1)
unicode(1)
utf8(1)
迁移(1)
audio(1)
babel(1)
callback(1)
case(1)
center(1)
cgi(1)
chrome(1)
coffeescript(1)
commonjs(1)
composition(1)
container(1)
counter(1)
csrf(1)
detect(1)
devtools(1)
edge(1)
encode(1)
encoding(1)
export(1)
file(1)
filter(1)
flex(1)
foreach(1)
get(1)
getelementbyid(1)
grid(1)
header(1)
hover(1)
import(1)
iterable(1)
list(1)
match(1)
math(1)
max(1)
media(1)
methods(1)
min(1)
module(1)
mysql(1)
next(1)
null(1)
object(1)
onload(1)
parent(1)
photoshop(1)
pipe(1)
process(1)
python3(1)
readline(1)
ref(1)
require(1)
rest(1)
rgb(1)
row(1)
script(1)
scrolltop(1)
self(1)
session(1)
set(1)
slice(1)
src(1)
state(1)
static(1)
target(1)
text(1)
title(1)
token(1)
transform(1)
vue3(1)
vuex(1)
webkit(1)
闭包(1)
笔记(1)
表单(1)
程序设计(1)
定时器(1)
工具(1)
管理(1)
互联网(1)
继承(1)
计算机网络(1)
教程(1)
接口(1)
跨域(1)
链表(1)
连接(1)
路由器(1)
模型(1)
事务(1)
搜索(1)
通信(1)
推送(1)
网络(1)
系统(1)
序列化(1)
音频(1)
语法(1)
域名(1)
原理(1)
源码(1)
原型(1)
重构(1)
主机(1)
字符编码(1)
标签(1)
搜索文章
搜索
搜索
关闭
你也许不再需要使用 CSS Media Queries(媒体查询)了
css
class
container
media
布局
最近,CSS 引入了一项新功能:Container Queries (https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_container_queries)。它可以替代 Media Queries 并实现 Media Queries 无法胜任的任务。
zhaokang555
2023-10-23
332
0
为什么 CSS flex 布局中没有 `justify-items` 和 `justify-self`?
css
flex
self
布局
语法
为什么在 CSS flex 布局中存在 align-items 和 align-self,却没有 justify-items 和 justify-self 呢?要解答这个问题,首先需要理解主轴(main axis)和交叉轴(cross axis)之间的差异。
zhaokang555
2023-10-17
384
0
如何编写难以维护的 React 代码?耦合通用组件与业务逻辑
react
function
title
系统
重构
在众多项目中,React代码的维护经常变得棘手。其中一个常见问题是:将业务逻辑直接嵌入通用组件中,导致通用组件与业务逻辑紧密耦合,使其失去“通用性”。这种做法使通用组件过于依赖具体业务逻辑,导致代码难以维护和扩展。
zhaokang555
2023-10-17
219
0
5 分钟理解 Next.js Static Export
网站
export
next
static
性能
Static Export 是一种 Web 开发模式,它允许我们在构建网站时将页面提前生成为静态 HTML 文件,而不是在每次请求时动态生成。这意味着页面内容在构建时就已经准备好,而不是等待用户请求时才生成。这样做的好处是:
zhaokang555
2023-10-17
468
0
使用 MediaStream Recording API 和 Web Audio API 在浏览器中处理音频(未完待续)
api
audio
web
浏览器
音频
最近项目上有个需求,需要实现:录音、回放录音、实现音频可视化效果、上传wav格式的录音等功能。于是乎,我就顺便调研了下如何在浏览器中处理音频,发现 HTML5 中有专门的API用来处理音频。
zhaokang555
2023-10-17
536
0
如何编写难以维护的React代码?耦合组件
react
开发
事件
通信
优化
在许多项目中,我们经常会遇到一些难以维护的React代码。其中一种常见的情况是:子组件直接操作父组件方法,从而导致父子组件深度耦合。这样的实现让子组件过于依赖父组件的具体实现细节,使得代码难以维护和扩展。 让我们来看一个例子:
zhaokang555
2023-10-17
122
0
如何编写难以维护的React代码?——滥用useEffect
react
filter
list
数组
优化
在许多项目中,我们经常会遇到一些难以维护的React代码。其中一种常见的情况是滥用useEffect钩子,特别是在处理衍生状态时。让我们来看一个例子:
zhaokang555
2023-10-17
159
0
从零开始,开发一个 Web Office 套件(16):拖动控制点,调整编辑器大小
office
web
编辑器
富文本编辑器
开发
原因分析:这是因为编辑器平移或调整大小后,editor.blankSpace没有及时更新。
zhaokang555
2023-10-17
140
0
从零开始,开发一个 Web Office 套件(15):拖动边框,平移编辑器
office
web
编辑器
开发
事件
Bug表现:如下图,我加了一些辅助线。当我的鼠标从两个边框重叠处开始拖动,且我拖动了一定距离(记为n),但是编辑器却移动了2n的距离。
zhaokang555
2023-10-17
158
0
从零开始,开发一个 Web Office 套件(14):复制、粘贴、剪切、全选
office
web
富文本编辑器
开发
算法
在Mac上,当用户按下command键时,KeyboardEvent.metaKey为true;在Windows上,当用户按下ctrl键时,KeyboardEvent.ctrlKey为true.
zhaokang555
2023-10-17
254
0
从零开始,开发一个 Web Office 套件(13):删除、替换已选中文字
office
web
富文本编辑器
开发
算法
zhaokang555
2023-10-17
180
0
从零开始,开发一个 Web Office 套件(12):删除文字 & 回车换行
office
web
开发
事件
算法
zhaokang555
2023-10-17
166
0
从零开始,开发一个 Web Office 套件(11):支持中文输入法(or 其它使用输入法的语言)
office
web
富文本编辑器
开发
事件
输入中文(或者其它需要输入法的语言),跟输入英文的不同之处在于:我们通过键盘输入的文字,并不是直接显示在input框里。而是要通过输入法进行映射、选择,再填入input框里。
zhaokang555
2023-10-17
242
0
从零开始,开发一个 Web Office 套件(10):捕获键盘事件,输入文字
存储
office
web
开发
事件
为了实现键盘输入,我们需要在container div元素(canvas父元素)中插入一个input(或者textarea)元素,作为代理,来捕获键盘相关事件。
zhaokang555
2023-10-17
182
0
从零开始,开发一个 Web Office 套件(9):拖动鼠标选中文字 Edge Case
case
edge
office
web
开发
上一节我们初步完成了拖动选中文字的feature,不过还遗留了一些 edge case。这篇文章我们来处理它们。
zhaokang555
2023-10-17
160
0
从零开始,开发一个 Web Office 套件(8):状态管理 & 拖动鼠标选中文字
office
web
博客
管理
开发
之前,我们的一些全局状态是以class static field的方式存在的。这样做刚开始可能不会出现问题,但是到后面会出问题:
zhaokang555
2023-10-17
165
0
从零开始,开发一个 Web Office 套件(7):新的问题—— Click 事件的 z-index
click
office
web
开发
事件
为了实现这个feature,我们就要监听编辑器空白处的click事件。与此同时,我们会遇到和hover事件相同的问题: 我们需要找到最上层的元素(Char or 空白),触发它的点击事件。
zhaokang555
2023-10-17
120
0
从零开始,开发一个 Web Office 套件(6):光标 & Click 事件
click
office
web
开发
事件
然后,在CanvasTextEditor中添加函数createBlinkingCursor,暂时将光标绘制在最后一个字符后面。
zhaokang555
2023-10-17
201
0
从零开始,开发一个 Web Office 套件(5):Mouse hover over text
hover
office
text
web
开发
如上图,CanvasTextEditorChar的包围盒是由:left, boundingBoxTop, width, height定义的。另外,其top仅指的是textBaseLine的纵坐标,跟包围盒没有直接的关系。 我们期望的结果是:当鼠标hover在包围盒上时,产生相应变化。 所以,不能直接让CanvasTextEditorChar直接继承ResponsiveToMouseHover,因为二者的top含义完全不同。而是要让CanvasTextEditorChar持有它作为自己的包围盒。
zhaokang555
2023-10-17
114
0
从零开始,开发一个 Web Office 套件(4):新的问题—— z-index
office
web
博客
函数
开发
《从零开始, 开发一个 Web Office 套件》系列博客目录 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件,
zhaokang555
2023-10-17
121
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档