当前位置: 首页 > news >正文

企业每月报账在哪个网站做网站备案与服务器

企业每月报账在哪个网站做,网站备案与服务器,网站建设的步骤过程视频,apache 网站建设本文将介绍如何在 Babylon.js 开发中#xff0c;通过预先定义的 CSS 文件实现 UI 的自适应布局#xff0c;确保 UI 能够根据 Canvas 元素的尺寸动态调整。 场景描述 假设我们已经使用 HTML 和 CSS 构建了 Babylon.js 的 UI 界面#xff0c;并且所有样式都定义在 CSS 文件中…        本文将介绍如何在 Babylon.js 开发中通过预先定义的 CSS 文件实现 UI 的自适应布局确保 UI 能够根据 Canvas 元素的尺寸动态调整。 场景描述 假设我们已经使用 HTML 和 CSS 构建了 Babylon.js 的 UI 界面并且所有样式都定义在 CSS 文件中。现在我们需要让这些 UI 元素能够根据 Canvas 的尺寸动态调整以实现自适应的效果。 解决方案 1. 使用 CSS 变量推荐 CSS 变量Custom Properties是 CSS3 引入的特性允许我们定义可动态更新的变量。通过结合 JavaScript我们可以根据 Canvas 的尺寸动态调整 CSS 变量从而实现 UI 的自适应。 1.1 在 CSS 文件中定义变量 首先在 CSS 文件中定义一些变量用于控制 UI 元素的尺寸、位置等属性。 :root {--ui-width: 100px; /* 默认宽度 */--ui-height: 50px; /* 默认高度 */--ui-font-size: 16px; /* 默认字体大小 */ }.ui-element {width: var(--ui-width);height: var(--ui-height);font-size: var(--ui-font-size);background-color: rgba(255, 255, 255, 0.8);text-align: center;padding: 10px;position: absolute;top: 10%;left: 10%; } 1.2 在 JavaScript 中动态更新 CSS 变量 接下来通过 JavaScript 监听 Canvas 的尺寸变化并动态更新 CSS 变量。 const canvas document.getElementById(renderCanvas);// 监听 Canvas 尺寸变化 const observer new ResizeObserver(entries {for (let entry of entries) {const { width, height } entry.contentRect;updateUIStyle(width, height);} }); observer.observe(canvas);// 更新 CSS 变量 function updateUIStyle(width, height) {const root document.documentElement;root.style.setProperty(--ui-width, ${width * 0.8}px); // 80% 的 Canvas 宽度root.style.setProperty(--ui-height, ${height * 0.1}px); // 10% 的 Canvas 高度root.style.setProperty(--ui-font-size, ${height * 0.02}px); // 字体大小随高度变化 }// 初始设置 window.addEventListener(load, () {updateUIStyle(canvas.width, canvas.height); }); 1.3 优点 代码简洁通过 CSS 变量可以轻松实现样式的动态调整。易于维护所有样式定义在 CSS 文件中JavaScript 只负责更新变量。 2. 使用类名切换备选 如果不想使用 CSS 变量可以通过动态添加或切换类名来实现自适应。 2.1 在 CSS 文件中定义不同尺寸的类 在 CSS 文件中定义多个类分别对应不同的 Canvas 尺寸。 .ui-element {background-color: rgba(255, 255, 255, 0.8);text-align: center;padding: 10px;position: absolute;top: 10%;left: 10%; }/* 小尺寸 */ .ui-element.small {width: 100px;height: 50px;font-size: 12px; }/* 中尺寸 */ .ui-element.medium {width: 200px;height: 100px;font-size: 16px; }/* 大尺寸 */ .ui-element.large {width: 300px;height: 150px;font-size: 20px; } 2.2 在 JavaScript 中动态切换类名 根据 Canvas 的尺寸动态切换 UI 元素的类名。 const canvas document.getElementById(renderCanvas); const uiElement document.querySelector(.ui-element);// 监听 Canvas 尺寸变化 const observer new ResizeObserver(entries {for (let entry of entries) {const { width, height } entry.contentRect;updateUIClass(width, height);} }); observer.observe(canvas);// 根据尺寸切换类名 function updateUIClass(width, height) {if (width 600) {uiElement.classList.remove(medium, large);uiElement.classList.add(small);} else if (width 1024) {uiElement.classList.remove(small, large);uiElement.classList.add(medium);} else {uiElement.classList.remove(small, medium);uiElement.classList.add(large);} }// 初始设置 window.addEventListener(load, () {updateUIClass(canvas.width, canvas.height); }); 2.3 优点 兼容性好适用于不支持 CSS 变量的旧版浏览器。灵活性高可以通过定义多个类实现复杂的自适应逻辑。 补充一个最近开发时的案例 css文件参考 body{background-color:#000723; }canvas{width: 100%; height: 100%; position:absolute;top:0px;left:0px;background-color: #000723;z-index: -100; }#containerSel3DIcon {position: absolute; /* 或者使用 relative/fixed */top: 0;left: 0;width: 100%;height: 100%;pointer-events: none;overflow: hidden; } .Sel3DIcon{position: absolute;text-align: left;vertical-align: top;pointer-events: auto;cursor: pointer;z-index: -99; } .Sel3DIcon img{width: 32px;height: 32px; } .Sel3DIcon span{font-size: 18px;color: #fff;text-align: left;vertical-align: top;text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.9); } js文件中UI自适应部分的代码参考 function AdaptiveStyles(){const styleSheets document.styleSheets;const iconSize Math.round(canvas.height * 0.026);const contentSize Math.round(canvas.height * 0.016);for (let i 0; i styleSheets.length; i) {const styleSheet styleSheets[i];const rules styleSheet.cssRules;for (let j 0; j rules.length; j) {const rule rules[j];if (rule.selectorText .Sel3DIcon img) {console.log(img);rule.style.width ${iconSize}px;rule.style.height ${iconSize}px;}else if (rule.selectorText .Sel3DIcon span) {console.log(span);rule.style.fontSize ${contentSize}px;}}} }AdaptiveStyles();window.addEventListener(resize, function() {engine.resize();AdaptiveStyles(); }); 在该段代码中使用了模板字符串关于模板字符串的使用方法请参看以下链接 模板字符串VS普通字符串核心区别与使用场景
http://www.pierceye.com/news/549312/

