我有一個奇怪的問題,其中一個窗體的頂部有大約1px的邊距,我找不到原因。我也無法在jsbin中重新創建這種情況,所以我不確定是什麼原因造成的。浮動形式有神祕的頂部偏移量
這裏是發生了什麼事的形象:
鉻litterally隻字未提利潤率,填充或邊框導致此問題。該表單位於列表項內,就像正確格式化的左側鏈接。經過進一步檢查,即實際上確實表示它的頂部有2px的「偏移量」,但再次沒有說明它爲什麼存在。
下面有一些HTML從問題(注意,有很多這方面的東西實際上是因爲以前的問題inline-block的一行):
<div id="headcontainer">
<div id="headcenter">
<header class="left">A header</header>
<nav>
<ul class="left">
Some other list stuff
</ul>
<ul class="right">
<li><a href="">Login</a></li>
<li>
<form id="loginform">
<input id="usernamein" type="text">
<input id="passwordin" type="password">
</form>
</li>
</ul>
</nav>
<div class="clear"></div>
</div>
</div>
而一些CSS(整個文件有一個HTML5的CSS復位):
label,input{font-family:"Arial Rounded MT Bold","Helvetica Rounded",Arial,sans-serif}
input{margin:0;padding:0;border:0;display:inline-block}
.left{float:left}
.right{float:right}
.clear{clear:both}
#headcontainer{position:fixed;z-index:100;height:30px;width:100%;top:0;background-color:#1c1c1c;border-bottom:3px solid #cc3f33}
#headcenter{max-width:1000px;margin:0 auto}
#headcenter header{padding:5px;margin:0 10 0 0px}
#headcenter nav{height:30px}
#headcenter ul{list-style:none;height:inherit}
#headcenter li{display:inline-block;height:inherit}
#headcenter li a{height:23px;padding:7px 4px 0;border-bottom:3px solid #cc3f33}
#loginform{display:inline-block;width:200px;height:30px}
#usernamein,#passwordin{width:50%;height:100%}
我實際上是能夠通過改變input{display:inline-block}
到input{display:block}
來解決這個問題,但是這會導致輸入無法對齊我多麼希望他們。我不明白爲什麼改變顯示甚至會導致這個問題。任何解釋/修復這將是有益的(不像top:-2px
)。
這將在給你的想法發生了什麼:http://css-tricks.com/fighting-the-space-between-inline-block-elements/ –
@gp。正如我在一個答案中所說的,我不認爲這是問題,因爲ul標籤之間的所有內容都在一行上。試試我擺脫了文檔中的所有選項卡,並沒有改變任何東西。 – lemondrop