MediaWiki:Mobile.css: Difference between revisions
Content deleted Content added
Johnrdorazio (talk | contribs) No edit summary |
Johnrdorazio (talk | contribs) No edit summary |
||
Line 12: | Line 12: | ||
* Group common css rules together where possible. |
* Group common css rules together where possible. |
||
If you are looking for .mobile-float-reset (see [[:phab:T56176]]), use TemplateStyles instead. |
|||
Do not put specific styles for the following into this file: |
|||
.mobile-float-reset { |
|||
float: none !important; |
|||
== Template:Navbar (.navbar) == |
|||
width: 100% !important; |
|||
See [[Template:Navbar/styles.css]] ([[Template_talk:Navbar#Request%3A_Add_template_styles_to_existing_stylesheet]]) |
|||
} |
|||
== Template:Hlist (.hlist) == |
|||
See [[Template:Hlist/styles.css]] |
|||
*/ |
*/ |
||
/* Reset user agent styles. We don't reset small or blockquote here deliberately */ |
|||
/* Mobile template hacks (see phab T56176) |
|||
cite, |
|||
If you are looking for the following, please update your template to use TemplateStyles: |
|||
dfn { |
|||
.mobile-float-reset { |
|||
font-style: inherit; |
|||
float: none !important; |
|||
width: 100% !important; |
|||
} |
} |
||
q { |
|||
*/ |
|||
quotes: '"' '"' "'" "'"; |
|||
} |
|||
/* Hide the images */ |
/* Hide the images */ |
||
Line 51: | Line 48: | ||
} |
} |
||
/* For linked citation numbers and document IDs, where |
|||
the number need not be shown on a screen or a handheld, |
|||
but should be included in the printed version |
|||
TODO: Move to Citation template when templates have stylesheets |
|||
See https://www.mediawiki.org/wiki/Requests_for_comment/Allow_styling_in_templates |
|||
*/ |
|||
@media screen, handheld { |
|||
.citation *.printonly { |
|||
display: none; |
|||
} |
|||
} |
|||
/* |
/* |
||
Should be moved into Template:Cite_web |
Should be moved into Template:Cite_web |
||
Line 73: | Line 59: | ||
DO NOT style infobox's here. That should be taken care of in the associated templates via template styles. Styles here will lead to flash of unstyled content on mobile. |
DO NOT style infobox's here. That should be taken care of in the associated templates via template styles. Styles here will lead to flash of unstyled content on mobile. |
||
*/ |
*/ |
||
/* removed inline from module as we work toward Tstyles support |
|||
* Use three classes to match specificity of MobileFrontend/Minerva selectors */ |
|||
.content .mw-parser-output .infobox-header, |
|||
.content .mw-parser-output .infobox-subheader, |
|||
.content .mw-parser-output .infobox-above, |
|||
.content .mw-parser-output .infobox-title, |
|||
.content .mw-parser-output .infobox-image, |
|||
.content .mw-parser-output .infobox-full-data, |
|||
.content .mw-parser-output .infobox-below { |
|||
text-align: center; |
|||
} |
|||
/* Default styling for Navbar template |
|||
TODO: Move to Navbar template ASAP |
|||
*/ |
|||
.navbar { |
|||
display: inline; |
|||
font-size: 88%; |
|||
font-weight: normal; |
|||
} |
|||
.navbar ul { |
|||
display: inline; |
|||
white-space: nowrap; |
|||
} |
|||
.navbar li { |
|||
word-spacing: -0.125em; |
|||
} |
|||
.navbar.mini li span { |
|||
font-variant: small-caps; |
|||
} |
|||
/* Navbar styling when nested in infobox and navbox */ |
|||
.navbox .navbar, |
|||
.infobox .navbar { |
|||
font-size: 100%; |
|||
} |
|||
.navbox .navbar { |
|||
display: block; |
|||
} |
|||
.navbox-title .navbar { |
|||
/* @noflip */ |
|||
float: left; |
|||
/* @noflip */ |
|||
text-align: left; |
|||
/* @noflip */ |
|||
margin-right: 0.5em; |
|||
width: 6em; |
|||
} |
|||
/* Unbulleted lists e.g. Barack Obama page*/ |
/* Unbulleted lists e.g. Barack Obama page*/ |
||
.plainlist ul { |
.plainlist ul { |
||
Line 114: | Line 76: | ||
padding-left: 0; /* Reset Minerva defaults */ |
padding-left: 0; /* Reset Minerva defaults */ |
||
} |
} |
||
.visualhide { |
|||
position: absolute; |
|||
left: -10000px; |
|||
top: auto; |
|||
width: 1px; |
|||
height: 1px; |
|||
overflow: hidden; |
|||
} |
|||
/* Geographical coordinates hidden in mobile. Any styles relating to them should be put inside |
|||
.[[Template:Coord/link]] |
|||
*/ |
|||
/* Prevent line breaks in silly places: |
/* Prevent line breaks in silly places: |
||
1) Where desired |
1) Where desired |
||
2) Links when we don't want them to |
2) Links when we don't want them to |
||
3) Bold "links" to the page itself |
|||
4) Ref tags with group names <ref group="Note"> --> "[Note 1]" |
|||
Please document here what pages use this |
|||
Enabled |
|||
*/ |
*/ |
||
.mw-parser-output .nowrap, |
.mw-parser-output .nowrap, |
||
.nowraplinks a |
.nowraplinks a { |
||
.nowraplinks .selflink, |
|||
sup.reference a { |
|||
white-space: nowrap; |
white-space: nowrap; |
||
} |
} |
||
Line 151: | Line 94: | ||
} |
} |
||
/* Generic class |
/* Generic class texhtml class for inline math */ |
||
.times-serif, |
|||
span.texhtml { |
span.texhtml { |
||
font-family: serif; |
font-family: serif; |
||
} |
|||
span.texhtml { |
|||
white-space: nowrap; |
white-space: nowrap; |
||
} |
|||
/* Enable custom list style types for lists of references */ |
|||
.reflist ol.references { |
|||
list-style-type: inherit; |
|||
} |
|||
/* Hanging indentation for Template:Refbegin */ |
|||
.refbegin-hanging-indents > ul, |
|||
.refbegin-hanging-indents > dl { |
|||
list-style-type: none; |
|||
margin-left: 0; |
|||
} |
|||
.refbegin-hanging-indents > ul > li, |
|||
.refbegin-hanging-indents > dl > dd { |
|||
margin-left: 0; |
|||
padding-left: 1.0em; |
|||
text-indent: -1.0em; |
|||
list-style: none; |
|||
} |
} |
||
Line 201: | Line 122: | ||
padding: 0.25em 0.9em; |
padding: 0.25em 0.9em; |
||
} |
} |
||
/* Normal font styling for wikitable row headers with scope="row" tag */ |
|||
.wikitable.plainrowheaders th[scope=row] { |
|||
font-weight: normal; |
|||
/* @noflip */ |
|||
text-align: left; |
|||
} |
|||
/** |
/** |
||
Line 241: | Line 170: | ||
content: ": "; |
content: ": "; |
||
} |
} |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
.heading-holder hlist li:after, |
.heading-holder hlist li:after, |
||
.mw-parser-output .hlist dd:last-child:after, |
.mw-parser-output .hlist dd:last-child:after, |
||
Line 251: | Line 180: | ||
/* Add parentheses around nested lists */ |
/* Add parentheses around nested lists */ |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
.mw-parser-output .hlist dd dd |
.mw-parser-output .hlist dd dd:first-child:before, |
||
.mw-parser-output .hlist |
.mw-parser-output .hlist dd dt:first-child:before, |
||
.mw-parser-output .hlist |
.mw-parser-output .hlist dd li:first-child:before, |
||
.mw-parser-output .hlist dt dd:first-child:before, |
|||
.mw-parser-output .hlist dt dt:first-child:before, |
|||
.mw-parser-output .hlist dt li:first-child:before, |
|||
.mw-parser-output .hlist li dd:first-child:before, |
|||
.mw-parser-output .hlist li dt:first-child:before, |
|||
.mw-parser-output .hlist li li:first-child:before { |
|||
content: " ("; |
content: " ("; |
||
font-weight: normal; |
font-weight: normal; |
||
} |
} |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
.mw-parser-output .hlist dd dd |
.mw-parser-output .hlist dd dd:last-child:after, |
||
.mw-parser-output .hlist |
.mw-parser-output .hlist dd dt:last-child:after, |
||
.mw-parser-output .hlist |
.mw-parser-output .hlist dd li:last-child:after, |
||
.mw-parser-output .hlist dt dd:last-child:after, |
|||
.mw-parser-output .hlist dt dt:last-child:after, |
|||
.mw-parser-output .hlist dt li:last-child:after, |
|||
.mw-parser-output .hlist li dd:last-child:after, |
|||
.mw-parser-output .hlist li dt:last-child:after, |
|||
.mw-parser-output .hlist li li:last-child:after { |
|||
content: ") "; |
content: ") "; |
||
font-weight: normal; |
font-weight: normal; |
||
} |
} |
||
/* Put ordinals in front of ordered list items */ |
/* Put ordinals in front of ordered list items */ |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
Line 269: | Line 211: | ||
counter-reset: listitem; |
counter-reset: listitem; |
||
} |
} |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
.mw-parser-output .hlist ol > li { |
.mw-parser-output .hlist ol > li { |
||
counter-increment: listitem; |
counter-increment: listitem; |
||
} |
} |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
.mw-parser-output .hlist ol > li:before { |
.mw-parser-output .hlist ol > li:before { |
||
Line 278: | Line 222: | ||
white-space: nowrap; |
white-space: nowrap; |
||
} |
} |
||
/* Should be removed and moved to templates once TemplateStyles is live */ |
/* Should be removed and moved to templates once TemplateStyles is live */ |
||
.mw-parser-output .hlist dd ol > li:first-child:before, |
.mw-parser-output .hlist dd ol > li:first-child:before, |
||
Line 288: | Line 233: | ||
@media print { |
@media print { |
||
.navbox, |
|||
.navbox, .hatnote, .ambox { display: none; } |
|||
.hatnote, |
|||
.ambox { |
|||
display: none !important; |
|||
} |
|||
} |
} |
||
Revision as of 19:06, October 4, 2021
/**
You are editing the global css file for all mobile site users.
With Great Power Comes Great Responsibility.
Some words of caution:
* Avoid any changes which impact layout on a mobile device.
** Please be careful not to introduce any margin / padding rules. These should be done inside the template itself via an inline style.
** Be especially cautious when a template is likely to be used within the top 480px of the screen (the content that the user will see first on a mobile device).
* Do not use display:none. Instead edit the template and markup the element you want to hide with the `nomobile` class.
* Try to keep rules as generic and minimal as possible. Do not have 2 selectors doing the same thing. Introduce a common class and use that instead.
* For big changes consult the [https://grafana.wikimedia.org/dashboard/db/mobile-2g grafana dashboard] to ensure you don't introduce any performance regressions.
* Group common css rules together where possible.
If you are looking for .mobile-float-reset (see [[:phab:T56176]]), use TemplateStyles instead.
.mobile-float-reset {
float: none !important;
width: 100% !important;
}
*/
/* Reset user agent styles. We don't reset small or blockquote here deliberately */
cite,
dfn {
font-style: inherit;
}
q {
quotes: '"' '"' "'" "'";
}
/* Hide the images */
.geo-nondefault, .geo-multi-punct,
/* Hide stuff meant for accounts with special permissions. Made visible again in
[[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-patroller.css]] and
[[MediaWiki:Group-autoconfirmed.css]]. */
.checkuser-show,
.sysop-show,
.templateeditor-show,
.extendedmover-show,
.patroller-show,
.extendedconfirmed-show,
.autoconfirmed-show,
/* Copied from Common.css - allow for hiding text in compact form e.g. clean up templates */
.hide-when-compact,
/* portal pages are badly formatted. Until this changes these should be hidden. (see https://phabricator.wikimedia.org/T86495) */
.noprint.portal {
display: none;
}
/*
Should be moved into Template:Cite_web
Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */
.citation {
word-wrap: break-word;
}
/*
.infobox
DO NOT style infobox's here. That should be taken care of in the associated templates via template styles. Styles here will lead to flash of unstyled content on mobile.
*/
/* removed inline from module as we work toward Tstyles support
* Use three classes to match specificity of MobileFrontend/Minerva selectors */
.content .mw-parser-output .infobox-header,
.content .mw-parser-output .infobox-subheader,
.content .mw-parser-output .infobox-above,
.content .mw-parser-output .infobox-title,
.content .mw-parser-output .infobox-image,
.content .mw-parser-output .infobox-full-data,
.content .mw-parser-output .infobox-below {
text-align: center;
}
/* Unbulleted lists e.g. Barack Obama page*/
.plainlist ul {
list-style: none;
padding-left: 0; /* Reset Minerva defaults */
}
/* Prevent line breaks in silly places:
1) Where desired
2) Links when we don't want them to
*/
.mw-parser-output .nowrap,
.nowraplinks a {
white-space: nowrap;
}
.mw-parser-output .infobox .nowrap {
white-space: normal !important;
}
/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
white-space: normal;
}
/* Generic class texhtml class for inline math */
span.texhtml {
font-family: serif;
white-space: nowrap;
}
/* Prevent flags in tables from collapsing
Fix for T116318
*/
.flagicon img {
min-width: 25px;
}
/* Prevent unnecessary margin at the bottom of centralnotices */
.cnotice {
margin-bottom: 0 !important;
}
/* The message body cell(s), such as for {{Commonscat}}.
* this is a very small subset of the styles from Common.css
* just to make sure the box isn't squashed without any spacing
* which looks out of place with visuals of other nearby elements
*/
.mbox-text {
/* @noflip */
padding: 0.25em 0.9em;
}
/* Normal font styling for wikitable row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row] {
font-weight: normal;
/* @noflip */
text-align: left;
}
/**
******************DEPRECATED STYLES ************************************
These styles will be removed shortly. Please see inline comments.
**/
/*
Generate interpuncts
FIXME: Move to template.
*/
/* Can be removed when T169315 is resolved */
#content .hlist-separated li:after {
font-size: 0.8em;
color: #333;
}
/*
FIXME: DUPLICATES Template:Hlist/styles.css
Note the mobile skin provides a `hlist-separated` class for this purpose. Use this class name alongside the hlist class instead as this will result in a FOUC.
Should be removed and moved to templates.
*/
/* Counter hlist indenting of Minerva*/
.mw-parser-output .hlist ul,
.mw-parser-output .hlist ol {
padding-left: 0;
}
/* reset hlist margins of Minerva
do not add li here (see T235416) */
.mw-parser-output .hlist dd,
.mw-parser-output .hlist dt {
margin-right: 0;
}
/* do not add li here. Minerva provides it already*/
.mw-parser-output .hlist dd:after {
content: " · ";
font-weight: bold;
}
.mw-parser-output .hlist dt:after {
content: ": ";
}
/* Should be removed and moved to templates once TemplateStyles is live */
.heading-holder hlist li:after,
.mw-parser-output .hlist dd:last-child:after,
.mw-parser-output .hlist dt:last-child:after,
.mw-parser-output .hlist li:last-child:after {
content: none;
}
/* Add parentheses around nested lists */
/* Should be removed and moved to templates once TemplateStyles is live */
.mw-parser-output .hlist dd dd:first-child:before,
.mw-parser-output .hlist dd dt:first-child:before,
.mw-parser-output .hlist dd li:first-child:before,
.mw-parser-output .hlist dt dd:first-child:before,
.mw-parser-output .hlist dt dt:first-child:before,
.mw-parser-output .hlist dt li:first-child:before,
.mw-parser-output .hlist li dd:first-child:before,
.mw-parser-output .hlist li dt:first-child:before,
.mw-parser-output .hlist li li:first-child:before {
content: " (";
font-weight: normal;
}
/* Should be removed and moved to templates once TemplateStyles is live */
.mw-parser-output .hlist dd dd:last-child:after,
.mw-parser-output .hlist dd dt:last-child:after,
.mw-parser-output .hlist dd li:last-child:after,
.mw-parser-output .hlist dt dd:last-child:after,
.mw-parser-output .hlist dt dt:last-child:after,
.mw-parser-output .hlist dt li:last-child:after,
.mw-parser-output .hlist li dd:last-child:after,
.mw-parser-output .hlist li dt:last-child:after,
.mw-parser-output .hlist li li:last-child:after {
content: ") ";
font-weight: normal;
}
/* Put ordinals in front of ordered list items */
/* Should be removed and moved to templates once TemplateStyles is live */
.mw-parser-output .hlist ol {
counter-reset: listitem;
}
/* Should be removed and moved to templates once TemplateStyles is live */
.mw-parser-output .hlist ol > li {
counter-increment: listitem;
}
/* Should be removed and moved to templates once TemplateStyles is live */
.mw-parser-output .hlist ol > li:before {
content: " " counter(listitem) " ";
white-space: nowrap;
}
/* Should be removed and moved to templates once TemplateStyles is live */
.mw-parser-output .hlist dd ol > li:first-child:before,
.mw-parser-output .hlist dt ol > li:first-child:before,
.mw-parser-output .hlist li ol > li:first-child:before {
content: " (" counter(listitem) " ";
}
/* https://phabricator.wikimedia.org/T180396#5317728 */
@media print {
.navbox,
.hatnote,
.ambox {
display: none !important;
}
}
.mobileonly {
display: initial;
}
.nomobile {
display: none;
}
span.bibleQuoteRef {
color: #36b;
font-weight: bold;
cursor: help;
display: inline-block;
line-height: 0.8em;
border-bottom: 1px dashed #36b;
}
div.bibleQuoteRef {
border: 1px solid Gray;
border-radius: 6px;
padding: 6px 12px;
margin: 6px auto;
max-width: 80%;
background-color:Gray;
}
/*
.bibleQuoteRef:hover {
text-decoration: underline;
}
*/
.bibleGetQuote {
border: 1px solid #aaa;
padding: 9px 12px;
background-color: white;
box-shadow: 6px 6px 12px lightgray;
max-width: 400px;
min-width: 380px;
font-size: .8em;
}
.bibleGetQuote.ready {
position: absolute;
top: 0;
}
.bibleGetQuote.hidden {
left: -1000px;
}
.bibleGetQuote.sticky {
overflow-y: auto;
height: 90vh;
border-right: 0px;
}
.bibleGetQuote.sticky .closeButton {
display: block;
position: absolute;
top: 3px;
right: 5px;
background-color: lightgrey;
border: 1px groove Gray;
font-weight: bold;
text-align: center;
width: 2em;
height: 1.8em;
font-size: 1em;
padding-top: .4em;
color: DarkRed;
cursor: pointer;
}
.bibleGetQuote.sticky .closeButton:hover {
background-color: #dfdfdf;
color: Red;
}
.bibleQuoteRefBroken {
color:#36b;
font-weight:bold;
display: inline-block;
line-height: 0.8em;
border-bottom: 1px dashed Red;
cursor: help;
}
.bibleQuoteRefBrokenReason {
color:red;
font-weight:bold;
cursor:help;
}
/*.bibleQuote.results { font-family:'Quattrocento'; }*/
.bibleQuote.results p { margin: 0; }
.bibleQuote.results .bibleVersion {
color: #5a5aad;
text-align: center;
font-size:0.9em;
font-weight: bold;
font-style: normal;
text-decoration: none;
}
.bibleQuote.results .bookChapter {
color: #b40505;
font-size:1em;
font-weight: bold;
font-style: normal;
text-decoration: none;
text-align: left;
}
.bibleQuote.results .versesParagraph {
color: #666666;
text-align: justify;
font-size:1em;
font-weight: normal;
font-style: normal;
text-decoration: none;
line-height: 1.5em;
}
.bibleQuote.results .versesParagraph .verseNum {
color: #AA0000;
margin: 0px 3px;
font-weight: bold;
font-style: normal;
text-decoration: none;
vertical-align: baseline;
position: relative; top: -0.6em;
font-size: .83em;
/*vertical-align: super;*/
}
.bibleQuote.results .versesParagraph .sm { text-transform: lowercase; font-variant: small-caps; }
.bibleQuote.results .versesParagraph .pof { display: block; text-indent: 0; margin-top:.1em; margin-left:5%; line-height: 160%; }
.bibleQuote.results .versesParagraph .po { display: block; margin-left:5%; line-height: 160%; }
.bibleQuote.results .versesParagraph .pol { display: block; margin-left:5%; margin-bottom:1em; line-height: 160%; }
.bibleQuote.results .versesParagraph .pos { display: block; margin-top:0.3em; margin-left:5%; line-height: 110%; }
.bibleQuote.results .versesParagraph .poif { display: block; margin-left:7%; margin-top:1%; line-height: 160%; }
.bibleQuote.results .versesParagraph .poi { display: block; margin-left:7%; line-height: 160%; }
.bibleQuote.results .versesParagraph .poil { display: block; margin-left:7%; margin-bottom:.1em; line-height: 160%; }
.bibleQuote.results .versesParagraph .po3 { display: block; margin-left:7%; line-height: 110%; }
.bibleQuote.results .versesParagraph .po3l { display: block; margin-left:7%; line-height: 110%; }
.bibleQuote.results .versesParagraph .speaker { font-weight: bold; background-color: #eeeeee; padding: 3px; border-radius: 3px; font-size: 1em; }
.bibleQuote.results .versesParagraph .pr { display: block; text-align: right; font-style: italic; font-size: .8em; line-height: 90%; margin-bottom: -.1em; }
.bibleQuote.results span.bookChapter { margin-left: 12px; }
.bibleQuote.errors { display: none; }
.bibleQuote.info { display: none; }
.citation.libro .autore, .citation.pubblicazione .autore { font-variant: small-caps; }
.lds-spinner {
display: block;
position: relative;
margin: 0px auto;
width: 80px;
height: 80px;
}
.lds-spinner div {
transform-origin: 40px 40px;
animation: lds-spinner 1.2s linear infinite;
}
.lds-spinner div:after {
content: " ";
display: block;
position: absolute;
top: 3px;
left: 37px;
width: 6px;
height: 18px;
border-radius: 20%;
background: #fff;
}
.lds-spinner div:nth-child(1) {
transform: rotate(0deg);
animation-delay: -1.1s;
}
.lds-spinner div:nth-child(2) {
transform: rotate(30deg);
animation-delay: -1s;
}
.lds-spinner div:nth-child(3) {
transform: rotate(60deg);
animation-delay: -0.9s;
}
.lds-spinner div:nth-child(4) {
transform: rotate(90deg);
animation-delay: -0.8s;
}
.lds-spinner div:nth-child(5) {
transform: rotate(120deg);
animation-delay: -0.7s;
}
.lds-spinner div:nth-child(6) {
transform: rotate(150deg);
animation-delay: -0.6s;
}
.lds-spinner div:nth-child(7) {
transform: rotate(180deg);
animation-delay: -0.5s;
}
.lds-spinner div:nth-child(8) {
transform: rotate(210deg);
animation-delay: -0.4s;
}
.lds-spinner div:nth-child(9) {
transform: rotate(240deg);
animation-delay: -0.3s;
}
.lds-spinner div:nth-child(10) {
transform: rotate(270deg);
animation-delay: -0.2s;
}
.lds-spinner div:nth-child(11) {
transform: rotate(300deg);
animation-delay: -0.1s;
}
.lds-spinner div:nth-child(12) {
transform: rotate(330deg);
animation-delay: 0s;
}
@keyframes lds-spinner {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.embedvideowrap {
margin-top: 1em;
}