Стиль відключена кнопка з CSS


218

Я намагаюся змінити стиль кнопки із вбудованим зображенням, як це видно в наступній скрипці:

http://jsfiddle.net/krishnathota/xzBaZ/1/

У прикладі немає зображень, боюся.

Я намагаюся:

  1. Змініть background-colorкнопку, коли вона відключена
  2. Змініть зображення в кнопці, коли воно вимкнено
  3. Вимкніть ефект наведення, коли вимкнено
  4. При натисканні на зображення у кнопці та перетягуванні його зображення можна побачити окремо; Я хочу цього уникнути
  5. Текст на кнопці можна вибрати. Я теж хочу цього уникнути.

Я намагався робити в button[disabled]. Але деякі ефекти неможливо відключити. як top: 1px; position: relative;і образ.

Відповіді:


317

Для відключених кнопок можна використовувати :disabledпсевдоелемент. Він працює для всіх елементів.

Для браузерів / пристроїв, що підтримують CSS2, ви можете використовувати [disabled]селектор.

Як і у випадку із зображенням, не кладіть зображення на кнопку. Використовуйте CSS за background-imageдопомогою background-positionта background-repeat. Таким чином, перетягування зображення не відбуватиметься.

Проблема з вибором: ось посилання на конкретне питання:

Приклад для відключеного селектора:

button {
  border: 1px solid #0066cc;
  background-color: #0099cc;
  color: #ffffff;
  padding: 5px 10px;
}

button:hover {
  border: 1px solid #0099cc;
  background-color: #00aacc;
  color: #ffffff;
  padding: 5px 10px;
}

button:disabled,
button[disabled]{
  border: 1px solid #999999;
  background-color: #cccccc;
  color: #666666;
}

div {
  padding: 5px 10px;
}
<div>
  <button> This is a working button </button>
</div>

<div>
  <button disabled> This is a disabled button </button>
</div>


1
Застосовується до CSS 2 або 3 (або обох)?
— ViniciusPires

3
Наскільки мені відомо, :disabledселектор - це селектор CSS3. background-image, background-repeat, background-positionПрацюють в CSS 2.
— beerwin

3
То, можливо, робити: інвалід, [інвалід] буде працювати в CSS2 та 3?
— ViniciusPires

3
Просто до відома, то ="true"частина disabled="true"не те , що робить його вимкненим. Ви можете використовувати disabled="false"або, disabled="cat"інакше це буде відключено. Або просто мати disabledбез вартості. Ця властивість може бути присутнім / опущеним лише у Html або додана через JavaScript з true / false
— Drenai

86

Я думаю, ви повинні мати змогу вибрати відключену кнопку, використовуючи наступне:

button[disabled=disabled], button:disabled {
    // your css rules
}

Чи можу я відключити наведення курсора ?? і я чув, що в IE6 не вийде?
— Кришна Тота

Я не думаю, я не можу, але я не на 100% впевнений. Якщо ви також можете додати клас відключених до відключених кнопок, то, ймовірно, ви могли це зробити через цей клас.
— Біллі Мот

35

Додайте нижче код на свою сторінку. Повірте мені, жодних змін у подіях кнопки не внесено, щоб відключити / увімкнути кнопку, просто додайте / видаліть клавішу клавіш у Javascript.

Спосіб 1

 <asp Button ID="btnSave" CssClass="disabledContent" runat="server" />

<style type="text/css">
    .disabledContent 
    {
        cursor: not-allowed;
        background-color: rgb(229, 229, 229) !important;
    }

    .disabledContent > * 
    {
        pointer-events:none;
    }
</style>

Спосіб 2

<asp Button ID="btnSubmit" CssClass="btn-disable" runat="server" />

<style type="text/css">
    .btn-disable
        {
        cursor: not-allowed;
        pointer-events: none;

        /*Button disabled - CSS color class*/
        color: #c0c0c0;
        background-color: #ffffff;

        }
</style>

2
Саме те, що я шукав. Кнопка відключена, але виглядає ввімкнено!
— Домі

Щоб відчути себе відключеною, додайте нижній колір коду CSS: # c0c0c0; фон-колір: #ffffff;
— Tamilselvan K

9

Застосувати сіру кнопку CSS для відключеної кнопки.

button[disabled]:active, button[disabled],
input[type="button"][disabled]:active,
input[type="button"][disabled],
input[type="submit"][disabled]:active,
input[type="submit"][disabled] ,
button[disabled]:hover,
input[type="button"][disabled]:hover,
input[type="submit"][disabled]:hover
{
  border: 2px outset ButtonFace;
  color: GrayText;
  cursor: inherit;
  background-color: #ddd;
  background: #ddd;
}

7

За допомогою CSS:

.disable{
   cursor: not-allowed;
   pointer-events: none;
}

Їм ви можете додати будь-яку прикрасу до цієї кнопки. Для зміни статусу ви можете використовувати jquery

$("#id").toggleClass('disable');

6

Для всіх нас, хто використовує bootstrap, ви можете змінити стиль, додавши клас "відключений" та скориставшись наступним:

HTML

<button type="button"class="btn disabled">Text</button>

CSS

.btn:disabled,
.btn.disabled{
  color:#fff;
  border-color: #a0a0a0;
  background-color: #a0a0a0;
}
.btn:disabled:hover,
.btn:disabled:focus,
.btn.disabled:hover,
.btn.disabled:focus {
  color:#fff;
  border-color: #a0a0a0;
  background-color: #a0a0a0;
}

Пам'ятайте, що додавання класу "вимкнено" не обов'язково відключає кнопку, наприклад, у формі подання. Щоб відключити його поведінку, використовуйте вимкнено властивість:

<button type="button"class="btn disabled" disabled="disabled">Text</button>

Робоча загадка з деякими прикладами доступна тут .


4

Якщо ваша кнопка відключена, вона безпосередньо встановлює непрозорість. Отже, перш за все, ми повинні встановити його непрозорість як

.v-button{
    opacity:1;    
}

2
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
{
  //  apply css here what u like it will definitely work...
}

2

розглянути наступне рішення

.disable-button{ 
  pointer-events: none; 
  background-color: #edf1f2;
}

Це рішення призведе до посилення слабкості додатків / служб, які вони будують.
— Франко Гіл

1
@FrancoGil Ви маєте рацію, але це може бути спосіб відключити кнопку відключення
— Sahil Ralkar

1

І якщо ви перейдете до використання scss:

button {
  backgroud-color: #007700
  &:disabled {
    backgroud-color: #cccccc
  }
}

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.