实现css可折叠使禁用

Web*_*Tim 1 html javascript materialize

在 Laravel 中使用 Materialize CSS,根据某些情况,我希望能够禁用“Collapsible”元素,就像你可以通过添加“禁用”类轻松使用“标签”一样,如果你需要,例如:

<li @if(count($devices) == 0) class="tab col s4 disabled" @else class="tab col s4" @endif><a href="#mydevices">My Devices</a></li>
Run Code Online (Sandbox Code Playgroud)

标签元素:MaterializeCSS 标签

可折叠元素:MaterializeCSS 可折叠

但这不适用于可折叠元素。解决方法只是隐藏整个元素,但禁用会向用户显示他们可能会去哪里做更多事情等。

所以这是我试图禁用的一点:

<div @if(count($devices) == 0) class="collapsible-header disabled" @else class="collapsible-header" @endif>My Devices</div>
Run Code Online (Sandbox Code Playgroud)

想法/想法赞赏:)

Evg*_*kin 5

我不是“Laravel”人,但我可以为您提供以下 HTML/JS/CSS 解决方案:

<ul class="collapsible" data-collapsible="accordion">
    <li class="disabled">
      <div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div>
      <div class="collapsible-body"><p>Lorem ipsum dolor sit amet.</p></div>
    </li>
    <li>
      <div class="collapsible-header"><i class="material-icons">place</i>Second</div>
      <div class="collapsible-body"><p>Lorem ipsum dolor sit amet.</p></div>
    </li>
    <li>
      <div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div>
      <div class="collapsible-body"><p>Lorem ipsum dolor sit amet.</p></div>
    </li>
 </ul>
Run Code Online (Sandbox Code Playgroud)

CSS:

.collapsible li.disabled .collapsible-body {
    display: none !important; /*or using id of the app to avoid the use of !important*/
}

.collapsible li.disabled .collapsible-header {
    background: rgb(221,221,221);
}
Run Code Online (Sandbox Code Playgroud)