【发布时间】:2016-02-13 10:57:24
【问题描述】:
请原谅,这个问题很难解释,我很难找到解决方案。
我有一个我想分成两列的项目列表。我想保持列表项文本左对齐,以便您看到的星号本身在某种列中保持对齐。但是,我希望两列列表项始终在视口中居中。此外,列表项包含可变长度的文本,因此使用引导程序的文本中心会混淆它们并且不会保持 li 列的完整性。实际上,列表中的每个项目都是一个链接,旁边有一个 FontAwesome 图标。
就目前而言,我的代码与此类似。
<ul class="col-xs-12">
<li class="col-xs-6">*List Item</li>
<li class="col-xs-6">*Some List Item</li>
<li class="col-xs-6">*A List Item</li>
<li class="col-xs-6">*One List Item</li>
<li class="col-xs-6">*This List Item</li>
<li class="col-xs-6">*Im A List Item</li>
</ul>
这类似于它们现在的渲染方式:
|*列表项目 *列表项目 |
|*列表项 *列表项 |
|*列表项 *列表项 |
这就是我希望它们呈现的方式:
| *列表项目 *列表项目 |
| *列表项目 *列表项目 |
| *列表项 *列表项 |
我还应该提到,我希望它们保持流畅。我没有固定的宽度。
另外,我尝试过偏移列,但它似乎没有按我想要的方式工作。我也尝试过使用 CSS columns: 2 ,但我不知道如何让它们按我想要的方式工作。我认为我将不得不为此编写一些 js,但我想知道是否有人使用 Bootstrap 或 CSS 或两者的组合进行了修复。
如果我的问题有任何问题,请原谅。这是我在 Stack Overflow 上的第一篇文章。
更新:
到目前为止,最好看的解决方案,最接近我正在寻找的解决方案来自这个:
http://plnkr.co/edit/eo40fOMNVlRt9gBT4us4?p=preview
唯一的问题是,如果每个 li>a 有不同的文本值(它们确实有,但我对它们有 18 个字符的限制),出现在每个 li>a 左侧的 FontIcons(asterisks) 赢了'不水平对齐。但是,如果您看一下那个 plunker,这些列表列区域总是在它们的一半视口中完全居中,无论浏览器窗口大小如何。我很欣赏下面很多想法背后的想法,但是即使我限制了字符串值的长度,引导程序的列可能仍然存在问题,因为它太短了,因此导致文本字符串溢出到小字体的下一行视口宽度。此外,将它们锁定在列中会迫使每个列在某些宽度处不居中。
我想是时候开始为此编写脚本了。请,任何其他想法表示赞赏。
【问题讨论】:
-
如果我的问题有任何问题,请见谅。这是我在 StackOverflow 上的第一篇文章。 你做得对。继续努力吧。但是我们鼓励向我们展示一个演示/代码 sn-p 来显示示例。这个问题不需要太多,但需要注意即将到来的问题。
-
尝试将文本封装在 div 中并设置 margin-left?
-
非常感谢,先生。唯一的问题是列表项可以是可变长度的。我应该指定的。这就是让这件事变得困难的原因。我不能使用文本中心,因为它会产生类似:plnkr.co/edit/D1DpM8j7bKPwmLIVPbVH?p=preview 的问题是我希望我的链接旁边的 FontAwesome 图像本身保留在一个列中。
标签: javascript jquery html css twitter-bootstrap