165 lines
3.4 KiB
CSS
165 lines
3.4 KiB
CSS
|
|
/**
|
|
* @file
|
|
* Base styles for dropbuttons.
|
|
*/
|
|
|
|
/**
|
|
* When a dropbutton has only one option, it is simply a button.
|
|
*/
|
|
.dropbutton-wrapper,
|
|
.dropbutton-wrapper div {
|
|
box-sizing: border-box;
|
|
}
|
|
.js .dropbutton-wrapper,
|
|
.js .dropbutton-widget {
|
|
display: block;
|
|
position: relative;
|
|
}
|
|
|
|
@media screen and (max-width:600px) {
|
|
.js .dropbutton-wrapper {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
/* Splitbuttons */
|
|
@media screen and (min-width:600px) {
|
|
.form-actions .dropbutton-wrapper {
|
|
float: left; /* LTR */
|
|
}
|
|
[dir="rtl"] .form-actions .dropbutton-wrapper {
|
|
float: right;
|
|
}
|
|
}
|
|
.js .form-actions .dropbutton-widget {
|
|
position: static;
|
|
}
|
|
.js td .dropbutton-widget {
|
|
position: absolute;
|
|
}
|
|
.js td .dropbutton-wrapper {
|
|
min-height: 2em;
|
|
}
|
|
.js td .dropbutton-multiple {
|
|
padding-right: 10em; /* LTR */
|
|
margin-right: 2em; /* LTR */
|
|
max-width: 100%;
|
|
}
|
|
[dir="rtl"].js td .dropbutton-multiple {
|
|
padding-right: 0;
|
|
margin-right: 0;
|
|
padding-left: 10em;
|
|
margin-left: 2em;
|
|
}
|
|
.js td .dropbutton-multiple .dropbutton-action a,
|
|
.js td .dropbutton-multiple .dropbutton-action input,
|
|
.js td .dropbutton-multiple .dropbutton-action button {
|
|
width: auto;
|
|
}
|
|
|
|
/* UL styles are over-scoped in core, so this selector needs weight parity. */
|
|
.js .dropbutton-widget .dropbutton {
|
|
list-style-image: none;
|
|
list-style-type: none;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
padding: 0;
|
|
}
|
|
.js .dropbutton li,
|
|
.js .dropbutton a {
|
|
display: block;
|
|
outline: none;
|
|
}
|
|
|
|
.js .dropbutton li:hover,
|
|
.js .dropbutton li:focus,
|
|
.js .dropbutton a:hover,
|
|
.js .dropbutton a:focus {
|
|
outline: initial;
|
|
}
|
|
|
|
/**
|
|
* The dropbutton styling.
|
|
*
|
|
* A dropbutton is a widget that displays a list of action links as a button
|
|
* with a primary action. Secondary actions are hidden behind a click on a
|
|
* twisty arrow.
|
|
*
|
|
* The arrow is created using border on a zero-width, zero-height span.
|
|
* The arrow inherits the link color, but can be overridden with border colors.
|
|
*/
|
|
.js .dropbutton-multiple .dropbutton-widget {
|
|
padding-right: 2em; /* LTR */
|
|
}
|
|
.js[dir="rtl"] .dropbutton-multiple .dropbutton-widget {
|
|
padding-left: 2em;
|
|
padding-right: 0;
|
|
}
|
|
.dropbutton-multiple.open,
|
|
.dropbutton-multiple.open .dropbutton-widget {
|
|
max-width: none;
|
|
}
|
|
.dropbutton-multiple.open {
|
|
z-index: 100;
|
|
}
|
|
.dropbutton-multiple .dropbutton .secondary-action {
|
|
display: none;
|
|
}
|
|
.dropbutton-multiple.open .dropbutton .secondary-action {
|
|
display: block;
|
|
}
|
|
.dropbutton-toggle {
|
|
bottom: 0;
|
|
display: block;
|
|
position: absolute;
|
|
right: 0; /* LTR */
|
|
text-indent: 110%;
|
|
top: 0;
|
|
white-space: nowrap;
|
|
width: 2em;
|
|
}
|
|
[dir="rtl"] .dropbutton-toggle {
|
|
left: 0;
|
|
right: auto;
|
|
}
|
|
.dropbutton-toggle button {
|
|
background: none;
|
|
border: 0;
|
|
cursor: pointer;
|
|
display: block;
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
width: 100%;
|
|
}
|
|
.dropbutton-toggle button:hover,
|
|
.dropbutton-toggle button:focus {
|
|
outline: initial;
|
|
}
|
|
.dropbutton-arrow {
|
|
border-bottom-color: transparent;
|
|
border-left-color: transparent;
|
|
border-right-color: transparent;
|
|
border-style: solid;
|
|
border-width: 0.3333em 0.3333em 0;
|
|
display: block;
|
|
height: 0;
|
|
line-height: 0;
|
|
position: absolute;
|
|
right: 40%; /* 0.6667em; */ /* LTR */
|
|
top: 50%;
|
|
margin-top: -0.1666em;
|
|
width: 0;
|
|
overflow: hidden;
|
|
}
|
|
[dir="rtl"] .dropbutton-arrow {
|
|
left: 0.6667em;
|
|
right: auto;
|
|
}
|
|
.dropbutton-multiple.open .dropbutton-arrow {
|
|
border-bottom: 0.3333em solid;
|
|
border-top-color: transparent;
|
|
top: 0.6667em;
|
|
}
|