【问题标题】:Changing pagination colour Bootstrap更改分页颜色 Bootstrap
【发布时间】:2015-11-28 01:42:34
【问题描述】:

这是我的分页控件:

我正在尝试将分页的标签设置为紫色,到目前为止我无法覆盖它。这是我的 CSS:

/* pagination */

.pagination {
    height: 36px;
    margin: 18px 0;
    color: #6c58bF;
}

.pagination ul {
    display: inline-block;
    *display: inline;
    /* IE7 inline-block hack */
    *zoom: 1;
    margin-left: 0;
    color: #ffffff;
    margin-bottom: 0;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pagination li {
    display: inline;
    color: #6c58bF;
}

.pagination a {
    float: left;
    padding: 0 14px;
    line-height: 34px;
    color: #6c58bF;
    text-decoration: none;
    border: 1px solid #ddd;
    border-left-width: 0;
}

.pagination a:hover,
.pagination .active a {
    background-color: #6c58bF;
    color: #ffffff;
}

.pagination a:focus {
    background-color: #6c58bF;
    color: #ffffff;
}


.pagination .active a {
    color: #ffffff;
    cursor: default;
}

.pagination .disabled span,
.pagination .disabled a,
.pagination .disabled a:hover {
    color: #999999;
    background-color: transparent;
    cursor: default;
}

.pagination li:first-child a {
    border-left-width: 1px;
    -webkit-border-radius: 3px 0 0 3px;
    -moz-border-radius: 3px 0 0 3px;
    border-radius: 3px 0 0 3px;
}

.pagination li:last-child a {
    -webkit-border-radius: 0 3px 3px 0;
    -moz-border-radius: 0 3px 3px 0;
    border-radius: 0 3px 3px 0;
}

.pagination-centered {
    text-align: center;
}

.pagination-right {
    text-align: right;
}

.pager {
    margin-left: 0;
    margin-bottom: 18px;
    list-style: none;
    text-align: center;
    color: #6c58bF;
    *zoom: 1;
}

.pager:before,
.pager:after {
    display: table;
    content: "";
}

.pager:after {
    clear: both;
}

.pager li {
    display: inline;
    color: #6c58bF;
}

.pager a {
    display: inline-block;
    padding: 5px 14px;
    color: #6c58bF;
    background-color: #fff;
    border: 1px solid #ddd;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.pager a:hover {
    text-decoration: none;
    background-color: #f5f5f5;
}

.pager .next a {
    float: right;
}

.pager .previous a {
    float: left;
}

.pager .disabled a,
.pager .disabled a:hover {
    color: #999999;
}


/* end */

所有标签(活动)仍然是蓝色的。我怎样才能覆盖它?谢谢。

【问题讨论】:

    标签: css twitter-bootstrap pagination


    【解决方案1】:
    .pagination > li > a
    {
        background-color: white;
        color: #5A4181;
    }
    
    .pagination > li > a:focus,
    .pagination > li > a:hover,
    .pagination > li > span:focus,
    .pagination > li > span:hover
    {
        color: #5a5a5a;
        background-color: #eee;
        border-color: #ddd;
    }
    
    .pagination > .active > a
    {
        color: white;
        background-color: #5A4181 !Important;
        border: solid 1px #5A4181 !Important;
    }
    
    .pagination > .active > a:hover
    {
        background-color: #5A4181 !Important;
        border: solid 1px #5A4181;
    }
    

    【讨论】:

    • 传奇!!非常感谢
    【解决方案2】:

    .example .pagination>li>a,
    .example .pagination>li>span {
      border: 1px solid purple;
    }
    .pagination>li.active>a {
      background: purple;
      color: #fff;
    }
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
    <div class="container">
      <div class="example">
        <nav>
          <ul class="pagination">
            <li class="disabled">
              <a href="#" aria-label="Previous">
                <span aria-hidden="true">«</span>
              </a>
            </li>
            <li class="active"><a href="#">1</a>
            </li>
            <li><a href="#">2</a>
            </li>
            <li><a href="#">3</a>
            </li>
            <li><a href="#">4</a>
            </li>
            <li><a href="#">5</a>
            </li>
            <li>
              <a href="#" aria-label="Next">
                <span aria-hidden="true">»</span>
              </a>
            </li>
          </ul>
        </nav>
      </div>
    </div>

    由于特异性问题,它可能无法正常工作,请尝试添加一些父类,或使用该分页 UL 的 ID 设置样式,就像我给了父类 &lt;div class="example"&gt;

    Read more about Specificity here

    【讨论】:

    • 如果它们的选择器具有相同的特异性,那么将规则放置在文档中比原始规则的后面也会起作用。
    • 1,2,3,4,5标签仍然是蓝色而不是紫色
    • @user3754111 我只是举了一个例子,你必须为整个分页元素设置类似的样式
    • @user3754111,检查this,您可以更改颜色并制作圆角。希望对某人有所帮助。
    【解决方案3】:

    这是 Bootstrap 3.3.5 中控制分页元素背景颜色的选择器和样式规则:

    .pagination > li > a:focus,
    .pagination > li > a:hover,
    .pagination > li > span:focus,
    .pagination > li > span:hover {
        z-index: 3;
        color: #23527c;
        background-color: #eee;
        border-color: #ddd;
    }
    

    您的选择器不够具体。它们的特异性值为0 0 2 1,引导选择器为0 0 2 2

    您的特异性值:

    .pagination a:hover = `0 0 2 1`
    .pagination .active a = `0 0 2 1`
    .pagination a:focus = `0 0 2 1`
    

    0 0 1 0 用于类.pagination0 0 1 0 用于伪类:hover0 0 0 1 用于元素a

    引导特异性值:

    .pagination > li > a:focus = `0 0 2 2`
    

    0 0 1 0 用于类.pagination0 0 1 0 用于伪类:focus0 0 0 1 用于每个 元素,ali

    您可以这样做:

    1. 更改源的值,将#eee更改为紫色。
    2. 覆盖选择器。确保它具有与原始选择器相同或更高的特异性。 注意:如果使用与原始选择器相同的特异性,请确保它位于文档中的原始选择器之后

    选项#1

    .pagination > li > a:focus,
    .pagination > li > a:hover,
    .pagination > li > span:focus,
    .pagination > li > span:hover {
        z-index: 3;
        color: #23527c;
        background-color: purple;
        border-color: #ddd;
    }
    

    选项 #2

    .pagination > li > a:focus,
    .pagination > li > a:hover,
    .pagination > li > span:focus,
    .pagination > li > span:hover {
        z-index: 3;
        color: #23527c;
        background-color: purple;
        border-color: #ddd;
    }
    
    /* ...a bunch of other CSS... */
    
    /* Now do one of the following options */
    
    /* SAME SPECIFICITY OPTION - 0 0 2 2, needs to come AFTER original rule */
    .pagination > li > a:focus,
    .pagination > li > a:hover,
    .pagination > li > span:focus,
    .pagination > li > span:hover {
        background-color: purple;
    }
    /* GREATER SPECIFICITY - SMALL increase, 0 0 2 3 */
    ul.pagination > li > a:focus,
    ul.pagination > li > a:hover,
    ul.pagination > li > span:focus,
    ul.pagination > li > span:hover {
        background-color: purple;
    }
    /* GREATER SPECIFICITY - LARGE increase, 0 1 1 1 */    
    #my-paginator a:focus,
    #my-paginator a:hover,
    #my-paginator span:focus,
    #my-paginator span:hover {
        background-color: purple;
    }
    

    理想情况下,如果可以的话,您希望少量增加特异性,并且避免使用 ID 选项。看看这个方便的Specificity Calculator

    【讨论】:

    • 在某些情况下,焦点上的活动颜色可能不是一个好主意。少了两条规则。
    • @RomanSusi 我的答案中的所有解决方案都建立在 Bootstrap 的样式定义之上,以增加特异性,以便样式属性生效。
    【解决方案4】:

    一旦你获得了所有正确的课程,这并不难。只要您的 CSS 位于引导 CSS 之后,它就可以解决所有问题。

    我正在使用引导程序 3.3.5。

    我的默认设置如下所示:

    我应用以下 CSS 为包括活动页面在内的所有元素着色。根据需要复制和更改颜色:

    .pagination > li > a
    {
        background-color: white;
        color: purple;
    }
    
    .pagination > li > a:focus,
    .pagination > li > a:hover,
    .pagination > li > span:focus,
    .pagination > li > span:hover
    {
        color: purple;
        background-color: #eee;
        border-color: #ddd;
    }
    
    .pagination > .active > a
    {
        color: white;
        background-color: purple;
        border: solid 1px purple;
    }
    
    .pagination > .active > a:hover
    {
        background-color: purple;
        border: solid 1px purple;
    }
    

    这是结果。

    【讨论】:

      【解决方案5】:

      对于 Bootstrap 4 4.5:

      (在这个例子中,在深色主题的 CSS 中,当然你可以改变颜色)

         .page-link {
          position: relative;
          display: block;
          padding: .5rem .75rem;
          margin-left: -1px;
          line-height: 1.25;
          color: #d9d9d9 !important;
          background-color: #4f4f4f !important;
          border: 1px solid #262626 !important;
      }
      .page-link:hover {
              z-index: 2;
              color: #fff !important;
              text-decoration: none;
              background-color: #a4a4a4 !important;
              border-color: #dee2e6;
      }
      .page-item.active .page-link {
          z-index: 3;
          color: #fff;
          background-color: #808080 !important;
          border-color: #353535;
      }
       
      

      【讨论】:

        【解决方案6】:

        只需用你的颜色改变这个 SASS 变量:

        $pagination-color: $link-color !default;
        $pagination-bg: $white !default;
        $pagination-border-color: $gray-300 !default;
        
        $pagination-hover-color: $link-hover-color !default;
        $pagination-hover-bg: $gray-200 !default;
        $pagination-hover-border-color: $gray-300 !default;
        
        $pagination-active-color: $component-active-color !default;
        $pagination-active-bg: $component-active-bg !default;
        $pagination-active-border-color: $pagination-active-bg !default;
        
        $pagination-disabled-color: $gray-600 !default;
        $pagination-disabled-bg: $white !default;
        $pagination-disabled-border-color: $gray-300 !default;
        

        【讨论】:

          【解决方案7】:

          重要的css属性如下:

          .pagination > li > a, .pagination > li > span{
               color:black !Important;       
          }
          

          【讨论】:

            【解决方案8】:

            CSS : 添加以下活动样式更改以覆盖现有行为。

            .pager li .active{
                  background-color: rgb(181, 181, 214);
                  color: rgb(9, 9, 80);
            }
            

            HTML : 如何将其作为类应用

            <li><a href='#' class='active'>1</a></li>
            

            【讨论】:

              猜你喜欢
              • 2017-01-22
              • 2020-05-30
              • 2018-01-21
              • 2013-10-21
              • 1970-01-01
              • 1970-01-01
              • 2021-03-21
              • 2019-06-11
              • 1970-01-01
              相关资源
              最近更新 更多