0

我正在使用 CSS 计数器和伪元素来自定义有序列表编号 - jsFiddle

我想要实现的是,<li>只要文本是单行,就在元素内垂直对齐文本,否则保持与顶部对齐。

这是我希望它的外观的预览 - http://cl.ly/image/2f1U1p0k2M14

任何解决方案(甚至涉及 JS/jQuery)都将不胜感激。

4

2 回答 2

2

您必须使用 Javascript (jQuery) 来检查每个 li元素的高度。

如果它的高度相等,font-size * line-hight则添加类“单行”`,如果它更大,则添加类“多行”。

在您的 CSS 中,您可以设置类及其各自的 vertical-aling 值。

或者为了使用更少的代码,您可以将其设为“默认”,并且仅在不同时添加一个类。

PS:感谢@Marc Audet 在这里的评论是一个补充。
如果您使用 amin-height那么您必须确保您的 font-size 和 line-height 值足够高,以便双行条目至少比该min-height值高 1px!

于 2013-09-15T18:57:55.463 回答
0

老实说,设计是相当不一致的。如果没有 javascript,就无法判断,即使这样也只能在加载时工作。如果用户通过浏览器增加字体大小,您将遇到另一堆问题,因为您无法检测到他们何时这样做。

于 2013-09-15T19:08:46.463 回答