【问题标题】:js <p> height always a multiple of 20pxjs <p> 高度总是 20px 的倍数
【发布时间】:2018-07-27 05:55:29
【问题描述】:

我有一个布局问题。 我的全局行高是 20px (.A)。在某些情况下,我会为非常小的字体(.B)使用 10 像素的行高。问题是当我有两列,第一列有&lt;p class="B"&gt;&lt;/p&gt;&lt;p class="A"&gt;&lt;/p&gt;,第二列有&lt;p class="A"&gt;&lt;/p&gt;,有时两个&lt;p class="A"&gt;&lt;/p&gt; 没有对齐,这取决于&lt;p class="A"&gt;&lt;/p&gt; 的行数。

所以我正在寻找一个小的 js 脚本(jQuery 或 vanilla)来强制 &lt;p&gt; 的高度为 20px 的倍数。

即 偶数行(.A 匹配)

奇数行(.A 不匹配)

【问题讨论】:

  • a min-height: 20px for the paragraph .B 可以工作吗?你能发布一个实际的例子吗?
  • 你能发布一个相关标记和css的小例子吗? (请不要只是复制/粘贴大量不相关的代码)
  • @fcalderan 是的,但问题是如果我有 3 行,那么行高将为 30px,我希望这是 40px 以与另一列匹配
  • @Archer 我添加了一些图片给你看
  • 图片毫无意义。请发布相关标记和 css 的小示例。

标签: javascript jquery css height paragraph


【解决方案1】:

此代码将调整所有 &lt;p&gt; 标记的大小,使其高度在窗口调整大小事件中为 20 的倍数:

(function($) {
    $(function() {
        var pTags = $('p');

        $(window).on('resize', function() {
            pTags.each(function() {
                $(this).css({
                    'height': ''
                });

                var currentHeight = $(this).height();
                $(this).css({
                    'height': currentHeight + (20 - (currentHeight % 20))
                });
            });
        }).trigger('resize');
    });
})(jQuery);

【讨论】:

  • 非常好,正是需要。我的

    完美匹配

  • 你能解释一下(或链接我)“currentHeight % 20”到底是什么意思吗?我不明白'%'
  • % 是模数 - 它返回除以以下数字后的余数。例如35 % 20 回报 15.
  • 感谢您的解释,祝您有美好的一天=)
  • 没问题,祝你有美好的一天,祝你项目的其余部分好运
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多