2013-06-14 12:25:35 +01:00
2013-06-15 08:27:18 +01:00
//
// Colour customisation
//
// Border between the header (and footer) and the table body
$table-header-border : 1 px solid #111 ;
// Border of rows / cells
$table-body-border : 1 px solid #ddd ;
// Row background colour (hover, striping etc are all based on this colour and
// calculated automatically)
$table-row-background : #ffffff ;
// Text colour of the interaction control elements (info, filter, paging etc)
$table-control-color : #333 ;
// Highlight colour of the paging button for the current page
$table-paging-button-active : #000 ;
// Hover colour of paging buttons on mouse over
$table-paging-button-hover : #dcdcdc ;
//
// Functions / mixins
//
2013-06-14 12:25:35 +01:00
@function tint ( $color , $percent ) {
2013-06-15 08:27:18 +01:00
@return mix ( white , $color , $percent ) ;
2013-06-14 12:25:35 +01:00
}
@function shade ( $color , $percent ) {
2013-06-15 08:27:18 +01:00
@return mix ( black , $color , $percent ) ;
2013-06-14 12:25:35 +01:00
}
@mixin gradient ( $from , $to ) {
background-color : $from ;
background : -webkit-gradient ( linear , left top , left bottom , color-stop ( 0 % , $from ) , color-stop ( 100 % , $to )) ; /* Chrome,Safari4+ */
background : -webkit-linear-gradient ( top , $from 0 % , $to 100 % ) ; /* Chrome10+,Safari5.1+ */
background : -moz-linear-gradient ( top , $from 0 % , $to 100 % ) ; /* FF3.6+ */
background : -ms-linear-gradient ( top , $from 0 % , $to 100 % ) ; /* IE10+ */
background : -o-linear-gradient ( top , $from 0 % , $to 100 % ) ; /* Opera 11.10+ */
background : linear-gradient ( to bottom , $from 0 % , $to 100 % ) ; /* W3C */
}
2013-06-15 08:27:18 +01:00
/ *
* Table styles
* /
2013-06-14 12:25:35 +01:00
table . dataTable {
width : 100 % ;
margin : 0 auto ;
clear : both ;
border-collapse : separate ;
2013-06-15 08:27:18 +01:00
/ *
* Header and footer styles
* /
2013-06-14 12:25:35 +01:00
thead ,
tfoot {
th ,
td {
padding : 10 px 18 px ;
}
th {
font-weight : bold ;
}
}
thead th ,
thead td {
border-bottom : $table-header-border ;
2013-06-15 08:27:18 +01:00
& : active {
outline : none ;
}
2013-06-14 12:25:35 +01:00
}
tfoot th ,
tfoot td {
border-top : $table-header-border ;
}
2013-06-15 08:27:18 +01:00
// Sorting
thead {
. sorting_asc ,
. sorting_desc ,
. sorting {
cursor : pointer ;
*cursor : hand ;
}
. sorting {
background : url( '../images/sort_both.png' ) no-repeat center right ;
}
. sorting_asc {
background : url( '../images/sort_asc.png' ) no-repeat center right ;
}
. sorting_desc {
background : url( '../images/sort_desc.png' ) no-repeat center right ;
}
. sorting_asc_disabled {
background : url( '../images/sort_asc_disabled.png' ) no-repeat center right ;
}
. sorting_desc_disabled {
background : url( '../images/sort_desc_disabled.png' ) no-repeat center right ;
}
}
/ *
* Body styles
* /
2013-06-14 12:25:35 +01:00
tbody {
th ,
td {
padding : 8 px 10 px ;
}
}
th . center ,
td . center ,
td . dataTables_empty {
text-align : center ;
}
th . right ,
td . right {
text-align : right ;
}
// Stripe classes - add "row-border" class to the table to activate
2013-06-15 09:22:16 +01:00
& . row-border tbody ,
& . display tbody {
2013-06-14 12:25:35 +01:00
th , td {
border-top : $table-body-border ;
}
tr : first - child th ,
tr : first-child td {
border-top : none ;
}
}
// Stripe classes - add "cell-border" class to the table to activate
& . cell-border tbody {
th , td {
border-top : $table-body-border ;
border-right : $table-body-border ;
}
tr th : first-child ,
tr td : first-child {
border-left : $table-body-border ;
}
tr : first - child th ,
tr : first - child td ,
tr : last - child th ,
tr : last-child td {
border-top : none ;
}
}
// Stripe classes - add "stripe" class to the table to activate
2013-06-15 09:22:16 +01:00
& . stripe tbody ,
& . display tbody {
2013-06-14 12:25:35 +01:00
tr . odd {
background-color : shade ( $table-row-background , 2 .35 % ) ; // shade by f9
}
tr . even {
background-color : $table-row-background ;
}
}
// Hover classes - add "hover" class to the table to activate
2013-06-15 09:22:16 +01:00
& . hover tbody ,
& . display tbody {
2013-06-14 12:25:35 +01:00
tr : hover ,
tr . odd : hover ,
tr . even : hover {
background-color : shade ( $table-row-background , 3 .6 % ) ; // shade by f5
}
}
// Sort column highlighting - add "hover" class to the table to activate
2013-06-15 09:22:16 +01:00
& . sort-column ,
& . display {
2013-06-14 12:25:35 +01:00
tbody {
tr > . sorting_1 ,
tr > . sorting_2 ,
tr > . sorting_3 {
background-color : shade ( $table-row-background , 2 % ) ; // shade by fa
}
}
& . stripe tbody {
tr . odd > . sorting_1 {
background-color : shade ( $table-row-background , 5 .4 % ) ; // shade by f1
}
tr . odd > . sorting_2 {
background-color : shade ( $table-row-background , 4 .7 % ) ; // shade by f3;
}
tr . odd > . sorting_3 {
background-color : shade ( $table-row-background , 3 .9 % ) ; // shade by f5
}
tr . even > . sorting_1 {
background-color : shade ( $table-row-background , 2 % ) ; // shade by fa
}
tr . even > . sorting_2 {
background-color : shade ( $table-row-background , 1 .2 % ) ; // shade by fc
}
tr . even > . sorting_3 {
background-color : shade ( $table-row-background , 0 .4 % ) ; // shade by fe
}
}
& . hover tbody {
tr : hover > . sorting_1 ,
tr . odd : hover > . sorting_1 ,
tr . even : hover > . sorting_1 {
background-color : shade ( $table-row-background , 8 .2 % ) ; // shade by ea
}
tr : hover > . sorting_2 ,
tr . odd : hover > . sorting_2 ,
tr . even : hover > . sorting_2 {
background-color : shade ( $table-row-background , 7 .5 % ) ; // shade by ec
}
tr : hover > . sorting_3 ,
tr . odd : hover > . sorting_3 ,
tr . even : hover > . sorting_3 {
background-color : shade ( $table-row-background , 6 .3 % ) ; // shade by ef
}
}
}
}
/ *
* Control feature layout
* /
. dataTables_wrapper {
position : relative ;
clear : both ;
*zoom : 1 ;
2013-06-15 08:27:18 +01:00
// Page length options
2013-06-14 12:25:35 +01:00
. dataTables_length {
float : left ;
}
2013-06-15 08:27:18 +01:00
// Filtering input
2013-06-14 12:25:35 +01:00
. dataTables_filter {
float : right ;
text-align : right ;
}
2013-06-15 08:27:18 +01:00
// Table info
2013-06-14 12:25:35 +01:00
. dataTables_info {
clear : both ;
float : left ;
padding-top : 0 .55 em ;
}
2013-06-15 08:27:18 +01:00
// Paging
2013-06-14 12:25:35 +01:00
. dataTables_paginate {
float : right ;
text-align : right ;
. paginate_button {
box-sizing : border-box ;
display : inline-block ;
min-width : 1 .5 em ;
padding : 0 .5 em 1 em ;
margin-left : 2 px ;
text-align : center ;
text-decoration : none !important ;
cursor : pointer ;
*cursor : hand ;
color : #333 !important ;
border : 1 px solid transparent ;
& . current ,
& . current : hover {
color : white !important ;
2013-06-15 08:27:18 +01:00
border : 1 px solid $table-paging-button-active ;
@include gradient (
lighten ( $ table-paging-button-active , 28 % ) ,
$ table-paging-button-active
) ;
2013-06-14 12:25:35 +01:00
}
& . disabled ,
2013-06-15 08:27:18 +01:00
& . disabled : hover ,
& . disabled : active {
2013-06-14 12:25:35 +01:00
color : #666 !important ;
border : 1 px solid transparent ;
background : transparent ;
2013-06-15 08:27:18 +01:00
box-shadow : none ;
2013-06-14 12:25:35 +01:00
}
& : hover {
2013-06-15 08:27:18 +01:00
border : 1 px solid $table-paging-button-hover ;
@include gradient (
lighten ( $ table-paging-button-hover , 28 % ) ,
$ table-paging-button-hover
) ;
2013-06-14 12:25:35 +01:00
}
& : active {
outline : none ;
2013-06-15 08:27:18 +01:00
@include gradient (
lighten ( $ table-paging-button-hover , 10 % ) ,
darken ( $ table-paging-button-hover , 2 % )
) ;
box-shadow : inset 0 0 3 px #111 ;
2013-06-14 12:25:35 +01:00
}
}
}
2013-06-15 08:27:18 +01:00
// Processing
2013-06-14 12:25:35 +01:00
. dataTables_processing {
position : absolute ;
top : 50 % ;
left : 50 % ;
width : 100 % ;
height : 40 px ;
margin-left : - 50 % ;
margin-top : - 25 px ;
padding-top : 20 px ;
text-align : center ;
font-size : 1 .2 em ;
background-color : white ;
background : -webkit-gradient ( linear , left top , right top , color-stop ( 0 % , rgba ( $table-row-background , 0 )) , color-stop ( 25 % , rgba ( $table-row-background , 0 .9 )) , color-stop ( 75 % , rgba ( $table-row-background , 0 .9 )) , color-stop ( 100 % , rgba ( 255 , 255 , 255 , 0 ))) ; /* Chrome,Safari4+ */
background : -webkit-linear-gradient ( left , rgba ( $table-row-background , 0 ) 0 % , rgba ( $table-row-background , 0 .9 ) 25 % , rgba ( $table-row-background , 0 .9 ) 75 % , rgba ( $table-row-background , 0 ) 100 % ) ; /* Chrome10+,Safari5.1+ */
background : -moz-linear-gradient ( left , rgba ( $table-row-background , 0 ) 0 % , rgba ( $table-row-background , 0 .9 ) 25 % , rgba ( $table-row-background , 0 .9 ) 75 % , rgba ( $table-row-background , 0 ) 100 % ) ; /* FF3.6+ */
background : -ms-linear-gradient ( left , rgba ( $table-row-background , 0 ) 0 % , rgba ( $table-row-background , 0 .9 ) 25 % , rgba ( $table-row-background , 0 .9 ) 75 % , rgba ( $table-row-background , 0 ) 100 % ) ; /* IE10+ */
background : -o-linear-gradient ( left , rgba ( $table-row-background , 0 ) 0 % , rgba ( $table-row-background , 0 .9 ) 25 % , rgba ( $table-row-background , 0 .9 ) 75 % , rgba ( $table-row-background , 0 ) 100 % ) ; /* Opera 11.10+ */
background : linear-gradient ( to right , rgba ( $table-row-background , 0 ) 0 % , rgba ( $table-row-background , 0 .9 ) 25 % , rgba ( $table-row-background , 0 .9 ) 75 % , rgba ( $table-row-background , 0 ) 100 % ) ; /* W3C */
}
. dataTables_length ,
. dataTables_filter ,
. dataTables_info ,
. dataTables_processing ,
. dataTables_paginate {
color : $table-control-color ;
}
2013-06-15 08:27:18 +01:00
// Scrolling
. dataTables_scroll {
clear : both ;
}
2013-06-14 12:25:35 +01:00
2013-06-15 08:27:18 +01:00
. dataTables_scrollBody {
*margin-top : - 1 px ;
-webkit-overflow-scrolling : touch ;
}
2013-06-14 12:25:35 +01:00
}