簡體   English   中英

內聯塊樣式的兩個div未對齊

[英]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-blockinline-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM