diff --git a/packages/govuk-frontend/src/govuk/components/details/_index.scss b/packages/govuk-frontend/src/govuk/components/details/_index.scss index 739c856dcb..9d2efcfd46 100644 --- a/packages/govuk-frontend/src/govuk/components/details/_index.scss +++ b/packages/govuk-frontend/src/govuk/components/details/_index.scss @@ -11,78 +11,87 @@ // Make the focus outline shrink-wrap the text content of the summary display: inline-block; - // Absolutely position the marker against this element - position: relative; - margin-bottom: govuk-spacing(1); - - // Allow for absolutely positioned marker and align with disclosed text - padding-left: govuk-spacing(4) + $govuk-border-width; - - // Style the summary to look like a link... - color: $govuk-link-colour; - cursor: pointer; - - &:hover { - color: $govuk-link-hover-colour; - } - - &:focus { - @include govuk-focused-text; - } } - // ...but only underline the text, not the arrow - .govuk-details__summary-text { - @include govuk-link-decoration; + .govuk-details__text { + padding-top: govuk-spacing(3); + padding-bottom: govuk-spacing(3); + padding-left: govuk-spacing(4); + border-left: $govuk-border-width solid $govuk-border-colour; } - .govuk-details__summary:hover .govuk-details__summary-text { - @include govuk-link-hover-decoration; + .govuk-details__text p { + margin-top: 0; + margin-bottom: govuk-spacing(4); } - // Remove the underline when focussed to avoid duplicate borders - .govuk-details__summary:focus .govuk-details__summary-text { - text-decoration: none; + .govuk-details__text > :last-child { + margin-bottom: 0; } - // Remove the default details marker so we can style our own consistently and - // ensure it displays in Firefox (see implementation.md for details) - .govuk-details__summary::-webkit-details-marker { - display: none; - } + // Fix for older browsers which: + // - support ES6 modules but not the
element (Edge 16 - 18) + // - do not support ES6 modules or the
element (eg, IE8+) + // -ms-ime-align is only supported by Edge 12 - 18 + // Older browsers ignore the entire feature query and use the styles above + @supports not (-ms-ime-align: auto) { + .govuk-details__summary { - // Append our own open / closed marker using a pseudo-element - .govuk-details__summary::before { - content: ""; - position: absolute; + // Absolutely position the marker against this element + position: relative; - top: -1px; - bottom: 0; - left: 0; + // Allow for absolutely positioned marker and align with disclosed text + padding-left: govuk-spacing(4) + $govuk-border-width; - margin: auto; + // Style the summary to look like a link... + color: $govuk-link-colour; + cursor: pointer; - @include govuk-shape-arrow($direction: right, $base: 14px); + &:hover { + color: $govuk-link-hover-colour; + } - .govuk-details[open] > & { - @include govuk-shape-arrow($direction: down, $base: 14px); + &:focus { + @include govuk-focused-text; + } + } + // ...but only underline the text, not the arrow + .govuk-details__summary-text { + @include govuk-link-decoration; } - } - .govuk-details__text { - padding-top: govuk-spacing(3); - padding-bottom: govuk-spacing(3); - padding-left: govuk-spacing(4); - border-left: $govuk-border-width solid $govuk-border-colour; - } + .govuk-details__summary:hover .govuk-details__summary-text { + @include govuk-link-hover-decoration; + } - .govuk-details__text p { - margin-top: 0; - margin-bottom: govuk-spacing(4); - } + // Remove the underline when focussed to avoid duplicate borders + .govuk-details__summary:focus .govuk-details__summary-text { + text-decoration: none; + } - .govuk-details__text > :last-child { - margin-bottom: 0; + // Remove the default details marker so we can style our own consistently and + // ensure it displays in Firefox (see implementation.md for details) + .govuk-details__summary::-webkit-details-marker { + display: none; + } + + // Append our own open / closed marker using a pseudo-element + .govuk-details__summary::before { + content: ""; + position: absolute; + + top: -1px; + bottom: 0; + left: 0; + + margin: auto; + + @include govuk-shape-arrow($direction: right, $base: 14px); + + .govuk-details[open] > & { + @include govuk-shape-arrow($direction: down, $base: 14px); + } + } } }