Bumping manifests a=b2g-bump
[gecko.git] / layout / style / quirk.css
blob299883584b49618ccf33c8ad9bc231a4043f3ad8
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;
15 /* restore outside position for lists inside LIs */
16 li ul, li ol, li dir, li menu {
17 list-style-position: outside;
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;
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;
42 /* Quirk: prevent bullet from resizing with the list item
43 * see bug 97351
46 li::-moz-list-bullet {
47 font-size: initial;
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;
64 * Make table borders gray for compatibility with what other browsers do
65 * in all modes, rather than using the foreground color.
67 table, td, th, tr, thead, tbody, tfoot, colgroup, col {
68 border-color: gray;
72 /* Quirk: collapse top margin of BODY and TD and bottom margin of TD */
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.
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;
103 td > p:-moz-last-node, th > p:-moz-last-node {
104 margin-bottom: 0;
107 /* Similar as above, but for empty elements
108 * collapse the bottom or top margins of empty elements
109 * - see bug 97361
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;
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;
164 /* Quirk: DD not in DL has text-indent instead of margin (b=5119) */
166 :not(dl) > dd {
167 display: inline;
168 margin: 0;
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;
181 /* quirk to indent nested DL elements (b=8749) */
183 dl > dl {
184 display: block;
185 -moz-margin-start: 40px;
189 /* Quirk: Make floated images have a margin (b=58899) */
191 img[align=left] {
192 margin-right: 3px;
195 img[align=right] {
196 margin-left: 3px;
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)
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;
210 /* Quirk: give form margin for compat (b=41806) */
211 form {
212 margin-bottom: 1em;