You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

273 lines
5.4 KiB
Plaintext

@import 'variables-content.less';
/**
* Block media items
*/
figure[ typeof~='mw:File' ],
figure[ typeof~='mw:File/Frameless' ],
/* TODO: Remove "Image|Video|Audio" when version 2.4.0 of the content is no
* longer supported
*/
figure[ typeof~='mw:Image' ],
figure[ typeof~='mw:Video' ],
figure[ typeof~='mw:Audio' ],
figure[ typeof~='mw:Image/Frameless' ],
figure[ typeof~='mw:Video/Frameless' ],
figure[ typeof~='mw:Audio/Frameless' ] {
margin: 0; // Maybe belongs in element.css for figure
> a {
// The addition of the class is needed for higher specificity
// than Vector's print styles
.mw-body-content & {
border: 0;
}
}
&.mw-halign-right {
/* @noflip */
margin: @margin-floatright;
/* @noflip */
clear: right;
/* @noflip */
float: right;
}
&.mw-halign-left {
/* @noflip */
margin: @margin-floatleft;
/* @noflip */
clear: left;
/* @noflip */
float: left;
}
&.mw-halign-none {
clear: none;
float: none;
}
&.mw-halign-center {
/* Matches *.center * in element.css */
margin: 0 auto;
display: table;
border-collapse: collapse;
clear: none;
float: none;
}
/* Hide the caption for frameless and plain floated images */
> figcaption {
display: none;
}
}
figure[ typeof~='mw:File/Thumb' ],
figure[ typeof~='mw:File/Frame' ],
/* TODO: Remove "Image|Video|Audio" when version 2.4.0 of the content is no
* longer supported
*/
figure[ typeof~='mw:Image/Thumb' ],
figure[ typeof~='mw:Video/Thumb' ],
figure[ typeof~='mw:Audio/Thumb' ],
figure[ typeof~='mw:Image/Frame' ],
figure[ typeof~='mw:Video/Frame' ],
figure[ typeof~='mw:Audio/Frame' ] {
margin: 0; // Maybe belongs in element.css for figure
margin-bottom: @margin-bottom-thumb;
display: table;
text-align: center;
border-collapse: collapse;
> a {
// The addition of the class is needed for higher specificity
// than Vector's print styles
.mw-body-content & {
border: 0;
}
}
// Defaults for page content language
.mw-content-ltr & {
/* @noflip */
margin: @margin-tright;
/* @noflip */
clear: right;
/* @noflip */
float: right;
}
.mw-content-rtl & {
/* @noflip */
margin: @margin-tleft;
/* @noflip */
clear: left;
/* @noflip */
float: left;
}
// Override defaults when explicitly set
// Order of application is important, so don't combine with the defaults
&.mw-halign-right {
/* @noflip */
margin: @margin-tright;
/* @noflip */
clear: right;
/* @noflip */
float: right;
}
&.mw-halign-left {
/* @noflip */
margin: @margin-tleft;
/* @noflip */
clear: left;
/* @noflip */
float: left;
}
&.mw-halign-none {
/* Override the default margin from mw-content-xxx above */
margin: 0;
margin-bottom: @margin-bottom-thumb;
clear: none;
float: none;
}
&.mw-halign-center {
/* Override the default margin from mw-content-xxx above
* And, matches *.center * in element.css
*/
margin: 0 auto @margin-bottom-thumb auto;
clear: none;
float: none;
}
> a:first-child,
> span:first-child {
> *:first-child {
margin: 0.75em;
margin-bottom: 0.5em;
}
/**
* Broken media get a span instead.
*/
> span.mw-broken-media {
display: inline-block;
margin: 0.75em;
margin-bottom: 0.5em;
/* This is hardcoded in Linker::makeThumbLink2 for broken media */
width: 180px;
}
}
> figcaption {
display: table-caption;
caption-side: bottom;
line-height: @line-height-thumbcaption;
min-height: 1em;
/**
* The "break-word" value is deprecated, however, it's well supported
* at 94.73%
* https://caniuse.com/mdn-css_properties_word-break_break-word
*
* The spec suggests it has the same effect as,
*
* word-break: normal;
* overflow-wrap: anywhere;
*
* https://drafts.csswg.org/css-text-3/#word-break-property
*
* So, we should use that. However, support for "anywhere" is lagging
* at just 72.39%, with Safari being a notable miss.
* https://caniuse.com/mdn-css_properties_overflow-wrap_anywhere
*
* "Soft wrap opportunities introduced by the word break are considered
* when calculating min-content intrinsic sizes."
* From https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap
*/
word-break: break-word;
.mw-content-ltr & {
/* @noflip */
text-align: left;
}
.mw-content-rtl & {
/* @noflip */
text-align: right;
}
/* taken from .thumbcaption, plus .thumbinner */
padding: 0 0.75em 0.75em 0.75em;
}
}
/**
* Inline media items
*/
span:first-child,
a:first-child {
> *:first-child {
.mw-valign-middle > & {
vertical-align: middle;
}
.mw-valign-baseline > & {
vertical-align: baseline;
}
.mw-valign-sub > & {
vertical-align: sub;
}
.mw-valign-super > & {
vertical-align: super;
}
.mw-valign-top > & {
vertical-align: top;
}
.mw-valign-text-top > & {
vertical-align: text-top;
}
.mw-valign-bottom > & {
vertical-align: bottom;
}
.mw-valign-text-bottom > & {
vertical-align: text-bottom;
}
}
}
/* stylelint-disable selector-class-pattern */
/**
* Avoid the need to calculate paddings individually
* https://stackoverflow.com/a/7310398
*
* FIXME: This would be better in mediawiki.page.gallery.styles,
* but let's wait until wgParserEnableLegacyMediaDOM is removed
*/
.mw-gallery-traditional .gallerybox > .thumb {
&:before {
content: '';
vertical-align: middle;
display: inline-block;
height: 100%;
}
> * {
vertical-align: middle;
display: inline-block;
}
}