header-search-narrow.pcss.css
Same filename in other branches
Header Search Narrow Block.
File
-
core/
themes/ olivero/ css/ components/ header-search-narrow.pcss.css
View source
- /**
- * @file
- * Header Search Narrow Block.
- */
-
- @import "../base/media-queries.pcss.css";
-
- .block-search-narrow {
- margin-inline: calc(-1 * var(--sp));
- margin-block-end: var(--sp2);
- background: var(--color--black);
-
- & .search-block-form {
- display: flex;
- }
-
- & .form-item {
- flex-grow: 1;
- margin: 0;
- }
-
- & .form-actions {
- margin: 0;
- }
-
- & input[type="search"] {
- width: calc(100% + var(--sp2));
- height: var(--sp3);
- padding-block: 0;
- padding-inline-start: var(--sp);
- padding-inline-end: var(--sp);
- transition: background-size 0.4s;
- color: var(--color--white);
- border: solid 1px transparent;
- background-color: transparent;
- background-image: linear-gradient(var(--color--primary-50), var(--color--primary-50)); /* Two values are needed for IE11 support. */
- background-repeat: no-repeat;
- background-position: bottom left; /* LTR */
- background-size: 0% 5px;
- box-shadow: none;
- font-family: var(--font-serif);
- font-size: 16px;
- -webkit-appearance: none;
-
- &:focus {
- outline: solid 4px transparent;
- outline-offset: -4px;
- background-size: 100% 5px;
- }
-
- @media (--md) {
- height: var(--sp4);
- padding-inline-start: var(--sp2);
- padding-inline-end: var(--sp2);
- }
- }
-
- & .search-form__submit {
- position: relative;
- overflow: hidden;
- align-self: stretch;
- width: var(--sp3);
- height: auto;
- margin-block: 0;
- margin-inline-start: 0;
- margin-inline-end: 0;
- padding-block: 0;
- padding-inline-start: 0;
- padding-inline-end: 0;
- cursor: pointer;
- border-color: transparent;
- background-color: transparent;
-
- /*
- When in Windows high contrast mode, FF will not output either background
- images or SVGs that are nested directly within a element, so we add a .
- */
- & .icon--search {
- position: absolute;
- inset-block-start: 0;
- inset-inline-start: 0;
- display: block;
- width: 100%; /* Width of the SVG background image. */
- height: 100%;
- pointer-events: none;
- background-image: url("../../images/search--white.svg");
- background-repeat: no-repeat;
- background-position: center;
- background-size: auto;
-
- &::after {
- position: absolute;
- inset-block-end: 0;
- inset-inline-start: 0;
- width: 100%;
- height: 0;
- content: "";
- transition: transform 0.2s;
- transform: scaleX(0);
- transform-origin: left; /* LTR */
- border-block-start: solid 5px var(--color--primary-50);
- }
-
- @media (forced-colors: active) {
- background: buttontext;
- mask-image: url("../../images/search--white.svg");
- mask-repeat: no-repeat;
- mask-position: center;
- }
- }
-
- &:focus {
- outline: solid 4px transparent;
- outline-offset: -4px;
- box-shadow: none;
-
- & span::after {
- transform: scaleX(1);
- }
-
- @media screen and (-ms-high-contrast: active) {
- border-bottom-width: var(--sp0-5);
-
- & span::after {
- content: none;
- }
- }
- }
-
- @media (--md) {
- width: 80px;
- }
-
- @media screen and (-ms-high-contrast: active) {
- /* IE11's high contrast show will not show the background image, so we show the text. */
- & .visually-hidden {
- position: static;
- overflow: visible;
- clip: auto;
- width: auto;
- height: auto;
- text-align: center;
- }
-
- /* Edge's high contrast does show the background image, so we hide it. */
- & .icon--search {
- display: none;
- }
- }
- }
-
- /* 500px is the width of the primary nav at mobile. */
- @media (min-width: 500px) {
- margin-inline-start: 0;
- margin-inline-end: 0;
- }
- }
-
- body:not(.is-always-mobile-nav) .block-search-narrow {
- @media (--nav) {
- display: none;
- }
- }
-
- [dir="rtl"] .block-search-narrow {
- & input[type="search"] {
- background-position: bottom right;
- }
-
- & .search-form__submit .icon--search::after {
- transform-origin: right;
- }
- }
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.