// // Tables.less // Tables for, you guessed it, tabular data // ---------------------------------------- // BASE TABLES // ----------------- table { max-width: 100%; border-collapse: collapse; border-spacing: 0; background-color: $tableBackground; } // BASELINE STYLES // --------------- .table { width: 100%; margin-bottom: $baseLineHeight; // Cells th, td { padding: 8px; line-height: $baseLineHeight; text-align: left; vertical-align: top; border-top: 1px solid $tableBorder; } th { font-weight: bold; } // Bottom align for column headings thead th { vertical-align: bottom; } // Remove top border from thead by default colgroup + thead tr:first-child th, colgroup + thead tr:first-child td, thead:first-child tr:first-child th, thead:first-child tr:first-child td { border-top: 0; } // Account for multiple tbody instances tbody + tbody { border-top: 2px solid $tableBorder; } } // CONDENSED TABLE W/ HALF PADDING // ------------------------------- .table-condensed { th, td { padding: 4px 5px; } } // BORDERED VERSION // ---------------- .table-bordered { border: 1px solid $tableBorder; border-left: 0; border-collapse: separate; // Done so we can round those corners! *border-collapse: collapsed; // IE7 can't round corners anyway @include border-radius(4px); th, td { border-left: 1px solid $tableBorder; } // Prevent a double border thead:first-child tr:first-child th, tbody:first-child tr:first-child th, tbody:first-child tr:first-child td { border-top: 0; } // For first th or td in the first row in the first thead or tbody thead:first-child tr:first-child th:first-child, tbody:first-child tr:first-child td:first-child { @include border-radius(4px 0 0 0); } thead:first-child tr:first-child th:last-child, tbody:first-child tr:first-child td:last-child { @include border-radius(0 4px 0 0); } // For first th or td in the first row in the first thead or tbody thead:last-child tr:last-child th:first-child, tbody:last-child tr:last-child td:first-child { @include border-radius(0 0 0 4px); } thead:last-child tr:last-child th:last-child, tbody:last-child tr:last-child td:last-child { @include border-radius(0 0 4px 0); } } // ZEBRA-STRIPING // -------------- // Default zebra-stripe styles (alternating gray and transparent backgrounds) .table-striped { tbody { tr:nth-child(odd) td, tr:nth-child(odd) th { background-color: $tableBackgroundAccent; } } } // HOVER EFFECT // ------------ // Placed here since it has to come after the potential zebra striping .table { tbody tr:hover td, tbody tr:hover th { background-color: $tableBackgroundHover; } } // TABLE CELL SIZING // ----------------- // Change the columns @mixin table-columns($columnSpan: 1) { float: none; width: (($gridColumnWidth) * $columnSpan) + ($gridGutterWidth * ($columnSpan - 1)) - 16; margin-left: 0; } table { @for $i from 1 through 24 { .span#{$i} { @include table-columns($i); } } }