1. 防止溢出时布局变化
如果你有一个带有overflow: auto的元素,那么只有当该元素溢出时它才会有一个滚动条。问题是,一旦元素溢出并出现滚动条,内容就会缩小以适应滚动条的宽度。
为了避免不必要的布局转换,请添加:
滚动条装订线:稳定
即使滚动条不可见,它也会为滚动条保留空间。
在撰写本文时,只有 74% 的用户拥有此功能。但这是一个很好的渐进增强。这意味着使用较新浏览器的用户可以享受更好的用户体验,而使用较旧浏览器的用户则不受影响。
2.尊重设备对深色模式的偏好
如果您已经在网站中实现了深色模式,您可以通过检查设备对浅色或深色模式的偏好来避免用户手动选择深色模式
if (window.matchmedia && window.matchmedia('(prefers-color-scheme: dark)').matches) { // dark mode }
因此,如果用户已经在其设置中选择了深色模式,那么您也可以在您的网站中将默认值设置为深色模式。
一些网站甚至选择根本没有深色模式切换,而仅依赖设备的偏好。
3.链接应该是真实链接
当您有一个按钮应该重定向到网站的不同部分时,最明显的方法是使用一个用于单击的事件侦听器并使用 JavaScript 重定向用户。
这是错误的,只要您可以使用浏览器原语(例如:链接、表单),那么您几乎应该始终使用它。
使用 标签有很多好处。
如果您使用的是 react-router 或 next.JS,那么您应该使用该框架的 link 组件来防止整个页面重新加载。
4. 链接预览
当用户分享指向您网站的链接时,所有聊天和社交媒体应用程序都具有预览功能,可以在用户单击该网站之前查看该网站的部分内容。只需向您的
对象添加几个元标记,您将允许其他应用程序向您的网站显示预览。
<head> <title>the rock (1996)</title> <meta property="og:title" content="the rock" /> <meta property="og:type" content="video.movie" /> <meta property="og:url" content="https://www.imdb.com/title/tt0117500/" /> <meta property="og:image" content="https://ia.media-imdb.com/images/rock.jpg" /> ... </head>
在 react 19 中,编辑
对象比以往任何时候都更容易。您以前必须使用像react-helmet这样的第三方库,但现在它是内置的react。
function blogpost({ post }) { return ( <article> <h1>{post.title}</h1> <p>{post.content}</p> <title>{post.title}</title> <meta name="description" content={post.excerpt} /> <meta property="og:title" content={post.title} /> <meta property="og:description" content={post.excerpt} /> <meta property="og:image" content={post.image} /> <meta property="og:url" content={post.url} /> <meta property="og:type" content="article" /> </article> ); }
这称为开放图谱协议。
社交共享预览是一个非常有用的工具,它可以让您测试预览在不同网站中的外观,并为您提供如何改进的建议。
5. 在输入中使用标签
我经常看到复选框,当我尝试单击复选框的标签时没有任何反应。除了可访问性差之外,这意味着用户必须单击小复选框才能选择它。
要解决此问题,请使用
<label> <input type="checkbox"> Click me to select the checkbox </label>
这适用于所有输入类型。例如,单击文本输入的标签将聚焦到文本框。