Template:Fraction/styles.css
From Vigyanwiki
/* */
/**
* Resulting [[Template:sfrac]] code with all 3 parameters provided, indentation added:
*
* <span class="sfrac nowrap">
* <span class="int">{{{1}}}⁤</span>
* <span class="plus visualhide">+</span>
* <span class="tion">
* <span class="num">{{{2}}}</span>
* <span class="slash visualhide">/</span>
* <span class="den">{{{3}}}</span>
* </span>
* </span>
*
* .sfrac.nowrap
* > .int
* > .plus.visualhide
* > .tion
* > .num
* > .slash.visualhide
* > .den
*
* Resulting [[Template:sfrac]] code with just 1 or 2 parameters provided, indentation added:
*
* <span class="sfrac nowrap" class="tion">
* <span class="num">{{{1|1}}}</span>
* <span class="visualhide slash">/</span>
* <span class="den">{{{2|{{{1}}}}}}</span>
* </span>
*
* .sfrac.tion.nowrap
* > .num
* > .slash.visualhide
* > .den
*/
/**
* Stacked Fractions
* -----------------
*
* - default for [[Template:sfrac]]
* and for [[Template:frac]] inside [[Template:math]] or [[Template:bigmath]]
* - opt-in with .stacked set on any ancestor or with the {{{class}}} parameter
* - opt-out with .vulgar set on any ancestor or with the {{{class}}} parameter
*/
/** stacked container */
/* with integer */
.stacked .frac>.tion /* opt-in */,
.stacked.frac>.tion,
.texhtml .frac>.tion /* context */,
.math .frac>.tion,
.sfrac>.tion /* default */,
/* without integer */
.stacked .frac.tion /* opt-in */,
.stacked.frac.tion,
.texhtml .frac.tion /* context */,
.math .frac.tion,
.sfrac.tion /* default */
{
display: inline-block;
vertical-align: -0.6em; /* = -0.51 parent-em */
font-size: 85%; /* should this be 83.3%? to make vertical alignment max. 0.5 parent-em */
text-align: center;
}
/** stacked numerator */
.stacked .frac sup /* opt-in */,
.stacked.frac .num,
.stacked .frac sup,
.stacked.frac .num,
.texhtml .frac sup /* context */,
.texhtml .frac .num,
.math .frac sup,
.math .frac .num,
span.sfrac .num /* default */,
/** stacked denominator */
.stacked .frac sub /* opt-in */,
.stacked.frac .den,
.stacked .frac sub,
.stacked.frac .den,
.texhtml .frac sub /* context */,
.texhtml .frac .den,
.math .frac sub,
.math .frac .den,
.sfrac .den /* default */
{
display: block;
margin: 0 0.1em; /* should this be padding? */
line-height: 1em;
}
/** reset default <sup> and <sub> styling */
.stacked .frac sup /* opt-in */,
.stacked.frac sup,
.stacked .frac sub,
.stacked.frac sub,
.texhtml .frac sup /* context */,
.texhtml .frac sub,
.math .frac sup,
.math .frac sub
{
vertical-align: baseline; /* may be 'super' or 'sub', respectively */
position: static; /* may be 'relative' */
font-size: 1em; /* overrides 80% from selector '.mw-body-content sub/p' in [[MediaWiki:Common.css]],
inherits 85% of outer font size */
}
/** stacked fraction line above denominator */
.stacked .frac sub /* opt-in */,
.stacked .frac .den,
.math .frac sub /* context */,
.texhtml .frac sub,
.texhtml .frac .den,
.math .frac .den,
.sfrac .den /* default */
{
border-top: 1px solid;
}
/**
* Vulgar Fractions
* ----------------
*
* - default for [[Template:frac]]
* - opt-in with .vulgar set on any ancestor or with the {{{class}}} parameter
* - opt-out with .stacked set on any ancestor or with the {{{class}}} parameter
*/
/** unhide vulgar fraction slash */
.vulgar .sfrac .slash.visualhide /* opt-in */,
.vulgar.sfrac .slash.visualhide,
.frac .slash.visualhide /* default */
{
/* reset everything that .visualhide from [[MediaWiki:Common.css]] does */
position: static /* absolute */;
left: 0 /* -10000px*/;
top: 0 /* auto */;
width: auto /* 1px */;
height: auto /* 1px */;
overflow: visible /* hidden */;
}
/** avoid line above denominator */
.vulgar .sfrac .den /* opt-in */,
.vulgar.sfrac .den,
.frac .den /* default */,
.frac sub
{
border-top: none;
}
.vulgar .sfrac>.tion /* opt-in, with integer */,
.vulgar.sfrac>.tion,
.vulgar .sfrac.tion /* opt-in, without integer */,
.vulgar.sfrac.tion
{
display: inline;
vertical-align: baseline;
font-size: 1em;
text-align: inherit;
}
/**
* Fancy vulgar fractions
* ----------------------
*
* - always requires opt-in
*/
/** enable smart-font features */
.stacked .fancy .frac /* double opt-in */,
.stacked.fancy .frac,
.stacked .fancy.frac,
.fancy .stacked.frac,
.fancy .stacked .frac,
.fancy.stacked.frac,
.fancy .sfrac /* opt-in */,
.fancy.sfrac,
.sfrac /* default */
{
font-variant-numeric: stacked-fractions;
}
.vulgar .fancy .sfrac /* double opt-in */,
.vulgar.fancy .sfrac,
.vulgar .fancy.sfrac,
.fancy .vulgar.sfrac,
.fancy .vulgar .sfrac,
.fancy.vulgar.sfrac,
.fancy .frac /* opt-in */,
.fancy.frac,
.frac /* default */
{
font-variant-numeric: diagonal-fractions;
}
/* remove stacking */
.fancy .sfrac>.tion[title] /* opt-in, with integer */,
.fancy.sfrac>.tion[title],
.fancy .sfrac.tion[title] /* opt-in, without integer */,
.fancy.sfrac.tion[title]
{
display: inline;
vertical-align: baseline;
font-size: 1em;
text-align: inherit;
}
/* remove all children of .tion except integer */
.fancy .sfrac>.tion[title]>* /* opt-in, with integer */,
.fancy .frac>.tion[title]>*,
.fancy.sfrac>.tion[title]>*,
.fancy.frac>.tion[title]>*,
.fancy .sfrac.tion[title]>* /* opt-in, without integer */,
.fancy .frac.tion[title]>*,
.fancy.sfrac.tion[title]>*,
.fancy.frac.tion[title]>*
{
display: none;
}
/* insert fancy character(s) stored by the template in .tion[title] */
.fancy .sfrac>.tion[title]::before /* opt-in, with integer */,
.fancy .frac>.tion[title]::before,
.fancy.sfrac>.tion[title]::before,
.fancy.frac>.tion[title]::before,
.fancy .sfrac.tion[title]::before /* opt-in, without integer */,
.fancy .frac.tion[title]::before,
.fancy.sfrac.tion[title]::before,
.fancy.frac.tion[title]::before
{
content: attr(title);
}
/** invisible plus sign U+2064 */
/* remove normal plus sign or space */
.fancy .sfrac .plus /* opt-in */,
.fancy .frac .plus,
.fancy.sfrac .plus,
.fancy.frac .plus
{
display: none;
}
/* insert invisible Unicode character */
.fancy .sfrac .int::after /* opt-in */,
.fancy .frac .int::after,
.fancy.sfrac .int::after,
.fancy.frac .int::after
{
content: "\2064";
}