/* * Tables.scss * Tables for, you guessed it, tabular data * ---------------------------------------- */ // BASELINE STYLES // --------------- table { width: 100%; margin-bottom: $baseline; padding: 0; font-size: $basefont; border-collapse: collapse; th, td { padding: 10px 10px 9px; line-height: $baseline; text-align: left; } th { padding-top: 9px; font-weight: bold; vertical-align: middle; } td { vertical-align: top; border-top: 1px solid #ddd; } // When scoped to row, fix th in tbody tbody th { border-top: 1px solid #ddd; vertical-align: top; } } // CONDENSED VERSION // ----------------- .condensed-table { th, td { padding: 5px 5px 4px; } } // BORDERED VERSION // ---------------- .bordered-table { border: 1px solid #ddd; border-collapse: separate; // Done so we can round those corners! *border-collapse: collapse; /* IE7, collapse table to remove spacing */ @include border-radius(4px); th + th, td + td, th + td { border-left: 1px solid #ddd; } thead tr:first-child th:first-child, tbody tr:first-child td:first-child { @include border-radius(4px 0 0 0); } thead tr:first-child th:last-child, tbody tr:first-child td:last-child { @include border-radius(0 4px 0 0); } tbody tr:last-child td:first-child { @include border-radius(0 0 0 4px); } tbody tr:last-child td:last-child { @include border-radius(0 0 4px 0); } } // TABLE CELL SIZES // ---------------- // This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border @mixin tableColumns($columnSpan: 1) { width: (($gridColumnWidth - 20) * $columnSpan) + (($gridColumnWidth - 20) * ($columnSpan - 1)); } table { // Default columns .span1 { @include tableColumns(1); } .span2 { @include tableColumns(2); } .span3 { @include tableColumns(3); } .span4 { @include tableColumns(4); } .span5 { @include tableColumns(5); } .span6 { @include tableColumns(6); } .span7 { @include tableColumns(7); } .span8 { @include tableColumns(8); } .span9 { @include tableColumns(9); } .span10 { @include tableColumns(10); } .span11 { @include tableColumns(11); } .span12 { @include tableColumns(12); } .span13 { @include tableColumns(13); } .span14 { @include tableColumns(14); } .span15 { @include tableColumns(15); } .span16 { @include tableColumns(16); } } // ZEBRA-STRIPING // -------------- // Default zebra-stripe styles (alternating gray and transparent backgrounds) .zebra-striped { tbody { tr:nth-child(odd) td, tr:nth-child(odd) th { background-color: #f9f9f9; } tr:hover td, tr:hover th { background-color: #f5f5f5; } } } table { // Tablesorting styles w/ jQuery plugin .header { cursor: pointer; &:after { content: ""; float: right; margin-top: 7px; border-width: 0 4px 4px; border-style: solid; border-color: #000 transparent; visibility: hidden; } } // Style the sorted column headers (THs) .headerSortUp, .headerSortDown { background-color: rgba(141,192,219,.25); text-shadow: 0 1px 1px rgba(255,255,255,.75); } // Style the ascending (reverse alphabetical) column header .header:hover { &:after { visibility:visible; } } // Style the descending (alphabetical) column header .headerSortDown, .headerSortDown:hover { &:after { visibility:visible; @include opacity(60); } } // Style the ascending (reverse alphabetical) column header .headerSortUp { &:after { border-bottom: none; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #000; visibility:visible; @include box-shadow(none); //can't add boxshadow to downward facing arrow :( @include opacity(60); } } // Blue Table Headings .blue { color: $blue; border-bottom-color: $blue; } .headerSortUp.blue, .headerSortDown.blue { background-color: lighten($blue, 40%); } // Green Table Headings .green { color: $green; border-bottom-color: $green; } .headerSortUp.green, .headerSortDown.green { background-color: lighten($green, 40%); } // Red Table Headings .red { color: $red; border-bottom-color: $red; } .headerSortUp.red, .headerSortDown.red { background-color: lighten($red, 50%); } // Yellow Table Headings .yellow { color: $yellow; border-bottom-color: $yellow; } .headerSortUp.yellow, .headerSortDown.yellow { background-color: lighten($yellow, 40%); } // Orange Table Headings .orange { color: $orange; border-bottom-color: $orange; } .headerSortUp.orange, .headerSortDown.orange { background-color: lighten($orange, 40%); } // Purple Table Headings .purple { color: $purple; border-bottom-color: $purple; } .headerSortUp.purple, .headerSortDown.purple { background-color: lighten($purple, 40%); } }