相关文章:

  • 悠悠我心的个人网站素材网站建设教育培训
  • 网站建设定金做什么会计分录湘潭有实力的关键词优化公司
  • 网站备案 网站建设方案书云搜索app
  • 青岛网络推广建站民营医院建设网站
  • 罗湖住房和建设局网站wordpress调用内容代码
  • 网络logo设计优化设计七年级下册语文答案
  • 贵港网站seo安新网站建设
  • 网站怎么自己编辑模块创意网名大全
  • php的网站架构建设框架wordpress如何运行
  • 广州seo网站排名优化数码设计网站
  • 免费做视频相册的网站网站建设的功能描述
  • 网站建设方案浩森宇特alexa排名是什么意思
  • 网上手机网站建设计划书百度小说风云榜排名
  • 用js来做网站帝国cms这么做网站
  • 网站建设需求分析班级网站备案服务类型
  • 网站备案幕布照片怎么算合格北京专业网站开发
  • 浙江建设职业技术学院塘栖校区网站网络推广方法有几种
  • 呢图网站场建设封面长安镇做网站
  • 搜索关键词的网站黄山做网站
  • 网络建站系统去除wordpress主题头部作者信息
  • 鼓楼微网站开发番禺有经验的网站建设
  • 对网站建设心得进入公众号继续阅读怎么弄
  • 网站建设公司投诉电话可以先做网站后备案吗
  • 顺的品牌网站设计价位网站开发合同书
  • 用html5制作个人网站深圳百度国际大厦
  • 网络网站公司网站管理平台扩展插件
  • 个人小说网站怎么做把自己做的网页变成网站
  • led网站制作网站登录后不显示内容
  • 推广网站公司兴义市住房和城乡建设局网站
  • 营销网站建设的公司哪家好创建网站超链接