// // Tables // -------------------------------------------------- // BASE TABLES // ----------------- table { max-width: 100%; background-color: $tableBackground; border-collapse: collapse; border-spacing: 0; } // 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 caption + thead tr:first-child th, caption + thead tr:first-child td, 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-collapse: separate; // Done so we can round those corners! *border-collapse: collapse; // IE7 can't round corners anyway border-left: 0; @include border-radius(4px); th, td { border-left: 1px solid $tableBorder; } // Prevent a double border caption + thead tr:first-child th, caption + tbody tr:first-child th, caption + tbody tr:first-child td, colgroup + thead tr:first-child th, colgroup + tbody tr:first-child th, colgroup + tbody tr:first-child td, 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:last-child tr:last-child td:first-child, tfoot:last-child tr:last-child td:first-child { -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; } thead:first-child tr:first-child th:last-child, tbody:last-child tr:last-child td:last-child, tfoot:last-child tr:last-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-topright: 4px; } // Special fixes to round the left border on the first td/th caption + thead tr:first-child th:first-child, caption + tbody tr:first-child td:first-child, colgroup + thead tr:first-child th:first-child, colgroup + tbody tr:first-child td:first-child { -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; } caption + thead tr:first-child th:last-child, caption + tbody tr:first-child td:last-child, colgroup + thead tr:first-child th:last-child, colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-right-topleft: 4px; } } // 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-hover { tbody { tr:hover td, tr:hover th { background-color: $tableBackgroundHover; } } } // TABLE CELL SIZING // ----------------- // Reset default grid behavior table [class*=span], .row-fluid table [class*=span] { display: table-cell; float: none; // undo default grid column styles margin-left: 0; // undo default grid column styles } // Change the column widths to account for td/th padding table { .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); } .span17 { @include tableColumns(17); } .span18 { @include tableColumns(18); } .span19 { @include tableColumns(19); } .span20 { @include tableColumns(20); } .span21 { @include tableColumns(21); } .span22 { @include tableColumns(22); } .span23 { @include tableColumns(23); } .span24 { @include tableColumns(24); } } // TABLE BACKGROUNDS // ----------------- // Exact selectors below required to override .table-striped .table { tbody tr.success td { background-color: $successBackground; } tbody tr.error td { background-color: $errorBackground; } tbody tr.info td { background-color: $infoBackground; } }