Стиль відключена кнопка з 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.