2016-07-19 37 views
10

我在自定義複選框的Internet Explorer中顯示:checked樣式時遇到了一些問題。Internet Explorer的輸入:已選中+標籤:在未渲染樣式之前

他們在Chrome中工作得很好。

enter image description here

...但在IE

enter image description here

以下是有關造型

input[type="radio"], input[type="checkbox"] { 
    opacity: 1; 
    position: absolute; 
    top: -9999; 

    & + label { 
     vertical-align: middle; 
    } 
} 

input[type="radio"] + label:before, 
input[type="checkbox"] + label:before { 
    content: '\f3fd'; 
    font-family: 'Ionicons'; 
    width: 26px; 
    height: 20px; 
    border: 2px solid #45555F; 
    font-size: 24px; 
    color: transparent; 
    display: table-cell; 
    text-align: center; 
    transition: all 0.3s linear; 
    -webkit-transition: all 0.3s linear; 
    -moz-transition: all 0.3s linear; 
    -ms-transition: all 0.3s linear; 
    -o-transition: all 0.3s linear; 
    padding: 0 2px; 
} 

input[type="radio"]:checked + label:before, 
input[type="checkbox"]:checked + label:before { 
    content: '\f383'; 
    font-family: 'Ionicons'; 
    font-size: 24px; 
    width: 26px; 
    height: 20px; 
    text-align: center; 
    display: table-cell; 
    padding: 0 2px; 
    border: 2px solid #45555F; 
    color: #8ec549; 
} 

input[type="radio"] + label:before { 
    border-radius: 50% !important; 
} 

我確實也注意到,Internet Explorer的只是消除了對負載的樣式.. 。

enter image description here

感謝您的幫助!

編輯:Codepen演示(該演示不工作在IE要麼)

http://codepen.io/anon/pen/rLJqyK

+0

什麼是IE版本? –

+0

問題中的圖像是IE11,但問題也發生在IE10上! – connorb

+1

您最好打賭的是創建一個可運行的HTML代碼片段,我們可以在這裏檢查問題 –

回答

6

相對於在檢查我簡單地使用的:after僞元件爲活動狀態和輕拂修改:before僞元件在不透明之間隱藏並相應地顯示它們。

感謝任何幫助過的人。

0

問題你面對是一個已知的IE10 - IE11錯誤,在這兩個瀏覽器往往display: table-cell完全不顧僞元素的字體聲明。這意味着,性能fontfont-sizefont-familycolor等將全部被擊中。

爲了規避這個錯誤,它會在你的情況足以:

▶使用display: table-cell與實際的元素,而不是一個僞元素,或

▶變化display: table-celldisplay: inline-block或其他一些non-table-cell value for你的僞元素。

▶聲明其具有比none以使其變爲display: table-celldisplay: block其他的值的float屬性。


下面是一些面對display: table-cell還有一個問題,可能是有幫助的問題:

IE not coloring :before as table-cell, why?

Positioning of div inside display:table-cell in IE 10

Display table-cell on pseudo element in IE11

相關問題