這是一個奇怪的CSS問題,我希望有人可以擺脫一些光...設置爲「」時,CSS內容屬性強制清除?
我使用Twitter Bootstrap,我看到一些非常奇怪的浮動/清除行爲。我有一個正確的浮動div和主要內容中的橫向表單。第二個表單字段似乎在沒有充分理由的情況下在浮動div下面清除。瀏覽所有的HTML元素和CSS聲明,這是一個奇怪的屬性,導致這種情況發生。我已將其縮減爲單個CSS聲明:
.control-group::before, .form-horizontal .control-group::after {
display: table;
content: "";
line-height: 0;
}
具體而言,內容:「」;如果你禁用了這一個聲明,它就會浮出第一個字段,一切都很好。
我創建了一個JS提琴證明:http://jsfiddle.net/whiteatom/UJ89p/1/embedded/result/
的源代碼:http://jsfiddle.net/whiteatom/UJ89p/1/
這是設計? W3規格?這僅針對某些瀏覽器(在MacOS上的Chrome,Safari和FF中測試過)? Bootstrap團隊試圖用這個空字符串屬性來完成什麼?我可以覆蓋它,而無需編輯引導CSS文件?
乾杯,
我看不清清楚是如何設計的..空字符串不能強迫div放在浮動div下面嗎?沒有明確的,沒有寬度?如果我在div中放置一個空格,它不會低於浮動的div。那麼爲什麼空字符串會導致這種情況? – whiteatom
@whiteatom:空字符串仍然會生成一個框,所以如果該框應該提供清除,它將清除。 – BoltClock
沒有框需要清楚的聲明來清除?我可以把h1放在那裏,它不會清楚......這是非常令人沮喪的。我不能爲我的生活看到原始聲明如何產生這種效果。我想理解這裏的原因 - 因爲你所說的話似乎與我的CSS知識相矛盾。 – whiteatom