小技巧
文中部分css会用UnoCSS去写。
网页撑满全屏
目前已经有了新的css单位
dvh
、lvh
、svh
专门用来解决这个问题,但是目前兼容性还不太好不管子元素什么情况都能让网页撑满全屏。相比100vh
的好处是,在高版本ios(即“safari浏览器的地址栏变到下面且浮动”的ios版本)上,也不会在内容未超出一屏时出现滚动条。
在外层元素上添加
main { min-height: 100%; display: grid;}
child
全面屏iPhone的Safe Area
Reference: Designing Websites for iPhone X
CSS边框合并
使用<table>
标签时可以通过设置border-collapse: collapse
合并表格边框。对于非表格布局,可以对单元格使用margin-right
, margin-bottom
.cell { border: 1px solid #bfbfbf; margin-right: -1px; margin-bottom: -1px;}
cell
cell
cell
cell
cell
cell
获取隐藏元素样式
众所周知,display: none
的元素无法获取到它的实际width
, height
。对display: none
的元素使用getComputedStyle
时,会显示原始css值。比如
<div class="hidden"> This is a hidden element.</div><style>.hidden { display: none; width: fit-content;}</style>
通过window.getComputedStyle(document.getElementsByClassName('hidden')[0])
获取到的width
是fit-content
。如果想要获取实际宽高,可以参考我写的这篇文章 ➡️ 获取隐藏元素(display: none)的样式
使用Cloudflare Workers实现域名代理
同时使用对象与数组解构
Reference: 解构...使用对象还是数组?
美化你的类型
Playground: Prettier your type
通过这个类型使你的类型提示显示完整的{ type: string; name: string; count: number }
而不是Foo & Bar
type Prettier<T> = { [K in keyof T]: T[K]};
评论加载中 (ง •̀ω•́)ง