Issue
'Requirement is onhover checkbox must be visible but onmouseout checked checkbox must be visible and unchecked checkbox must be invisible.My problem is Checkbox hovering function alone works but checked Checkbox on mouseout disappears'
.custom-nav-link .mud-checkbox {
display: none;
position: absolute;
top: 0;
left: 130px;
}
.custom-nav-link:hover .mud-checkbox {
display: inline-block;
}
.mud-checkbox:checked {
display: inline-block;
}
<div class="d-flex align-items-center custom-nav-link">
<MudNavLink Href="/dashboard" IconColor="Color.Secondary" Icon="@Icons.Material.Filled.Dashboard">My Dashboard </MudNavLink>
<MudCheckBox @bind-Checked="@isdashboardChecked" class="mud-checkbox" Color="Color.Primary" CheckedIcon="@Icons.Material.Filled.Star" UncheckedIcon="@Icons.Material.Filled.StarOutline" Size="Size.Small"></MudCheckBox>
</div>
Solution
MudCheckBox
is a component not an element i.e. it is a combination of one or more HTML elements, that's why you cannot use the :checked
pseudo class selector on it.
display
Here's what you can do instead, use the isdashboardChecked
bool field assigned to the Checked
property to add conditional classes instead.
<style>
.custom-nav-link .my-checkbox-unchecked{
display: none;
}
.custom-nav-link:hover .my-checkbox-unchecked{
display: inline-block;
}
</style>
<MudPaper Width="250px" Class="py-3" Elevation="0">
<MudNavMenu>
<MudText Typo="Typo.h6" Class="px-4">My Application</MudText>
<div class="d-flex align-items-center custom-nav-link">
<MudNavLink Href="/dashboard" IconColor="Color.Secondary" Icon="@Icons.Material.Filled.Dashboard">My Dashboard </MudNavLink>
<MudCheckBox @bind-Checked="@isdashboardChecked" Class="@GetCheckboxClass" Color="Color.Primary" CheckedIcon="@Icons.Material.Filled.Star" UncheckedIcon="@Icons.Material.Filled.StarOutline" Size="Size.Small"></MudCheckBox>
</div>
</MudNavMenu>
</MudPaper>
@code{
bool isdashboardChecked = false;
private string GetCheckboxClass => isdashboardChecked?"my-checkbox-checked":"my-checkbox-unchecked";
}
visibility
You can use visibility
CSS property instead of display
. With this, the checkbox wont displace other elements when it is visible/hidden.
For example
<style>
.custom-nav-link .my-checkbox-unchecked{
visibility: hidden;
}
.custom-nav-link:hover .my-checkbox-unchecked{
visibility: visible;
}
</style>
Answered By - RBee
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.