mirror of
https://github.com/StarCitizenTools/mediawiki-skins-Citizen.git
synced 2024-11-25 14:57:31 +00:00
159 lines
3.1 KiB
Plaintext
159 lines
3.1 KiB
Plaintext
.citizen-header {
|
|
--header-icon-size: ~'calc( var( --header-button-size ) / 2 )';
|
|
--header-button-size: ~'calc( var( --header-size ) - var( --space-xs ) * 2 )';
|
|
--header-direction: row;
|
|
position: fixed;
|
|
z-index: @z-index-site-header;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
display: flex;
|
|
flex-direction: var( --header-direction );
|
|
padding: var( --space-xs );
|
|
border-top: 1px solid var( --border-color-base );
|
|
background-color: var( --color-surface-0 );
|
|
gap: var( --space-xxs );
|
|
|
|
&__item {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
&__button {
|
|
display: grid;
|
|
width: var( --header-button-size );
|
|
height: var( --header-button-size );
|
|
border-radius: var( --border-radius--small );
|
|
place-items: center;
|
|
|
|
// Used in checkbox hack
|
|
&Checkbox {
|
|
position: absolute;
|
|
display: block;
|
|
width: inherit;
|
|
height: inherit;
|
|
}
|
|
|
|
// Pure CSS icons
|
|
&Icon {
|
|
overflow: hidden; // Sometimes CSS animation can clip
|
|
width: var( --header-icon-size );
|
|
height: var( --header-icon-size );
|
|
}
|
|
|
|
&Icon,
|
|
.citizen-ui-icon:before {
|
|
opacity: var( --opacity-icon-base );
|
|
transition: @transition-transform, @transition-opacity;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: var( --background-color-quiet--hover );
|
|
|
|
.citizen-ui-icon:before,
|
|
.citizen-header__buttonIcon {
|
|
opacity: var( --opacity-icon-base--hover );
|
|
}
|
|
}
|
|
|
|
&:active {
|
|
background-color: var( --background-color-quiet--active );
|
|
|
|
.citizen-ui-icon:before,
|
|
.citizen-header__buttonIcon {
|
|
opacity: var( --opacity-icon-base--active );
|
|
}
|
|
}
|
|
}
|
|
|
|
&__inner {
|
|
z-index: -1; // Inner element should be behind menu and search
|
|
display: flex;
|
|
min-width: 0;
|
|
flex-direction: var( --header-direction );
|
|
flex-grow: 1;
|
|
justify-content: space-between;
|
|
gap: var( --space-xxs );
|
|
|
|
.mw-checkbox-hack-checkbox:checked {
|
|
~ .citizen-header__button {
|
|
background-color: var( --background-color-primary--active );
|
|
}
|
|
}
|
|
}
|
|
|
|
&__start,
|
|
&__end {
|
|
display: flex;
|
|
flex-direction: var( --header-direction );
|
|
gap: var( --space-xxs );
|
|
}
|
|
|
|
&__start {
|
|
min-width: 0;
|
|
align-items: center;
|
|
}
|
|
|
|
// Reset
|
|
ul {
|
|
margin: 0;
|
|
list-style: none;
|
|
}
|
|
}
|
|
|
|
.skin-citizen-dark {
|
|
.citizen-header__button {
|
|
&Icon {
|
|
filter: invert( 1 );
|
|
}
|
|
}
|
|
}
|
|
|
|
// Notifications
|
|
#p-notifications {
|
|
ul {
|
|
display: flex;
|
|
flex-direction: var( --header-direction );
|
|
align-items: center;
|
|
gap: var( --space-xxs );
|
|
}
|
|
}
|
|
|
|
// Reset hover styles if it is a touch device
|
|
// This is dumb but hover:hover overrides active states
|
|
@media ( hover: none ) {
|
|
.citizen-header {
|
|
&__button {
|
|
&:hover {
|
|
background-color: none;
|
|
|
|
.citizen-header__buttonIcon {
|
|
opacity: var( --opacity-icon-base );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@media ( min-width: @width-breakpoint-desktop ) {
|
|
.citizen-header {
|
|
--header-direction: column;
|
|
top: 0;
|
|
right: unset;
|
|
left: 0;
|
|
border-top: 0;
|
|
border-right: 1px solid var( --border-color-base );
|
|
}
|
|
}
|
|
|
|
/* Hide header when scroll down on smaller screen sizes */
|
|
@media ( max-width: @width-breakpoint-tablet ) {
|
|
.citizen-header {
|
|
transition: @transition-transform;
|
|
}
|
|
|
|
.citizen-scroll--down .citizen-header {
|
|
transform: translateY( 100% );
|
|
}
|
|
}
|