2017-02-16 55 views
2

如何使文字垂直對齊複選框旁邊的中心?

input[type="checkbox"] { 
 
    display: none; 
 
} 
 

 
span:before { 
 
    font-family: "FontAwesome"; 
 
    font-style: normal; 
 
    content: 'O'; 
 
    margin-right: 3px; 
 
    font-size: 30px; 
 
} 
 

 
input[type="checkbox"]:checked ~ span:before { 
 
    content: 'Z'; 
 
}
<label> 
 
<input type="checkbox"/> 
 
<span>Text</span> 
 
</label>
什麼辦法可以使中間文字CSS內容下?

+0

如果添加'頂:5px的; position:relative;'to'span:before'it should llok well – Banzay

回答

1

您可以添加以下到span:before元素:

span:before { 
    vertical-align: middle; 
    position: relative; 
} 
4

可以span元素上使用display: flexalign-items: center

span { 
 
    display: flex; 
 
    align-items: center; 
 
} 
 
input[type="checkbox"] { 
 
    display: none; 
 
} 
 
span:before { 
 
    font-family: "FontAwesome"; 
 
    font-style: normal; 
 
    content: 'O'; 
 
    margin-right: 3px; 
 
    font-size: 30px; 
 
} 
 
input[type="checkbox"]:checked ~ span:before { 
 
    content: 'Z'; 
 
}
<label> 
 
    <input type="checkbox" /> 
 
    <span>Text</span> 
 
</label>

+0

Ahh我試圖回答這個問題,但是在'

+0

只需在':before'前添加'vertical-align:middle'即可完成同樣的任務。 – Rob

0

設置跨度displayflex和調整的項目center會工作。

input[type="checkbox"] { 
 
    display: none; 
 
} 
 

 
label span { 
 
    display: flex; 
 
    align-items: center; 
 
} 
 

 
span:before { 
 
    font-family: "FontAwesome"; 
 
    font-style: normal; 
 
    content: 'O'; 
 
    margin-right: 3px; 
 
    font-size: 30px; 
 
} 
 

 
input[type="checkbox"]:checked ~ span:before { 
 
    content: 'Z'; 
 
}
<label> 
 
<input type="checkbox"/> 
 
<span>Text</span> 
 
</label>

0

只需添加垂直對齊:次跨越:前

這裏是JS小提琴鏈接 - Fiddle

span:before { 
font-family: "FontAwesome"; 
font-style: normal; 
content: 'O'; 
margin-right: 3px; 
font-size: 30px; 
vertical-align:sub; 
} 
2

只需添加

 

    vertical-align:middle; 

 

    span:before { 
     font-family: "FontAwesome"; 
     font-style: normal; 
     content: 'O'; 
     margin-right: 3px; 
     font-size: 30px; 
     vertical-align:middle; 
    } 

+0

這是最簡單也是最正確的答案,它可以在所有瀏覽器中工作,而不依賴於flex的可用性,因爲太多人立即跳到現在的一切。 – Rob