2013-05-13 126 views
2

有沒有什麼辦法可以在IE中使用這個工作? 我想要的風格調查,它只是在是好的,但在檢查剛這麼想的工作我的網站的單選按鈕在IE中不起作用

CSS不會在IE6 工作懸停:

.A label { 
    display:inline-block; 
    background-color:#F36; 
    padding:4px 11px; 
    font-family:Arial; 
    font-size:16px; 
    width:775px; 
    text-align:center; 
    margin-left:auto; 
    margin-right:auto; 
} 

.A label:hover{ 
    background-color: #C36; 
} 

.A input[type="radio"]:checked + label { 
    background-color: #C36; 
} 

HTML:

<div class="A"> 
<input type="radio" name="price" value="1" id="1PR" checked="checked" /><label for="1PR">£0-2</label><br /> 
<input type="radio" name="price" value="2" id="2PR" /><label for="2PR">£3-£5</label><br /> 
<input type="radio" name="price" value="3" id="3PR" /><label for="3PR">£6-£8</label><br /> 
<input type="radio" name="price" value="4" id="4PR" /><label for="4PR">£9-£11</label><br /> 
<input type="radio" name="price" value="5" id="5PR" /><label for="5PR">£12-£14</label> 
</div> 
+3

支持,然後再是什麼「不工作」是什麼意思? – 2013-05-13 19:40:54

+0

另外:所有單選按鈕上的值都是相同的,這似乎是一個潛在的錯誤。 – 2013-05-13 19:50:07

+0

我的意思是,當我選擇'標籤'它不會變成粉色 – abaft 2013-05-13 19:58:48

回答

4

直到IE9才支持:checked僞類。

對於早期版本的IE,無法使用純CSS來完成。當單選按鈕改變時,您需要使用Javascript來添加一個類。下面是使用jQuery的例子:

$(document).ready(function() { 
    $('input[type="radio"]:checked').addClass("checked"); 
    $('input[type="radio"]').change(function() { 
     var $this = $(this); 
     $("input.checked").removeClass("checked"); 
     if ($this.prop("checked")) { 
      $this.addClass("checked"); 
     } 
    }); 
}); 

您可以在這裏的行動看到這樣的代碼:http://jsfiddle.net/4RnbZ/1/

+0

那正是我寫的 – 2013-05-13 19:48:19

+0

同上 - 遊戲遲到2秒:) – fnostro 2013-05-13 19:49:28

+0

Selectivizr沒有工作。它突出顯示了當頁面加載時的收音機框,但不是當我選擇另一個時 – abaft 2013-05-13 19:50:35