Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set the css for tablesorter and bootstrap?

Tablesorter could make the sorting correctly in bootstrap 2, but I couldn't find out how to set the color and caret of table header.

The most likely css I found here is:

table .header {
    cursor: pointer;
}

table .header:after {
  content: "";
  float: right;
  margin-top: 7px;
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: #000000 transparent;
  visibility: hidden;
}

table .headerSortUp, table .headerSortDown {
  background-color: #f7f7f9;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
}

table .header:hover:after {
  visibility: visible;
}

table .headerSortDown:after, table .headerSortDown:hover:after {
  visibility: visible;
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}

table .headerSortUp:after {
  border-bottom: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #000000;
  visibility: visible;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}

but with no luck.

Could anyone share the success story?

like image 659
yiming Avatar asked Jun 15 '12 19:06

yiming


2 Answers

Maybe it's supposed to be added on the the original style.css file (demo):

/* tables */
table.tablesorter {
    font-family:arial;
    background-color: #CDCDCD;
    margin:10px 0pt 15px;
    font-size: 8pt;
    width: 100%;
    text-align: left;
}
table.tablesorter thead tr th, table.tablesorter tfoot tr th {
    background-color: #e6EEEE;
    border: 1px solid #FFF;
    font-size: 8pt;
    padding: 4px;
}
table.tablesorter thead tr .header {
    background-image: url(bg.gif);
    background-repeat: no-repeat;
    background-position: center right;
    cursor: pointer;
}
table.tablesorter tbody td {
    color: #3D3D3D;
    padding: 4px;
    background-color: #FFF;
    vertical-align: top;
}
table.tablesorter tbody tr.odd td {
    background-color:#F0F0F6;
}
table.tablesorter thead tr .headerSortUp {
    background-image: url(asc.gif);
}
table.tablesorter thead tr .headerSortDown {
    background-image: url(desc.gif);
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
    background-color: #8dbdd8;
}
table .header {
    cursor: pointer;
}

/* bootstrap */
table.tablesorter .header:after {
    content: "";
    float: right;
    margin-top: 7px;
    border-width: 0 4px 4px;
    border-style: solid;
    border-color: #000000 transparent;
    visibility: hidden;
}
table.tablesorter .headerSortUp, table .headerSortDown {
    background-color: #f7f7f9;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
}
table.tablesorter .header:hover:after {
    visibility: visible;
}
table.tablesorter .headerSortDown:after, table .headerSortDown:hover:after {
    visibility: visible;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    opacity: 0.6;
}
table.tablesorter .headerSortUp:after {
    border-bottom: none;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #000000;
    visibility: visible;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    opacity: 0.6;
}

Also, if you want to add any additional HTML inside the header, there is an undocumented onRenderHeader option that you can use to add, for instance, a span inside each header (ref):

$(function(){
  $("table").tablesorter({
    onRenderHeader: function(){
      this.prepend('<span class="icon"></span>');
    }
  });
});
like image 96
Mottie Avatar answered Oct 18 '22 08:10

Mottie


I faced the same Problem and found a very simple solution:

table.tablesorter thead tr .header {
    background-image: url(../img/tablesorter-bg-grey.gif);
    background-repeat: no-repeat;
    background-position: center right;
    cursor: pointer;
    min-width: 30px;
}
table.tablesorter thead tr .headerSortUp {
    background-image: url(../img/tablesorter-asc-grey.gif);
}
table.tablesorter thead tr .headerSortDown {
    background-image: url(../img/tablesorter-desc-grey.gif);
}

You have to add to your sortable Tables the class "tablesorter" of course. I've altered the images, you should adjust the imagefilenames to the standard images included.

like image 44
Fannon Avatar answered Oct 18 '22 10:10

Fannon