Подтвердить что ты не робот

Как выбрать переключатель в css?

Как выбрать переключатель в CSS? HTML, с которым я работаю, генерируется, поэтому я не могу добавить к нему класс или другие атрибуты.

Я нашел вход [type = "radio" ] в Интернете, но я не знаю, является ли это обычным CSS и поддерживается большинством браузеров.

Есть ли другие способы выбора переключателя?

Спасибо,

Бретт

4b9b3361

Ответ 1

input[type="radio"] является примером селектора атрибутов. Это часть спецификации CSS3 и совершенно законна. Единственный браузер, который их не поддерживает, - IE6. Если поддержка IE6 важна для проекта, то вы должны изучить добавление классов к соответствующим переключателям.

Здесь статья с примером того, как эффективно использовать селектор атрибутов. Ознакомьтесь с этой статьей для получения дополнительной информации о плюсах CSS3.

Ответ 2

Селектор атрибутов (input [type = "radio" ]) является правильным решением, которое широко поддерживается всем, кроме IE6:)

Если у вас нет возможности модифицировать HTML для поддержки поддержки имен классов (или для доступа к javascript для этого), то ваши варианты:

А). чтобы убедиться, что ваш сайт не зависит от этого, и позволить IE6 грамотно деградировать.

В). жить без него

Ответ 3

вы можете использовать jQuery, чтобы выбрать вход и добавить класс динамически.

Пример (источник: http://docs.jquery.com/Attributes/addClass#class):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){
    $("p:last").addClass("selected highlight");
  });
  </script>
  <style>
  p { margin: 8px; font-size:16px; }
  .selected { color:red; }
  .highlight { background:yellow; }
  </style>
</head>
<body>
  <p>Hello</p>
  <p>and</p>
  <p>Goodbye</p>
</body>
</html>

[изменить]

альтернативой jQuery является использование http://code.google.com/p/ie7-js/

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

http://ie7-js.googlecode.com/svn/test/attr-value.html

Ответ 4

Тот, о котором вы упомянули выше, является правильным способом настроить его с помощью CSS. Он назывался селектор атрибутов. Однако он не поддерживается IE6 и ниже. Их можно моделировать, добавив условное поведение script для IE6. (Просто выполните поиск в google, файл заканчивается обычно .htc).

Следует, наверное, отметить, что .htc файлы обычно приводят к ужасающей производительности и должны использоваться только экономно и тщательно тестироваться, чтобы обеспечить приемлемость производительности.

Ответ 5

Ваше решение является правильным и будет работать во всех современных браузерах, кроме IE6. Для IE6 вам придется либо найти способ их выбора, изменить HTML или использовать Javascript.

Ответ 6

Вы можете использовать jQuery, чтобы найти все переключатели на странице, а затем добавить к нему некоторые классы CSS.