Tombol gaya dinonaktifkan dengan CSS


216

Saya mencoba mengubah gaya tombol dengan gambar yang disematkan seperti terlihat pada Fiddle berikut:

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

Dalam contoh tidak ada gambar, saya takut.

Saya mencoba untuk:

  1. Ubah background-colortombol saat dinonaktifkan
  2. Ubah gambar pada tombol saat dinonaktifkan
  3. Nonaktifkan efek hover saat dinonaktifkan
  4. Ketika Anda mengklik gambar di tombol dan menyeretnya, gambar dapat dilihat secara terpisah; Saya ingin menghindarinya
  5. Teks pada tombol dapat dipilih. Saya ingin menghindarinya juga.

Saya mencoba melakukannya button[disabled]. Tetapi beberapa efek tidak dapat dinonaktifkan. suka top: 1px; position: relative;dan gambar.

Jawaban:


315

Untuk tombol yang dinonaktifkan, Anda dapat menggunakan :disabledelemen semu. Ini bekerja untuk semua elemen.

Untuk browser / perangkat yang hanya mendukung CSS2, Anda dapat menggunakan [disabled]pemilih.

Seperti gambar, jangan meletakkan gambar di tombol. Gunakan CSS background-imagedengan background-positiondan background-repeat. Dengan begitu, menyeret gambar tidak akan terjadi.

Masalah pemilihan: di sini ada tautan ke pertanyaan spesifik:

Contoh untuk pemilih yang dinonaktifkan:

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
Dapat diterapkan pada CSS 2 atau 3 (atau keduanya)?
— ViniciusPires

3
Sejauh yang saya tahu, :disabledpemilihnya adalah pemilih CSS3. The background-image, background-repeat, background-positionbekerja di CSS 2.
— beerwin

3
Jadi mungkin melakukan: dinonaktifkan, [dinonaktifkan] akan bekerja di CSS2 & 3?
— ViniciusPires

3
Sekadar diketahui, ="true"bagian dari disabled="true"bukan apa yang membuatnya dinonaktifkan. Anda dapat menggunakan disabled="false"atau disabled="cat"dan itu masih akan dinonaktifkan. Atau hanya memiliki disabledtanpa nilai. Properti itu hanya dapat ditampilkan / dihilangkan dalam Html, atau ditambahkan melalui JavaScript dengan true / false
— Drenai

86

Saya pikir Anda harus dapat memilih tombol yang dinonaktifkan menggunakan yang berikut:

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

Bisakah saya menonaktifkan Hover ?? dan saya mendengar bahwa tidak akan berfungsi di IE6?
— Krishna Thota

Saya tidak berpikir Anda bisa, tetapi saya tidak 100% yakin. Jika Anda juga bisa menambahkan kelas yang dinonaktifkan ke tombol yang dinonaktifkan maka Anda mungkin bisa melakukannya melalui kelas itu.
— Billy Moat

35

Tambahkan kode di bawah ini di halaman Anda. Percayalah, tidak ada perubahan yang dibuat untuk acara tombol, untuk menonaktifkan / mengaktifkan tombol cukup tambahkan / hapus kelas tombol di Javascript.

Metode 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>

Metode 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
Persis apa yang saya cari. Tombol dinonaktifkan tetapi terlihat diaktifkan!
— Domi

Untuk merasa tombol dinonaktifkan tambahkan warna kode CSS di bawah ini: # c0c0c0; warna latar: #ffffff;
— Tamilselvan K

9

Untuk menerapkan CSS tombol abu-abu untuk tombol yang dinonaktifkan.

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

Dengan CSS:

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

Anda dapat menambahkan hiasan apa pun ke tombol itu. Untuk mengubah status Anda dapat menggunakan jquery

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

6

Untuk kita semua yang menggunakan bootstrap, Anda dapat mengubah gaya dengan menambahkan kelas "dinonaktifkan" dan menggunakan yang berikut:

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;
}

Ingat bahwa menambahkan kelas "dinonaktifkan" tidak harus menonaktifkan tombol, misalnya dalam formulir kirim. Untuk menonaktifkan perilakunya, gunakan properti yang dinonaktifkan:

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

Biola yang berfungsi dengan beberapa contoh tersedia di sini .


4

Ketika tombol Anda dinonaktifkan secara langsung mengatur opacity. Jadi pertama-tama kita harus mengatur opacity sebagai

.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

pertimbangkan solusi berikut

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

Solusi ini akan meningkatkan kelemahan aplikasi / layanan yang sedang dibangun.
— Franco Gil

1
@FrancoGil Anda benar tetapi ini bisa menjadi cara untuk mencapai tombol disable
— Sahil Ralkar

1

Dan jika Anda mengubah ke scss, gunakan:

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

0

Perlu menerapkan css sebagai berikut:

button:disabled,button[disabled]{
    background-color: #cccccc;
    cursor:not-allowed !important;
  }
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.