回答
我發現這個:Multi-column Layout with CSS3。閱讀標題爲的CSS3多列瀏覽器支持。它規定如下:
如果您需要支持不具備多列支持的瀏覽器, 那麼你也應該有這些瀏覽器一個退而求其次的選擇。下面是如何 可以更換其它任何樣式表後與Modernizr腳本做...
將以下腳本標籤在你的腦袋:
<script src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.0.6/modernizr.min.js"></script>
下方添加另一個腳本上面這行代碼如下:
<script> Modernizr.load({ test: Modernizr.csscolumns, yep: 'columns.css', nope: 'no-columns.css' }); </script>
創建一個CSS樣式表tha t包含您的多列CSS並將其保存爲columns.css在同一目錄中。
- 創建一個包含回退CSS的CSS樣式表(例如帶有浮點的列),並將其保存爲no-columns.css在同一目錄中。 在IE和Chrome,Safari或Opera中測試您的頁面。
Multiple Columns該頁面提供了一個JavaScript回退,如果你有興趣去這樣。
下面是我的作品:而不是使用JS或IE瀏覽器的條件,你可以直接在你的樣式表中使用Modernizr的類。
如果你做一個我們的網頁上檢查元素,你會看到有在html標籤增加了許多CSS類:
如果用戶的瀏覽器不支持CSS欄,你會看到一個可用於浮動元素的「no-csscolumns」類。
注意:您不會在瀏覽器的視圖源代碼中看到Modernizr生成的'CSS'類。如上面的屏幕截圖或其他一些DOM查看器所示,使用Firefox的Firebug ... :)看看這裏:http://stackoverflow.com/a/7835579/114029 –
這裏是解決方案如何使多列菜單看起來與創建列計數屬性相同的菜單,並在所有瀏覽器。
這與浮動元素做了,但這裏的關鍵是要重新排序在JavaScript(或服務器端)的元素,使他們自然流動看起來上下,而不是左右
項目1項目4 Item7
項目2項目5 Item8
項目3項6
例子: http://jsfiddle.net/xrd5Y/16/
// number of columns
var columns = 4;
var $ul = $('ul.multicolumn'),
$elements = $ul.children('li'),
breakPoint = Math.ceil($elements.length/columns);
$ordered = $('<div></div>');
function appendToUL(i) {
if ($ul.children().eq(i).length > 0) {
$ordered.append($ul.children().eq(i).clone());
}
else $ordered.append($('<li></li>'));
}
function reorder($el) {
$el.each(function(){
$item = $(this);
if ($item.index() >= breakPoint) return false;
appendToUL($item.index());
for (var i = 1; i < columns; i++) {
appendToUL(breakPoint*i+$item.index());
}
});
$ul.html($ordered.children().css('width',100/columns+'%'));
}
reorder($elements);
下面是簡單的解決方案,我發現了IE瀏覽器和IE瀏覽器的邊緣只是一段<p> your text </p>
分隔每列,列2 <p> your text </p>
,它爲我工作。
#subfootera {
with:100%;
text-align:left;
padding-top: 20px;
padding-bottom: 20px;
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
font-weight: bold;
color: #000;
text-shadow:1px 1px 1px #999;
}
.subfooterb {
-webkit-column-count: 2; /* Chrome, Safari, Opera */
-moz-column-count: 2; /* Firefox */
column-count: 2;
-webkit-column-gap: 10px; /* Chrome, Safari, Opera */
-moz-column-gap: 10px; /* Firefox */
column-gap: 10px;
}
<div id="subfootera">
<div class="subfooterb">
<p>Your Text.</p>
<p>Your text or an img</p>
</div>
</div>
- 1. 陣列比較和替代
- 2. flexbox列和IE
- 3. 替代爲IE
- 4. IE FRAMEBORDER替代
- 5. 替代在IE
- 6. IE替代Array.prototype.find()
- 7. 全陣列替代
- 8. 散列表替代
- 9. 陣列的替代
- 10. SQL行代替列?
- 11. Oracle序列替代
- 12. IE 8陣列迭代
- 13. 差集,替代remove_copy
- 14. IE的列表方法的替代方案?
- 15. 搜索和陣列中的替代
- 16. 迭代和替換槽雙陣列
- 17. 替代表行和列顏色與jQuery
- 18. Pythonic替代嵌套字典和列表
- 19. 用非平均數列代替NA
- 20. sqlite替代巨大的數據列表?
- 21. javascript長參數列表;尋找替代
- 22. 紅寶石代替數組列表
- 23. 斐波納契數列總和誤差
- 24. 列表和數組大小差異
- 25. 差之間*列表和**列表
- 26. 差(空,陣列(X))和陣列(x)的
- 27. 在SQL Server中獲取單列每行的差異(LEAD函數的替代)
- 28. 誤差爲char代替字符數組
- 29. 替代多列用PHP
- 30. 替代列出火鳥
我不喜歡使用JavaScript來檢測Internet Explorer中,我使用條件註釋:<! - [如果LTE IE 9]>! '
這個答案與問題無關... – vsync
如果你更喜歡使用jquery.columnizer.js,這裏有一個很好的Modernizer腳本片段。 https://gist.github.com/jimmynotjim/3666470 – Micah