Html列表的行为类似于具有动态列宽的表
我正在使用带自定义模板的引导typeahead(angular)。 下拉列表的生成方式是创建一个列表(ul/li)。在列表的每个li中有三个值,我希望它们显示为一个表,其中中间列的宽度设置为最长值的大小 因此,typeahead基本上会生成一个如下所示的列表:Html列表的行为类似于具有动态列宽的表,html,css,angularjs,twitter-bootstrap,Html,Css,Angularjs,Twitter Bootstrap,我正在使用带自定义模板的引导typeahead(angular)。 下拉列表的生成方式是创建一个列表(ul/li)。在列表的每个li中有三个值,我希望它们显示为一个表,其中中间列的宽度设置为最长值的大小 因此,typeahead基本上会生成一个如下所示的列表: <ul> <li><a><span>something</span><span>Some long company name LLC</span><
<ul>
<li><a><span>something</span><span>Some long company name LLC</span><span></span>abc</a></li>
<li><a><span>something</span><span>Some really nice account</span><span>abcde</span></a></li>
<li><a><span>something</span><span>Third Account</span><span>abc</span></a></li>
<li><a><span>something</span><span>Fourth Account</span><span>abc</span></a></li>
结果如下所示:
你可以看到有三列。我希望中间列的宽度是最长的值(在本例中是一些较长的company name LLC),以便最右列中的值都对齐。我该怎么做?我不想设置固定的列大小,因为这些值来自数据库,并且长度会有很大的变化
提前感谢您的帮助。根据数据内容确定宽度是一项不可能完成的任务,除非您想执行非常昂贵的操作,即ping数据、查找最长字符串并动态设置宽度。就我个人而言,我会设置一个静态宽度,并为任何溢出设置省略号。根据数据内容确定宽度是一项不可能的任务,除非您想执行非常昂贵的操作,即ping数据、查找最长字符串并动态设置宽度。就我个人而言,我会设置一个静态宽度,并为任何溢出设置椭圆。
ul .dropdown-menu {
display: table;
table-layout:fixed;
width: 100%;
}
ul li a {
display: table-row;
}
ul li a span{
display: table-cell;
width: auto;
padding: 0px 9px 0px 0px;
}