的<input>
元件,是被替換的元素之一,和在CSS中,一個replaced element是一個元件,其表示是CSS的範圍之外。它已經從瀏覽器的用戶代理樣式一些特殊的風格,他們沒有得到默認情況下繼承,如font-family
,font-size
,line-height
等,這些規則能夠確定一個框的高度。
您可以強制他們只需設置<property>: inherit;
,使<input type="text">
可以繼承<div class="t">
這些風格與其父<div id="container">
等繼承,所以這將是能夠得到同樣的風格爲<div id="but">
,爲了使它們的高度相同。
您可以直接設置輸入框的具體樣式,但使用繼承可以重寫規則阻止。
#container {
font-size: 20px;
overflow: auto;
}
.t,
#but {
float: left;
}
.txt {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.txt,
#but {
border: 1px solid #999;
padding: 10px;
}
<div id="container">
<div class="t">
<input type="text" class="txt" name="">
</div>
<div id="but"><span>Search</span></div>
</div>
此外,你會在我認爲真正的情況下使用<button>
標籤,而不是<div>
按鈕。要使輸入欄和按鈕具有相同的高度,您還需要直接爲它們設置相同的padding
值。
#container {
font-size: 20px;
overflow: auto;
}
.t,
#but {
float: left;
}
.txt,
#but {
font-family: inherit;
font-size: inherit;
line-height: inherit;
border: 1px solid #999;
padding: 10px;
}
<div id="container">
<div class="t">
<input type="text" class="txt" name="">
</div>
<button id="but"><span>Search</span></button>
</div>
這是因爲'字體size'沒有得到補充的。嘗試給你使用的所有元素提供相同的字體大小。它會工作。 –
默認情況下,字體大小爲13.333像素。增加到14px,你會沒事的。 –