npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

u-scale

v0.0.4

Published

一个用于数据可视化屏幕适配的vue.js插件,简单易用、模块化,可适应各种屏幕尺寸和浏览器窗口大小变化

Downloads

19

Readme

UI缩放与适配解决方案

概述

<u-scale> 是一款专为数字孪生和可视化应用打造的 UI 缩放和适配插件。在数字孪生技术中,用户界面(UI)需在各种屏幕尺寸和分辨率下无缝工作,以确保一致的用户体验。

特点

  • 针对性强<u-scale> 明确针对数字孪生和高保真可视化应用,这意味着它在处理复杂的3D模型和大规模数据可视化方面进行了特别优化。
  • 性能优化:通过节流和防抖机制,<u-scale> 减少了不必要的重绘,这在处理大量动态内容时尤为关键。相比之下,其他框架可能更多依赖于标准的CSS媒体查询和JavaScript事件监听。
  • CSS3D支持:对于需要高性能3D渲染的应用,<u-scale> 的CSS3D变换支持可以带来显著的性能提升和渲染质量改善。

安装与使用

  1. 安装:通过 npm 安装 <u-scale> 插件。

    npm install u-scale
  2. 全局注册:在 Vue 应用中导入并注册插件。

    import { createApp } from 'vue';
    import App from './App.vue';
    import { useUscale } from 'u-scale';
    
    const app = createApp(App);
    app.use(useUscale, {
      size: [1920, 1080], // 设计图尺寸
      type: 'auto',  // 如何调整缩放 ('width', 'height', 或 'auto')
      css3d: true, // 是否使用 CSS 3D 变换
      ratio: 1920 / 1080, // 缩放比例阈值
      wait: 100 // 更新缩放的节流间隔
    });
    app.mount('#app');
  3. 组件使用 使用 <u-scale> 组件实现响应式屏幕适配。

    <template>
      <u-scale :origin="'left'" :top="0" :left="0" :pointerEvents="'auto'" :unit="'%'" :wait="100">
        <!-- 子组件或内容 -->
      </u-scale>
    </template>

组件属性详述

| 属性 | 类型 | 必填项 | 默认值 | 描述 | | ----------------- | ------- | ------ | ------ | ---------------------------------------------------------------------------------------------------------- | | scale | Number | 否 | 1 | 缩放因子。允许你独立于全局配置调整元素的大小。 | | origin | String | 否 | 'left' | 对齐方式。定义元素相对于其父容器的初始位置,可选值包括 'left', 'right', 'center', 'bottom-L', 'bottom-R'。 | | top | Number | 否 | 0 | 定义元素顶部与父容器边缘的距离。注意:不能同时设置 topbottom。 | | left | Number | 否 | 0 | 定义元素左侧与父容器边缘的距离。注意:不能同时设置 leftright。 | | right | Number | 否 | null | 定义元素右侧与父容器边缘的距离。注意:不能同时设置 leftright。 | | bottom | Number | 否 | null | 定义元素底部与父容器边缘的距离。注意:不能同时设置 topbottom。 | | pointerEvents | String | 否 | 'auto' | 鼠标事件模式。可设为 'auto' 或 'none'。设置为 'none' 可使元素不接收鼠标事件。 | | unit | String | 否 | 'px' | 布局单位。可以选择 'px'(像素)或 '%'(百分比)。百分比单位适用于响应式设计。 | | wait | Number | 否 | 50 | 节流更新间隔。定义窗口大小变化时,两次缩放更新间的最小时间间隔,单位为毫秒。 | | noScale | Boolean | 否 | false | 禁用缩放。设置为 true 时,元素将不会根据窗口大小变化而缩放。 | | width | Number | 否 | null | 当 noScale 设为 true 时,可以显式设置元素的宽度。 | | height | Number | 否 | null | 当 noScale 设为 true 时,可以显式设置元素的高度。 |

在实际应用中,根据具体需求,可能需要根据上下文确定哪些字段是必需的。例如,在需要精确定位的场景下,topbottomleftright 至少需要一个被设置。而在不需要缩放的场景下,noScale 和相应的 widthheight 就会成为必要的配置项。

注意事项

  • 未指定 scale 属性时,将使用全局配置的值。
  • 内容应使用百分比或相对单位,以确保正确响应。
  • 复杂布局可能需要额外的 CSS 规则以保证元素正确缩放。

最佳实践

  • 使用相对单位:为了确保元素能够响应缩放,推荐使用百分比单位 (%) 或者视窗单位 (vw, vh)。
  • 考虑性能:虽然 CSS3D 变换提供了更好的渲染效果,但在某些设备上可能会导致性能问题。因此,建议在性能测试后根据实际需要开启或关闭 css3d 属性。
  • 测试不同设备:由于 <u-scale> 被设计为跨平台兼容,确保在多种设备和浏览器上进行充分测试,以验证其响应式表现。