CSS-селектор для вимкненого типу вводу = “submit”


76

Чи існує селектор CSS для відключених input type="submit"чи "button"?

Чи варто просто використовувати input[type="submit"][disabled]?

Це працює в IE6?


4
:disabledможе бути краще, в CSS3. Однак IE теж не підтримує, тому вам знадобиться клас резервного копіювання.
bobince

Дякую, хороший момент, але я планую поки триматися подалі від CSS3.
Francisc

13
Розробникам дійсно потрібно припинити спроби підтримати IE6. І власникам сайтів / менеджерам дійсно потрібно припинити просити розробників підтримати це. Давайте, люди - IE9 виходить зараз!
Spudley

1
Ну, враховуючи, що 24% користувачів мого клієнта походять з IE6, я поки що не можу це проігнорувати. IE9 чудовий, але він не працює в Windows XP, наприклад.
Francisc

2
24% - це вище середнього для IE6 в наші дні, але так, якщо у вас є такий статус, вам потрібно впоратися. Це не означає, що ви повинні зробити все, щоб у ньому виглядало ідеально, поки функціонал працює. Наскільки це варте, ми спостерігаємо близько 17%, і ми прийняли рішення активно відмовлятися від підтримки для цього в нашому майбутньому переоформленні сайту.
Spudley

Відповіді:


114

Це працює в IE6?

Ні, IE6 взагалі не підтримує селектори атрибутів , пор. Сумісність CSS та Internet Explorer .

Ви можете знайти спосіб вирішення: IE6 не підтримує селектори "атрибутів" CSS, які варто прочитати.


EDIT
Якщо ви ігноруєте IE6, ви можете зробити (CSS2.1):

input[type=submit][disabled=disabled],
button[disabled=disabled] {
    ...
}

CSS3 (IE9 +):

input[type=submit]:disabled,
button:disabled {
    ...
}

Ви можете замінити [disabled=disabled](значення атрибута) на [disabled](наявність атрибута).


Добре, дякую. Але якби я ігнорував IE6, як би це було здійснено? Чи буде стандартним введення [type = "button" [вимкнено]?
Francisc

Ще раз спасибі за перше посилання, сумісність CSS та Internet Explorer - ВІДМІННА СТАТТЯ, миттєва закладка.
Francisc

1
@SuperUberDuper Підхід, заснований на атрибутах, працюватиме в IE8 (що не є ні IE6, ні IE9 +). І IE7, і IE8 підтримують деякі селектори CSS2.1 та CSS3, значення атрибута / присутності є одним із них.
jensgram

2

Як сказав jensgram, IE6 не підтримує селектор атрибутів. Ви можете додати class = "disabled", щоб вибрати відключені входи, щоб це могло працювати в IE6.


0

Я використовував рішення @jensgram, щоб приховати div, який містить вимкнений вхід. Тож я приховую весь батьківський елемент введення.

Ось код:

div:has(>input[disabled=disabled]) {
    display: none;
}

Можливо, це могло б допомогти комусь із вас.

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