【问题标题】:Custom css with kaminari with bootstrap带有 kaminari 和 bootstrap 的自定义 css
【发布时间】:2012-10-30 12:39:08
【问题描述】:

我尝试将分页与 kaminari 一起使用。我的项目使用了bootsrap css,结果太丑了:)

html由nokogiri生成

<nav class="pagination">
    <span class="first">
  <a href="/admin/book_borrow/borrow?locale=en">« First</a>
</span>

    <span class="prev">
  <a rel="prev" href="/admin/book_borrow/borrow?locale=en">‹ Prev</a>
</span>

        <span class="page">
  <a rel="prev" href="/admin/book_borrow/borrow?locale=en">1</a>
</span>

        <span class="page current">
  2
</span>

        <span class="page">
  <a rel="next" href="/admin/book_borrow/borrow?locale=en&amp;page=3">3</a>
</span>

        <span class="page">
  <a href="/admin/book_borrow/borrow?locale=en&amp;page=4">4</a>
</span>

    <span class="next">
  <a rel="next" href="/admin/book_borrow/borrow?locale=en&amp;page=3">Next ›</a>
</span>

    <span class="last">
  <a href="/admin/book_borrow/borrow?locale=en&amp;page=4">Last »</a>
</span>

  </nav>

我想在引导页面中进行分页,我该怎么做? 请帮忙!

【问题讨论】:

    标签: ruby-on-rails ruby twitter-bootstrap nokogiri


    【解决方案1】:

    发布此问题后,我找到了解决方案: kaminari: A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Rails 3.

    只需转到控制台并输入:

    rails generate kaminari:views bootstrap4
    

    它会将一些 Haml 文件下载到您的应用程序中,并更改视图。它还支持引导程序 2 和 3,例如

    rails generate kaminari:views bootstrap3
    

    以下是 Kaminari 观点的一些主题:https://github.com/amatsuda/kaminari_themes

    【讨论】:

    • 您好,谢谢!希望我的回答能帮您节省一点时间:)
    • rails generate kaminari:views bootstrap4
    【解决方案2】:

    只需将以下 css 添加到您的 application.css

    .pagination a, .pagination span.current, .pagination span.gap {
        float: left;
        padding: 0 14px;
        line-height: 38px;
        text-decoration: none;
        background-color: white;
        border: 1px solid #DDD;
        border-left-width: 0;
    }
    
    .pagination {
        border-left: 1px solid #ddd;
        .first{
            padding : 0;
            float: none;
            border: none;
        }
        .prev {
            padding : 0;
            float: none;
            border: none;
        }
        .page{
            padding : 0;
            float: none;
            border: none;
        }
        .next{
            padding : 0;
            float: none;
            border: none;
        }
        .last{
            padding : 0;
            float: none;
            border: none;
        }
    }
    

    【讨论】:

    • 这是很好的建议。我还添加了一行 css: a:hover { background-color: lightgreen;这在分页链接上添加了一个悬停动作。这是在 Rails 5.1 和 bootstrap 3 上测试的。
    • 如何更改高亮页码的字体颜色/背景?
    【解决方案3】:
    rails generate kaminari:views bootstrap4
    

    可用主题: bootstrap2、bootstrap3、bootstrap4、bourbon、bulma、foundation、foundation5、github、google、materialize、purecss、semantic_ui

    【讨论】:

      【解决方案4】:

      在找到“Pagination with Kaminari”之前几乎放弃了。

      简而言之,在rails g kaminari:default 之后进入在 app/views/kaminari 下创建的视图并更改标签以适合您的样式。

      我进入_paginator.html.erb 并将&lt;nav&gt; 更改为&lt;div&gt; 并将所有&lt;span&gt; 标签替换为&lt;li&gt;

      为了获得适合我的应用程序的引导样式,我将_paginator.html.erb 中的&lt;div&gt; 标记更改为&lt;div class="pagination pull-right"&gt;,并将&lt;span class="page"&gt; 标记更改为简单的&lt;li&gt;

      有几个问题,也许其他人可以提供帮助:

      1. _page.html.erb 中的 erb 在活动时会更改当前页面的类。它弄乱了对齐方式,所以要解决这个问题,请将 &lt;%= link_to_unless page.current? ... %&gt; 更改为 &lt;%= link_to page ... %&gt;

      2. 插入“...”块的_gap.html.erb 视图也被弄乱了。将其替换为 &lt;li&gt;&lt;%= link_to '...' %&gt;&lt;/li&gt; 以使其很好地内联。

      我 8 周前刚开始编码,所以肯定有更好的方法来解决这个问题以及清理 1 和 2 的方法,但如果你只是想让事情看起来正确并按预期运行,那就试一试并进行微调之后。

      【讨论】:

      • 嗨,不错的尝试!但是有一个更简单的方法。您可以为 kaminari 使用引导主题,它是自动的
      • 嗨 Duykhoa - 感谢您的评论。希望回复对那些希望自定义主题的人仍然有帮助。
      猜你喜欢
      • 1970-01-01
      • 2015-11-10
      • 2021-06-13
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多