[英]Two divs with inline-block style not aligned
我有兩個div
標簽,只有一個有input
標簽; 為什么輸出是這樣的?
div.logo, div.form { display: inline-block; height: 200px; width: 200px; border: 1px dotted; }
<div class="logo"> <input type="text"> </div> <div class="form"> </div>
有誰能解釋一下? 這是小提琴: https : //jsfiddle.net/ag487L5m/
那是因為內聯元素的垂直對齊默認為基線。 將其更改為頂部:
div.logo, div.form {
display: inline-block;
height: 200px;
width: 200px;
border: 1px dotted;
vertical-align:top;
}
div.logo, div.form { display: inline-block; height: 200px; width: 200px; border: 1px dotted; vertical-align:top; }
<div class="logo"> <input type="text"> </div> <div class="form"> </div>
默認情況下, inline
inline-block
和inline-block
元素設置為vertical-align: baseline
。
由於div.logo
有一個文本輸入, div.form
現在是一個inline-block
元素,它在input
的基線上對齊。
將vertical-align: top
添加到CSS應修復它。 如:
div.logo, div.form {
display: inline-block;
height: 200px;
width: 200px;
border: 1px dotted;
vertical-align: top;
}
div.logo, div.form { display: inline-block; height: 200px; width: 200px; border: 1px dotted; vertical-align:top; }
<div class="logo"> <input type="text"> </div> <div class="form"> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.