Курсор Bootstrap 4 для пользовательского управления в состоянии отключен

Мне нужен другой курсор для отключенных элементов пользовательского управления (флажок, кнопка радио)

Этот стиль не работает:

.custom-control-input:disabled ~ .custom-control-label::before {
    cursor: not-allowed;
}

1 ответ

Решение

Для отключенных элементов пользовательского управления в Bootstrap 4 (флажок, переключатель) вам понадобится следующий селектор css rule / selector:

.custom-control-input:disabled ~ .custom-control-label {
    cursor: not-allowed;
}

И если вы хотите, чтобы пользовательский стиль курсора использовался только для фактического флажка / переключателя, но не для метки (не рекомендуется в этом случае), то вам нужно это правило:

.custom-control-input:disabled ~ .custom-control-label::after {
    cursor: not-allowed;
}

Нажмите "Выполнить фрагмент кода" ниже, чтобы увидеть его работу:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    
<style>
.custom-control-input:disabled~.custom-control-label {
    cursor: not-allowed;
}
</style>

<form class="m-3">
    <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" id="customRadioInline1" name="customRadioInline1" class="custom-control-input">
        <label class="custom-control-label" for="customRadioInline1">This custom radio is OK</label>
    </div>
    <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" id="customRadioInline2" name="customRadioInline1" class="custom-control-input" disabled>
        <label class="custom-control-label" for="customRadioInline2">This one is disabled</label>
    </div>
    
    <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="customCheck1">
        <label class="custom-control-label" for="customCheck1">This custom checkbox is OK</label>
    </div>
    <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="customCheck2">
        <label class="custom-control-label" for="customCheck2">OK too</label>
    </div>
    <div class="custom-control custom-checkbox">
        <input type="checkbox" class="custom-control-input" id="customCheckDisabled" disabled>
        <label class="custom-control-label" for="customCheckDisabled">This custom checkbox is disabled</label>
    </div>
    
</form>

Другие вопросы по тегам