2014-12-05 40 views
0

爲什麼Firefox錯位:before元素?:之前元素不能正確顯示在Firefox中

<div id='remember_forgot' class='no_hl'> 
    <div> 
     <input id='remember_me' type='checkbox'> 
     <label for='remember_me'>Remember me</label> 
    </div> 
</div> 

* { 
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; 
    font-size: 14px; 
    line-height: 1.3; 
    font-weight: normal; 
} 
input[type='checkbox'] { 
    display: none; 
} 
#remember_forgot { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    margin: 2px 0; 
} 
#remember_forgot>div { 
    position: relative; 
    display: flex; 
    align-items: center; 
} 

#remember_me+label:before { 
    position: relative; 
    top: 1px; 
    content: ""; 
    display: block; 
    float: left; 
    width: 13px; 
    height: 13px; 
    margin-right: 4px; 

    font-size: 15px; 
    line-height: 0.8; 
    border: 1px solid black; 
} 
#remember_me:checked+label:before { 
    content:'✓'; 
    color: black; 
} 
#remember_me+label { 
    display: inline-block; 
    margin-left: 0px; 
    color: black; 
    font-size: 13px; 
} 
#remember_me+label:hover { 
    color: #e1b941; 
} 
#remember_me, 
#remember_me+label, 
#forgot { 
    cursor: pointer; 
} 
#remember_me+label { 
    transition: 0.2s all; 
} 

所有相關的代碼是在這裏的小提琴:http://jsfiddle.net/kjf8h5m6/7/

當我在Chrome中打開它的複選框:前元素正確居中: enter image description here

但是,當它被認爲Firefox的複選框看起來像它不居中: enter image description here

這是非常討厭..請幫助!

+0

如果你發現「非常惱人的」你永遠不會讓它作爲一個Web開發的人!所有在遊戲中。 – Madbreaks 2014-12-05 23:25:47

+0

設置高度和線高度,我通常能夠以這種方式清除這些問題。但就像我上面的夥計說的。所有在遊戲中。 – 2014-12-05 23:28:30

+0

是的高度和線的高度設置,你可以看到在代碼 – Derek 2014-12-06 00:02:16

回答

0

enter image description here

(左是鉻,右邊是火狐)

卸下通配符行高:*{line-height:1.3;},並加入1.5的行高到標籤元件解決了這個在兩個Firefox和鉻。

工作FIX:http://jsfiddle.net/kjf8h5m6/9/

+0

嘿人感謝嘗試,但修復似乎並沒有在Firefox中工作,但它實際上似乎更糟。你認爲在Linux上運行有什麼關係嗎? – Derek 2014-12-07 22:49:52

相關問題