我們試圖通過隱藏實際複選框input元素並使用input:checked+label
CSS選擇器更改標籤的樣式來創建一個帶有自定義複選框的頁面。這工作正常,但在IE7隱藏的複選框仍然佔用文檔流的空間,搞亂了佈局。IE7:position:絕對不會將元素從文檔流中移除
這裏的問題的一個非常簡化的演示:
<style type="text/css">
div.hello { position: absolute; left: 200px; }
</style>
<ul>
<li><div class="hello">Hello</div><div>First</div></li>
<li><div class="hello">Hello</div><div>Second</div></li>
<li><div class="hello">Hello</div><div>Third</div></li>
</ul>
看來,被取出的公文流轉與position:absolute
任何塊元素仍然佔用的垂直空間上的IE7。
這裏是什麼樣子了新版瀏覽器:
First Hello
Second Hello
Third Hello
在IE7它看起來像這樣:
Hello
First
Hello
Second
Hello
Third
爲了更接近我們的實際情況爲例,看this fiddle。我們錯過了什麼嗎?我們如何隱藏複選框元素,使其仍然可以工作,並且在佈局中不佔用空間?
對不起,IE7仍保留空間爲'input's當我試圖用小提琴:http://jsfiddle.net/naRUc/20/ – Kaivosukeltaja 2012-08-14 12:18:47
確保有在輸入之間沒有空格結束標籤和新的輸入標籤。請確保''不是''。 – 2012-08-14 12:39:55
@BurakTAMTURK:刪除所有空白實際上解決了這個問題。謝謝!你可以添加這個答案,以便我可以接受它嗎? – Kaivosukeltaja 2012-08-14 12:53:32