在Blazor wasm中实现行悬停的方法
P粉425119739
P粉425119739 2023-08-13 16:53:14
[CSS3讨论组]
<p>我有一个Blazor表格组件,根据一个集合的变量行数而变化:</p> <pre class="brush:php;toolbar:false;">&lt;table id="MyTable" class="table table-hover"&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;项目名称&lt;/th&gt; &lt;th&gt;描述&lt;/th&gt; &lt;th&gt;上传者&lt;/th&gt; &lt;th&gt;上传日期&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; @foreach (var item in Items) { &lt;tbody&gt; &lt;tr&gt; &lt;th&gt;@item.Name&lt;/th&gt; &lt;th&gt;@item.Description&lt;/th&gt; &lt;th&gt;@item.UserName&lt;/th&gt; &lt;th&gt;@item.UploadDate.ToString("dd-MM-yyyy")&lt;/th&gt; &lt;th&gt;&lt;button type="button" class="btn btn-primary" @onclick="() =&gt; DoSomething()"&gt;Do Work&lt;/button&gt;&lt;/th&gt; &lt;/tr&gt; &lt;/tbody&gt; } &lt;/table&gt;</pre> <p>我需要做的是,当鼠标悬停在某行上时,<em>只有</em>该行的特定元素才能启用。</p> <p>例如,如果这个表格有10行(1-10),当我悬停在第1行时,只有第1行的按钮才应该可见和可点击。其他按钮,其父行没有悬停,不应该启用。</p> <p>在Blazor中,如何在悬停在某行上时,仅启用<em>该特定行上的按钮</em>?</p>
P粉425119739
P粉425119739

全部回复(1)
P粉252116587

如评论中所提到的,有一些原因可能不希望在鼠标悬停时显示子元素:它依赖于用户使用鼠标。另外,可以使整行可点击,这可能会提供更好的用户体验。

虽然为了完整起见,这里是如何解决我提出的问题:

在Razor页面中,为行(父级)和按钮(子级)HTML标签添加CSS Id选择器:

@foreach (var item in Items)
    {
        <tbody>
            <tr id="FileTableRow">
                <th>@item.Name</th>
                <th>@item.Description</th>
                <th>@item.UserName</th>
                <th>@item.UploadDate.ToString("dd-MM-yyyy")</th>
                <th><button id="FileTableRowButton" type="button" class="btn btn-primary" @onclick="() => DoSomething()">Do Work</button></th>
            </tr>
        </tbody>
    }

然后,我们可以使用CSS在行(父级)上悬停时对按钮(子级)应用样式:

#FileTableRowButton {
  visibility: hidden;
}

#FileTableRow {
  &:hover {
    #FileTableRowButton {
      visibility: visible;
    }
  }
}

根据您的用例,您可能希望应用不同的样式。例如,使用display: none;而不是visibility: hidden;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号