如何在 Blazor 中直接更改 css(不带变量)?

2024-02-24

我正在使用 Blazor 的服务器端。

我想改变body的CSS。

在 Jquery 中我可以轻松地编写这样的代码:

$("body").css("overflow-y","hidden");

但是,通过本教程(Blazor 更改验证默认 css 类名称 https://stackoverflow.com/questions/58199723/blazor-change-validation-default-css-class-names)说,看来我只能通过改变类名来改变CSS。

跨越组件时非常复杂,尤其是body位于所有组件的顶部。

我想知道是否有一种方法可以直接在 Blazor 中更改 CSS。谢谢。


有几种方法可以摆脱“blazor 方式”做事并完成元素的 css 修改。

Simplest: 就像可以使用class属性一样,使用style属性

<element style=@myStyle></element>

@code {
  string myStyle;

  void MyMethod() {
     myStyle="overflow-y: hidden;"
  }
}

Advanced: 使用JS互操作

A。在主视图中(index.html or Pages/_Host.cshtml取决于项目类型),为您的组件创建一个 js 端点

<script>
   window.applyStyleForElement = function(styleOp) {
       document.getElementById(styleOp.id).style[styleOp.attrib] = styleOp.value;
   }
</script>

b.在剃刀文件中:

@Inject IJRRuntime JSRuntime
<element id=@myId></element>

@code {
  string myId = Guid.NewGuid().ToString("n");

  async Task MyMethod() {
     await JSRuntime.InvokeAsync("applyStyleForElement", 
      new { id = myId,  attrib = "overflowY", value = "hidden" });
  }
}

最后,使用 body 元素应用于您的特殊情况(上面的“高级”方法)。

A。在主视图中(index.html or Pages/_Host.cshtml取决于项目类型),创建一个js端点

<script>
   window.applyStyleForBody = function(style) {
       document.body.style[style.attrib] = style.value;
   }
</script>

b.在剃刀文件中:

@Inject IJRRuntime JSRuntime
(...)

@code {

  async Task MyMethod() {
     await JSRuntime.InvokeAsync("applyStyleForBody", 
       new { attrib = "overflowY", value = "hidden" });
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Blazor 中直接更改 css(不带变量)? 的相关文章

随机推荐

  • 双重否定-(-n)的原因是什么?

    我正在查看一些遗留代码 我看到了类似的东西 char n 65 char str 1024 sprintf str d n 为什么作者 不再在场 写了 n 而不仅仅是n 不会 n够了吗 首先要注意的是 n实际上减少 n加 1 并计算出新值
  • 尝试导入张量流时出现非法硬件指令

    我刚刚使用以下说明安装了tensorflowvirtualenv方法 安装过程很顺利 所以我认为没有任何问题 安装后 我继续尝试导入它以验证一切正常 我收到以下消息 1 4492 illegal hardware instruction c
  • html 中指定的图像宽度单位是什么?

    我对 html 语言完全陌生 在html中附加的图像中 我们需要通过以下标记指定图像的宽度 img width 350 src var tmp jpg 那么这里的宽度单位是什么 我猜它是以像素为单位的 如果以像素为单位 是否意味着图像的大小
  • 从 xcode 命令行生成 ipa

    从命令行生成 IPA 文件的最佳方法是什么 我使用的是 xcode 4 2 并使用以下命令生成存档 xcodebuild scheme AppStore clean archive 协同设计后 这会在构建输出目录中生成 dSYM 和 app
  • XAML 中的字符串格式

    我正在尝试格式化我的string每 3 个位置有一个逗号 如果不是整数则有一个小数 我检查了大约 20 个例子 这是我得到的最接近的例子
  • 如何在 iTunes 上获取我的应用程序统计信息?

    我最近发布了一款 iPhone 应用程序 但我没有看到任何方法可以像在 Google Play 中一样检查应用程序统计信息 您能告诉我该怎么做吗 你可以从iTunes连接 https itunesconnect apple com 登录您的
  • Java 贪吃蛇游戏避免使用 Thread.sleep

    我用 Java 制作了我的第一个游戏 贪吃蛇 它的主循环看起来像这样 while true long start System nanoTime model eUpdate if model hasElapsedCycle model up
  • 通过代码使卸载注册表项成为有条件的

    如何禁用 Inno SetupCreateUninstallRegKey http www jrsoftware org ishelp index php topic setup createuninstallregkey通过代码 My 安
  • 在每个“X”React 组件之后插入一个元素

    我有一个 React 组件 它使用 Bootstrap 将项目列表呈现为三列col col md 4风格 但是 我需要插入一个clearfix div http getbootstrap com css grid responsive re
  • git 无法执行任何任务

    我在 Windows 7 上使用 Git 我是从那里下载的http git scm com download http git scm com download 无论我重新安装 Git 并尝试执行某些操作 甚至克隆都不起作用 多少次 它都无
  • ant sql insert 语句在“--”字符串上失败。解决方法?

    Context 我们正在更改安装脚本以使用 ant 的 sql 任务和 jdbc 而不是专有的 sql 客户端 sqlplus oracle 和 osql msft 更新 添加了更多上下文 我们的 基础数据 种子数据 由一组 sql 文件组
  • 代码签名时是否/如何避免 SHA-1 签名时间戳?

    我们刚刚从 SHA 1 切换到 SHA 2 代码签名证书 作为背景信息 我们使用 COMODO 代码签名证书 使用signtool exe 在 Windows 上对 exe 和 xap 文件进行签名 我们使用经过认证的时间戳来执行此操作 以
  • UNIX时间是通用的吗

    我在互联网上做了一些研究 但仍然很困惑 UNIX 时间是像 GMT UTC 一样的通用时间还是像当地时间一样因地而异 我知道 UNIX 时间是从 1970 年 1 月 1 日 00 00 00 GMT 开始计算的 当我在 Java 中使用
  • 让 tkinter 使用 asdf 在 macos 上使用 python 3.x [重复]

    这个问题在这里已经有答案了 所以我很困惑 如何让 python 3 7 x 与 tkinter 和 asdf 一起使用 我做了以下事情 1 asdf local python 3 7 4 2 brew install tcl tk 3 br
  • 如何获取jquery锚点href值

    jQuery document ready function a change status click function var status id a val alert status id return false HTML a hr
  • 如何打开/关闭 iPhone 相机闪光灯?

    如何以编程方式打开 关闭 iPhone 的 LED 相机闪光灯 import
  • Python 中的 MATLAB ks密度等效项

    我在网上查看过 但尚未找到答案或方法来计算以下内容 我正在将一些 MATLAB 代码翻译为 Python 其中在 MATLAB 中我希望使用以下函数找到核密度估计 p x ksdensity data 其中 p 是分布中 x 点的概率 Sc
  • 模板类中的 C++ 静态常量数组初始化

    我有以下模板类 template
  • 哪些注册表项决定 Outlook 配置文件

    我需要编写 VBScript 代码来检查 Outlook 是否使用 MAPI 配置文件或 RPC over HTTP S 配置文件 哪个注册表项决定相同 这在 Outlook 2013 中发生了变化 Outlook 2013 开发人员的新增
  • 如何在 Blazor 中直接更改 css(不带变量)?

    我正在使用 Blazor 的服务器端 我想改变body的CSS 在 Jquery 中我可以轻松地编写这样的代码 body css overflow y hidden 但是 通过本教程 Blazor 更改验证默认 css 类名称 https