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.

Krishna Thota
sumber

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>

bir
sumber
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
}
Billy Moat
sumber
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>
Tamilselvan K
sumber
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;
}
Nishanthi Grashia
sumber
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');
Alvargon
sumber
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 .

c-chavez
sumber
4

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

.v-button{
    opacity:1;    
}
kushal Baldev
sumber
2
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
{
  //  apply css here what u like it will definitely work...
}
Chetan
sumber
2

pertimbangkan solusi berikut

.disable-button{ 
  pointer-events: none; 
  background-color: #edf1f2;
}
Sahil Ralkar
sumber
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
  }
}
Akostha
sumber
0

Perlu menerapkan css sebagai berikut:

button:disabled,button[disabled]{
    background-color: #cccccc;
    cursor:not-allowed !important;
  }
Nagnath Mungade
sumber