我正在构建以多列格式呈现给用户的菜单系统。CSS3中的 column-count 属性使我获得了90%的访问权限,但是在Chrome下对齐时遇到了困难。
菜单相对简单:
我遇到的对齐问题最明显的是每个列表项的顶部边框和一些背景色。在Firefox中,列表项始终在每一列中保持整齐对齐,而不会渗入上一列/下一列。在Chrome浏览器中,对齐方式很简单,随列表项数量和填充/边距属性的不同而不同。
我在这里发布了一个简单测试用例的代码:http :
//pastebin.com/Ede3JwdG
该问题应该立即显而易见:在Chrome浏览器中,第二列中的第一个列表项会渗回到第一列中。删除列表项(单击它们)时,可以看到对齐方式进一步细分。
我曾尝试对列表项的填充/边距进行调整,但无济于事:Chrome似乎在算法如何在多列布局中分配内容方面存在缺陷。
我没有完全放弃列数(主要是手动生成/ Columnizer
/等等)的主要原因是菜单系统还涉及跨多个子菜单的拖放功能,并且布局了菜单数据因为基于内聚的列表层次结构可以产生干净的代码。
有没有办法解决Chrome中的对齐问题,还是我现在应该只放弃 列数 ?
添加:
您需要将列中的每个项目都显示为“内联块”。这将解决您的问题,而无需使用jQuery。
另外,可以指定每个元素具有的元素width: 100%
,以使它们使用行的整个宽度。
这是一个工作示例:
$(document).ready(function() {
for( var i = 0; i < 24; i++ ) {
$("ul.newslist").append("<li><a href='#'>Item</a></li>");
}
$("ul.newslist > li").click(function() {
$(this).remove();
})
});
ul.newslist {
columns: 5;
background-color: #ccc;
padding: 16px 0;
list-style: none;
}
ul.newslist > li {
display: inline-block;
width: 100%;
border-top: 1px solid #000;
}
ul.newslist > li > a {
display: block;
padding: 4px;
background-color: #f6b;
text-decoration: none;
color: inherit;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="newslist"></ul>
主要内容:column-count,column-fill,column-gap,column-rule,column-span,column-width,columns当需要在页面中展示大量文本时,如果每段的文本都很长,阅读起来就会非常麻烦,有可能读错行或读串行。为了提高阅读的舒适性,CSS3 中引入了多列布局模块,用于以简单有效的方式创建多列布局。所谓多列布局指的就是您可以将文本内容分成多块,然后让这些块并列显示,类似于报纸、杂志那样的排版形式,如下图所示: 图:多列布局演示 CSS3 中提
本文向大家介绍Bootstrap CSS布局之列表,包括了Bootstrap CSS布局之列表的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Bootstrap CSS布局中的列表布局,供大家参考,具体内容如下 列表 普通列表ul li 有序列表ol li 去点列表.list-unstyled 内联列表.list-inline 定义列表dl dt dd 水平定义列表dl-horizo
本文向大家介绍如何使用CSS的多列布局?相关面试题,主要包含被问及如何使用CSS的多列布局?时的应答技巧和注意事项,需要的朋友参考一下 或者使用flex布局来实现多列布局
我有一个我正在开发的网站:http://designs.totaleeyou.com/rnresources/.在主菜单项上,我有一个li:hover:after效果(一个悬停在li项上方的小饰物)。然而,这种悬停效应只适用于属于导航丸类div的li,而不适用于任何导航丸li。此外,li悬停在页眉处应为蓝色,在页脚处应为白色,但悬停效果仅将白色应用于两者,但当li处于活动状态时,将应用正确的颜色。
问题内容: 我有以下HTML布局: 是否有机会仅在 不 使用CSS 更改HTML的情况下 在下面的示例网格上排列列? 问题答案: 这样的事情应该做到: 编辑 要使用大量列来执行此操作,您可以构建一个非常简单的网格系统。例如,这样的事情应该适用于五列布局: 或者,如果您很幸运能够仅支持现代浏览器: