我正在使用 CSS 计数器和伪元素来自定义有序列表编号 - jsFiddle
我想要实现的是,<li>
只要文本是单行,就在元素内垂直对齐文本,否则保持与顶部对齐。
这是我希望它的外观的预览 - http://cl.ly/image/2f1U1p0k2M14
任何解决方案(甚至涉及 JS/jQuery)都将不胜感激。
我正在使用 CSS 计数器和伪元素来自定义有序列表编号 - jsFiddle
我想要实现的是,<li>
只要文本是单行,就在元素内垂直对齐文本,否则保持与顶部对齐。
这是我希望它的外观的预览 - http://cl.ly/image/2f1U1p0k2M14
任何解决方案(甚至涉及 JS/jQuery)都将不胜感激。
您必须使用 Javascript (jQuery) 来检查每个 li
元素的高度。
如果它的高度相等,font-size * line-hight
则添加类“单行”`,如果它更大,则添加类“多行”。
在您的 CSS 中,您可以设置类及其各自的 vertical-aling 值。
或者为了使用更少的代码,您可以将其设为“默认”,并且仅在不同时添加一个类。
PS:感谢@Marc Audet 在这里的评论是一个补充。
如果您使用 amin-height
那么您必须确保您的 font-size 和 line-height 值足够高,以便双行条目至少比该min-height
值高 1px!
老实说,设计是相当不一致的。如果没有 javascript,就无法判断,即使这样也只能在加载时工作。如果用户通过浏览器增加字体大小,您将遇到另一堆问题,因为您无法检测到他们何时这样做。