layout/style/quirk.css

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 @namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */
     8 /* Quirk: make orphaned LIs have inside bullet (b=1049) */
    10 /* force inside position for orphaned lis */
    11 li {
    12   list-style-position: inside;
    13 }
    15 /* restore outside position for lists inside LIs */
    16 li ul, li ol, li dir, li menu {
    17   list-style-position: outside;
    18 }
    20 /* undo previous two rules for properly nested lists */
    21   ul ul,   ul ol,   ul dir,   ul menu,   ul li,
    22   ol ul,   ol ol,   ol dir,   ol menu,   ol li,
    23  dir ul,  dir ol,  dir dir,  dir menu,  dir li,
    24 menu ul, menu ol, menu dir, menu menu, menu li {
    25   list-style-position: inherit;
    26 }
    29 /* Quirk: ensure that we get proper padding if the very first
    30  * node in an LI is another UL or OL. This is an ugly way to
    31  * fix the problem, because it extends the LI up into what
    32  * would otherwise appear to be the ULs space. (b=38832) */
    34 /* Note: this fix will fail once we implement marker box
    35  * alignment correctly. */
    36 li > ul:-moz-first-node,
    37 li > ol:-moz-first-node {
    38   padding-top: 1em;
    39 }
    42 /* Quirk: prevent bullet from resizing with the list item
    43  *   see bug 97351
    44  */
    46 li::-moz-list-bullet {
    47   font-size: initial;
    48 }
    51 table {
    52   text-align: start;
    53   white-space: normal; /* compatible with IE & spec */
    54   line-height: normal;
    56   /* Quirk: cut off all font inheritance in tables except for family. */
    57   font-size: initial;
    58   font-weight: initial;
    59   font-style: initial;
    60   font-variant: initial;
    61 }
    63 /*
    64  * Make table borders gray for compatibility with what other browsers do
    65  * in all modes, rather than using the foreground color.
    66  */
    67 table, td, th, tr, thead, tbody, tfoot, colgroup, col {
    68   border-color: gray;
    69 }
    72 /* Quirk: collapse top margin of BODY and TD and bottom margin of TD */
    74 /*
    75  * While it may seem simpler to use :-moz-first-node and :-moz-last-node without
    76  * tags, it's slower, since we have to do the :-moz-first-node or :-moz-last-node
    77  * check on every single element in the document.  If we list all the
    78  * element names for which the UA stylesheet specifies a margin, the
    79  * selectors will be hashed in the RuleHash and things will be much more
    80  * efficient.
    81  */
    82 body > p:-moz-first-node, td > p:-moz-first-node, th > p:-moz-first-node,
    83 body > dl:-moz-first-node, td > dl:-moz-first-node, th > dl:-moz-first-node,
    84 body > multicol:-moz-first-node, td > multicol:-moz-first-node, th > multicol:-moz-first-node,
    85 body > blockquote:-moz-first-node, td > blockquote:-moz-first-node, th > blockquote:-moz-first-node,
    86 body > h1:-moz-first-node, td > h1:-moz-first-node, th > h1:-moz-first-node,
    87 body > h2:-moz-first-node, td > h2:-moz-first-node, th > h2:-moz-first-node,
    88 body > h3:-moz-first-node, td > h3:-moz-first-node, th > h3:-moz-first-node,
    89 body > h4:-moz-first-node, td > h4:-moz-first-node, th > h4:-moz-first-node,
    90 body > h5:-moz-first-node, td > h5:-moz-first-node, th > h5:-moz-first-node,
    91 body > h6:-moz-first-node, td > h6:-moz-first-node, th > h6:-moz-first-node,
    92 body > listing:-moz-first-node, td > listing:-moz-first-node, th > listing:-moz-first-node,
    93 body > plaintext:-moz-first-node, td > plaintext:-moz-first-node, th > plaintext:-moz-first-node,
    94 body > xmp:-moz-first-node, td > xmp:-moz-first-node, th > xmp:-moz-first-node,
    95 body > pre:-moz-first-node, td > pre:-moz-first-node, th > pre:-moz-first-node,
    96 body > ul:-moz-first-node, td > ul:-moz-first-node, th > ul:-moz-first-node,
    97 body > menu:-moz-first-node, td > menu:-moz-first-node, th > menu:-moz-first-node,
    98 body > dir:-moz-first-node, td > dir:-moz-first-node, th > dir:-moz-first-node,
    99 body > ol:-moz-first-node, td > ol:-moz-first-node, th > ol:-moz-first-node {
   100   margin-top: 0;
   101 }
   103 td > p:-moz-last-node, th > p:-moz-last-node {
   104   margin-bottom: 0;
   105 }
   107 /* Similar as above, but for empty elements
   108  *  collapse the bottom or top margins of empty elements
   109  *  - see bug 97361
   110  */
   111 body > p:-moz-only-whitespace:-moz-first-node,
   112 td > p:-moz-only-whitespace:-moz-first-node, th > p:-moz-only-whitespace:-moz-first-node,
   113 body > dl:-moz-only-whitespace:-moz-first-node, td > dl:-moz-only-whitespace:-moz-first-node,
   114 th > dl:-moz-only-whitespace:-moz-first-node, body > multicol:-moz-only-whitespace:-moz-first-node,
   115 td > multicol:-moz-only-whitespace:-moz-first-node, th > multicol:-moz-only-whitespace:-moz-first-node,
   116 body > blockquote:-moz-only-whitespace:-moz-first-node, td > blockquote:-moz-only-whitespace:-moz-first-node,
   117 th > blockquote:-moz-only-whitespace:-moz-first-node, body > h1:-moz-only-whitespace:-moz-first-node,
   118 td > h1:-moz-only-whitespace:-moz-first-node, th > h1:-moz-only-whitespace:-moz-first-node,
   119 body > h2:-moz-only-whitespace:-moz-first-node, td > h2:-moz-only-whitespace:-moz-first-node,
   120 th > h2:-moz-only-whitespace:-moz-first-node, body > h3:-moz-only-whitespace:-moz-first-node,
   121 td > h3:-moz-only-whitespace:-moz-first-node, th > h3:-moz-only-whitespace:-moz-first-node,
   122 body > h4:-moz-only-whitespace:-moz-first-node, td > h4:-moz-only-whitespace:-moz-first-node,
   123 th > h4:-moz-only-whitespace:-moz-first-node, body > h5:-moz-only-whitespace:-moz-first-node,
   124 td > h5:-moz-only-whitespace:-moz-first-node, th > h5:-moz-only-whitespace:-moz-first-node,
   125 body > h6:-moz-only-whitespace:-moz-first-node, td > h6:-moz-only-whitespace:-moz-first-node,
   126 th > h6:-moz-only-whitespace:-moz-first-node, body > listing:-moz-only-whitespace:-moz-first-node,
   127 td > listing:-moz-only-whitespace:-moz-first-node, th > listing:-moz-only-whitespace:-moz-first-node,
   128 body > plaintext:-moz-only-whitespace:-moz-first-node, td > plaintext:-moz-only-whitespace:-moz-first-node,
   129 th > plaintext:-moz-only-whitespace:-moz-first-node, body > xmp:-moz-only-whitespace:-moz-first-node,
   130 td > xmp:-moz-only-whitespace:-moz-first-node, th > xmp:-moz-only-whitespace:-moz-first-node,
   131 body > pre:-moz-only-whitespace:-moz-first-node, td > pre:-moz-only-whitespace:-moz-first-node,
   132 th > pre:-moz-only-whitespace:-moz-first-node, body > ul:-moz-only-whitespace:-moz-first-node,
   133 td > ul:-moz-only-whitespace:-moz-first-node, th > ul:-moz-only-whitespace:-moz-first-node,
   134 body > menu:-moz-only-whitespace:-moz-first-node, td > menu:-moz-only-whitespace:-moz-first-node,
   135 th > menu:-moz-only-whitespace:-moz-first-node, body > dir:-moz-only-whitespace:-moz-first-node,
   136 td > dir:-moz-only-whitespace:-moz-first-node, th > dir:-moz-only-whitespace:-moz-first-node,
   137 body > ol:-moz-only-whitespace:-moz-first-node, td > ol:-moz-only-whitespace:-moz-first-node,
   138 th > ol:-moz-only-whitespace:-moz-first-node {
   139   margin-bottom: 0;
   140 }
   142 td > p:-moz-only-whitespace:-moz-last-node, th > p:-moz-only-whitespace:-moz-last-node,
   143 td > dl:-moz-only-whitespace:-moz-last-node, th > dl:-moz-only-whitespace:-moz-last-node,
   144 td > multicol:-moz-only-whitespace:-moz-last-node, th > multicol:-moz-only-whitespace:-moz-last-node,
   145 td > blockquote:-moz-only-whitespace:-moz-last-node, th > blockquote:-moz-only-whitespace:-moz-last-node,
   146 td > h1:-moz-only-whitespace:-moz-last-node, th > h1:-moz-only-whitespace:-moz-last-node,
   147 td > h2:-moz-only-whitespace:-moz-last-node, th > h2:-moz-only-whitespace:-moz-last-node,
   148 td > h3:-moz-only-whitespace:-moz-last-node, th > h3:-moz-only-whitespace:-moz-last-node,
   149 td > h4:-moz-only-whitespace:-moz-last-node, th > h4:-moz-only-whitespace:-moz-last-node,
   150 td > h5:-moz-only-whitespace:-moz-last-node, th > h5:-moz-only-whitespace:-moz-last-node,
   151 td > h6:-moz-only-whitespace:-moz-last-node, th > h6:-moz-only-whitespace:-moz-last-node,
   152 td > listing:-moz-only-whitespace:-moz-last-node, th > listing:-moz-only-whitespace:-moz-last-node,
   153 td > plaintext:-moz-only-whitespace:-moz-last-node, th > plaintext:-moz-only-whitespace:-moz-last-node,
   154 td > xmp:-moz-only-whitespace:-moz-last-node, th > xmp:-moz-only-whitespace:-moz-last-node,
   155 td > pre:-moz-only-whitespace:-moz-last-node, th > pre:-moz-only-whitespace:-moz-last-node,
   156 td > ul:-moz-only-whitespace:-moz-last-node, th > ul:-moz-only-whitespace:-moz-last-node,
   157 td > menu:-moz-only-whitespace:-moz-last-node, th > menu:-moz-only-whitespace:-moz-last-node,
   158 td > dir:-moz-only-whitespace:-moz-last-node, th > dir:-moz-only-whitespace:-moz-last-node,
   159 td > ol:-moz-only-whitespace:-moz-last-node, th > ol:-moz-only-whitespace:-moz-last-node {
   160   margin-top: 0;
   161 }
   164 /* Quirk: DD not in DL has text-indent instead of margin (b=5119) */
   166 :not(dl) > dd {
   167   display: inline;
   168   margin: 0;
   169 }
   171 :not(dl) > dd:before {
   172   display: inline;
   173   white-space: pre;
   174   font-size: 1px;
   175   line-height: 0;
   176   content: "\A  ";
   177   -moz-margin-end: 40px;
   178 }
   181 /* quirk to indent nested DL elements (b=8749) */
   183 dl > dl {
   184   display: block;
   185   -moz-margin-start: 40px;
   186 }
   189 /* Quirk: Make floated images have a margin  (b=58899) */
   191 img[align=left] {
   192   margin-right: 3px;
   193 }
   195 img[align=right] {
   196   margin-left: 3px;
   197 }
   199 /*
   200  * Quirk: Use border-box box sizing for text inputs, password inputs, and
   201  * textareas.  (b=184478 on why we use content-box sizing in standards mode)
   202  */
   204 /* Note that all other <input>s already use border-box
   205    sizing, so we're ok with this selector */
   206 input:not([type=image]), textarea {
   207   box-sizing: border-box;
   208 }
   210 /* Quirk: give form margin for compat (b=41806) */
   211 form {
   212   margin-bottom: 1em;
   213 }

mercurial