| // | |
| // Tables | |
| // -------------------------------------------------- | |
| table { | |
| background-color: @table-bg; | |
| } | |
| caption { | |
| padding-top: @table-cell-padding; | |
| padding-bottom: @table-cell-padding; | |
| color: @text-muted; | |
| text-align: left; | |
| } | |
| th { | |
| text-align: left; | |
| } | |
| // Baseline styles | |
| .table { | |
| width: 100%; | |
| max-width: 100%; | |
| margin-bottom: @line-height-computed; | |
| // Cells | |
| > thead, | |
| > tbody, | |
| > tfoot { | |
| > tr { | |
| > th, | |
| > td { | |
| padding: @table-cell-padding; | |
| line-height: @line-height-base; | |
| vertical-align: top; | |
| border-top: 1px solid @table-border-color; | |
| } | |
| } | |
| } | |
| // Bottom align for column headings | |
| > thead > tr > th { | |
| vertical-align: bottom; | |
| border-bottom: 2px solid @table-border-color; | |
| } | |
| // Remove top border from thead by default | |
| > caption + thead, | |
| > colgroup + thead, | |
| > thead:first-child { | |
| > tr:first-child { | |
| > th, | |
| > td { | |
| border-top: 0; | |
| } | |
| } | |
| } | |
| // Account for multiple tbody instances | |
| > tbody + tbody { | |
| border-top: 2px solid @table-border-color; | |
| } | |
| // Nesting | |
| .table { | |
| background-color: @body-bg; | |
| } | |
| } | |
| // Condensed table w/ half padding | |
| .table-condensed { | |
| > thead, | |
| > tbody, | |
| > tfoot { | |
| > tr { | |
| > th, | |
| > td { | |
| padding: @table-condensed-cell-padding; | |
| } | |
| } | |
| } | |
| } | |
| // Bordered version | |
| // | |
| // Add borders all around the table and between all the columns. | |
| .table-bordered { | |
| border: 1px solid @table-border-color; | |
| > thead, | |
| > tbody, | |
| > tfoot { | |
| > tr { | |
| > th, | |
| > td { | |
| border: 1px solid @table-border-color; | |
| } | |
| } | |
| } | |
| > thead > tr { | |
| > th, | |
| > td { | |
| border-bottom-width: 2px; | |
| } | |
| } | |
| } | |
| // Zebra-striping | |
| // | |
| // Default zebra-stripe styles (alternating gray and transparent backgrounds) | |
| .table-striped { | |
| > tbody > tr:nth-of-type(odd) { | |
| background-color: @table-bg-accent; | |
| } | |
| } | |
| // Hover effect | |
| // | |
| // Placed here since it has to come after the potential zebra striping | |
| .table-hover { | |
| > tbody > tr:hover { | |
| background-color: @table-bg-hover; | |
| } | |
| } | |
| // Table cell sizing | |
| // | |
| // Reset default table behavior | |
| table col[class*="col-"] { | |
| position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) | |
| float: none; | |
| display: table-column; | |
| } | |
| table { | |
| td, | |
| th { | |
| &[class*="col-"] { | |
| position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) | |
| float: none; | |
| display: table-cell; | |
| } | |
| } | |
| } | |
| // Table backgrounds | |
| // | |
| // Exact selectors below required to override `.table-striped` and prevent | |
| // inheritance to nested tables. | |
| // Generate the contextual variants | |
| .table-row-variant(active; @table-bg-active); | |
| .table-row-variant(success; @state-success-bg); | |
| .table-row-variant(info; @state-info-bg); | |
| .table-row-variant(warning; @state-warning-bg); | |
| .table-row-variant(danger; @state-danger-bg); | |
| // Responsive tables | |
| // | |
| // Wrap your tables in `.table-responsive` and we'll make them mobile friendly | |
| // by enabling horizontal scrolling. Only applies <768px. Everything above that | |
| // will display normally. | |
| .table-responsive { | |
| overflow-x: auto; | |
| min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) | |
| @media screen and (max-width: @screen-xs-max) { | |
| width: 100%; | |
| margin-bottom: (@line-height-computed * 0.75); | |
| overflow-y: hidden; | |
| -ms-overflow-style: -ms-autohiding-scrollbar; | |
| border: 1px solid @table-border-color; | |
| // Tighten up spacing | |
| > .table { | |
| margin-bottom: 0; | |
| // Ensure the content doesn't wrap | |
| > thead, | |
| > tbody, | |
| > tfoot { | |
| > tr { | |
| > th, | |
| > td { | |
| white-space: nowrap; | |
| } | |
| } | |
| } | |
| } | |
| // Special overrides for the bordered tables | |
| > .table-bordered { | |
| border: 0; | |
| // Nuke the appropriate borders so that the parent can handle them | |
| > thead, | |
| > tbody, | |
| > tfoot { | |
| > tr { | |
| > th:first-child, | |
| > td:first-child { | |
| border-left: 0; | |
| } | |
| > th:last-child, | |
| > td:last-child { | |
| border-right: 0; | |
| } | |
| } | |
| } | |
| // Only nuke the last row's bottom-border in `tbody` and `tfoot` since | |
| // chances are there will be only one `tr` in a `thead` and that would | |
| // remove the border altogether. | |
| > tbody, | |
| > tfoot { | |
| > tr:last-child { | |
| > th, | |
| > td { | |
| border-bottom: 0; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } |