如何更新 blazor 中浏览器生成的内联样式

How to update a inline style generated by browser in blazor

问题是这样的 Box 有一个 resize css 属性,允许用户改变它的大小。它更新内联样式 height.
还有一个按钮可以改变同一个框的大小。
在用户不开始同时使用这两个功能之前,这两个功能都可以正常工作。
当用户开始调整框的大小而不是浏览器正在向 div 添加内联样式时,问题就来了,即:style="height:40px" 这种内联样式比来自 css 文件的任何样式都强,因此按钮实际上停止工作如果我将 !important 规则添加到 css 并且浏览器调整大小功能不再起作用,则不能再使用按钮调整框的大小,因为重要的覆盖内联规则。
我尝试使用 reset 重置样式,但如果用户开始使用调整大小,它就不起作用。
所以

如何reset/update用户使用调整大小功能时浏览器生成的样式?

<div class="terminal_in_body terminal_size-@terminalSize" style="@reset">

<button class="terminal_btn @(terminalSize == 0?"button_hidden":"button_visiable")" @onclick="Collaps" title="Extend/Hide terminal" >@(terminalSize == 0?"^":"_")</button>

@code {
  string reset = "";
  int terminalSize = 1; // 0 - collaps, 1 - 10% of screen, 2 - 20% of screen and so one
  public void Collaps()
  {
    reset = "xx";
    terminalSize++;
    if(terminalSize > 4)
      terminalSize = 0;
    InvokeAsync(() => StateHasChanged());
  }
}

使用调整大小功能规则 height 后从浏览器中删除的元素正在覆盖 terminl_size-1 规则,我找不到重置它的方法。

<div class="terminal_in_body terminal_size-1" style="height: 342px;" ></div>
.terminal_in_body {
  background-color:rgb(44, 44, 44);
  border-top: 1px solid #d6d5d5;
  width: inherit;
  transform: rotateX(180deg);
  resize: vertical;
  overflow: auto;
}

}
.terminal_size-0{
  height: 0rem !important;
}
.terminal_size-1{
  height: 4rem;
}
.terminal_size-2{
  height: 8rem;
}
.terminal_size-3{
  height: 16rem;
}
.terminal_size-4{
  height: 32rem;
}

你可以这样做

<div contenteditable="true" 
  class="terminal_in_body" 
  style="height: @(sizes[terminalSize])rem;">
This is my text
</div>

<button class="terminal_btn @(terminalSize == 0?"button_hidden":"button_visiable")" 
  @onclick="Collaps" 
   title="Extend/Hide terminal" >@(terminalSize == 0?"^":"_")
</button>

@code {
  int terminalSize = 1; // 0 - collaps, 1 - 10% of screen, 2 - 20% of screen and so one
  int[] sizes = {0,4,8,16,22};
  public void Collaps()
  {
    terminalSize++;
    if(terminalSize > 4)
      terminalSize = 0;
  }
}

<style>
    .terminal_in_body {
  background-color:rgb(44, 44, 44);
  border-top: 1px solid #d6d5d5;
  width: inherit;
  resize: vertical;
  overflow: auto;
}
</style>

BlazorRepl