1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
14 * The Original Code is mozilla.org code.
16 * The Initial Developer of the Original Code is
17 * Netscape Communications Corporation.
18 * Portions created by the Initial Developer are Copyright (C) 1998
19 * the Initial Developer. All Rights Reserved.
22 * Blake Ross <BlakeR1234@aol.com>
24 * Alternatively, the contents of this file may be used under the terms of
25 * either of the GNU General Public License Version 2 or later (the "GPL"),
26 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
38 @namespace url
(http://www
.w3
.org
/1999/xhtml
); /* set default namespace to HTML */
39 @namespace xul url
(http://www
.mozilla
.org
/keymaster
/gatekeeper
/there
.is
.only
.xul
);
52 unicode-bidi: bidi-override
;
55 /* To ensure http://www.w3.org/TR/REC-html40/struct/dirlang.html#style-bidi:
57 * "When a block element that does not have a dir attribute is transformed to
58 * the style of an inline element by a style sheet, the resulting presentation
59 * should be equivalent, in terms of bidirectional formatting, to the
60 * formatting obtained by explicitly adding a dir attribute (assigned the
61 * inherited value) to the transformed element." */
147 -moz-margin-start: 40px;
162 text-align: -moz-center
;
165 blockquote
[type
=cite
] {
168 -moz-padding-start: 1em;
169 -moz-border-start: solid
;
174 span
[_moz_quote
=true
] {
178 pre
[_moz_quote
=true
] {
190 :-moz-any
(article
, aside
, nav
, section
)
199 :-moz-any
(article
, aside
, nav
, section
)
200 :-moz-any
(article
, aside
, nav
, section
)
209 :-moz-any
(article
, aside
, nav
, section
)
210 :-moz-any
(article
, aside
, nav
, section
)
211 :-moz-any
(article
, aside
, nav
, section
)
220 :-moz-any
(article
, aside
, nav
, section
)
221 :-moz-any
(article
, aside
, nav
, section
)
222 :-moz-any
(article
, aside
, nav
, section
)
223 :-moz-any
(article
, aside
, nav
, section
)
232 :-moz-any
(article
, aside
, nav
, section
)
233 :-moz-any
(article
, aside
, nav
, section
)
234 :-moz-any
(article
, aside
, nav
, section
)
235 :-moz-any
(article
, aside
, nav
, section
)
236 :-moz-any
(article
, aside
, nav
, section
)
246 font-family: -moz-fixed
;
252 xmp
, pre
, plaintext
{
254 font-family: -moz-fixed
;
264 border-collapse: separate
;
267 /* XXXldb do we want this if we're border-collapse:collapse ? */
268 -moz-box-sizing: border-box
;
272 table
[align
="left"] {
276 table
[align
="right"] {
282 /* border collapse rules */
284 /* Set hidden if we have 'frame' or 'rules' attribute.
285 Set it on all sides when we do so there's more consistency
286 in what authors should expect */
288 /* Put this first so 'border' and 'frame' rules can override it. */
291 border-style: hidden
;
294 /* 'border' before 'frame' so 'frame' overrides
295 A border with a given value should, of course, pass that value
296 as the border-width in pixels -> attr mapping */
298 /* :-moz-table-border-nonzero is like [border]:not([border="0"]) except it
299 also checks for other zero-like values according to HTML attribute
301 table:-moz-table-border-nonzero
{
303 border-style: outset
;
310 /* specificity must beat table:-moz-table-border-nonzero rule above */
311 table
[frame
="void"] { border-style: hidden
; }
312 table
[frame
="above"] { border-style: outset hidden hidden hidden
; }
313 table
[frame
="below"] { border-style: hidden hidden outset hidden
; }
314 table
[frame
="lhs"] { border-style: hidden hidden hidden outset
; }
315 table
[frame
="rhs"] { border-style: hidden outset hidden hidden
; }
316 table
[frame
="hsides"] { border-style: outset hidden
; }
317 table
[frame
="vsides"] { border-style: hidden outset
; }
319 table
[frame
="border"] { border-style: outset
; }
322 /* Internal Table Borders */
324 /* 'border' cell borders first */
326 table:-moz-table-border-nonzero
> * > tr
> td
,
327 table:-moz-table-border-nonzero
> * > tr
> th
,
328 table:-moz-table-border-nonzero
> * > td
,
329 table:-moz-table-border-nonzero
> * > th
,
330 table:-moz-table-border-nonzero
> td
,
331 table:-moz-table-border-nonzero
> th
337 /* collapse only if rules are really specified */
338 table
[rules
]:not
([rules
="none"]):not
([rules
=""]) {
339 border-collapse: collapse
;
342 /* only specified rules override 'border' settings
343 (increased specificity to achieve this) */
344 table
[rules
]:not
([rules
=""])> tr
> td
,
345 table
[rules
]:not
([rules
=""])> * > tr
> td
,
346 table
[rules
]:not
([rules
=""])> tr
> th
,
347 table
[rules
]:not
([rules
=""])> * > tr
> th
,
348 table
[rules
]:not
([rules
=""])> td
,
349 table
[rules
]:not
([rules
=""])> th
356 table
[rules
][rules
="none"] > tr
> td
,
357 table
[rules
][rules
="none"] > * > tr
> td
,
358 table
[rules
][rules
="none"] > tr
> th
,
359 table
[rules
][rules
="none"] > * > tr
> th
,
360 table
[rules
][rules
="none"] > td
,
361 table
[rules
][rules
="none"] > th
364 border-style: hidden
;
367 table
[rules
][rules
="all"] > tr
> td
,
368 table
[rules
][rules
="all"] > * > tr
> td
,
369 table
[rules
][rules
="all"] > tr
> th
,
370 table
[rules
][rules
="all"] > * > tr
> th
,
371 table
[rules
][rules
="all"] > td
,
372 table
[rules
][rules
="all"] > th
378 table
[rules
][rules
="rows"] > tr
,
379 table
[rules
][rules
="rows"] > * > tr
{
380 border-top-width: thin
;
381 border-bottom-width: thin
;
382 border-top-style: solid
;
383 border-bottom-style: solid
;
387 table
[rules
][rules
="cols"] > tr
> td
,
388 table
[rules
][rules
="cols"] > * > tr
> td
,
389 table
[rules
][rules
="cols"] > tr
> th
,
390 table
[rules
][rules
="cols"] > * > tr
> th
{
391 border-left-width: thin
;
392 border-right-width: thin
;
393 border-left-style: solid
;
394 border-right-style: solid
;
397 table
[rules
][rules
="groups"] > colgroup
{
398 border-left-width: thin
;
399 border-right-width: thin
;
400 border-left-style: solid
;
401 border-right-style: solid
;
403 table
[rules
][rules
="groups"] > tfoot
,
404 table
[rules
][rules
="groups"] > thead
,
405 table
[rules
][rules
="groups"] > tbody
{
406 border-top-width: thin
;
407 border-bottom-width: thin
;
408 border-top-style: solid
;
409 border-bottom-style: solid
;
413 /* caption inherits from table not table-outer */
415 display: table-caption
;
417 -moz-box-sizing: border-box
;
420 table
[align
="center"] > caption
{
425 table
[align
="center"] > caption
[align
="left"] {
429 table
[align
="center"] > caption
[align
="right"] {
435 vertical-align: inherit
;
439 display: table-column
;
443 display: table-column-group
;
447 display: table-row-group
;
448 vertical-align: middle
;
452 display: table-header-group
;
453 vertical-align: middle
;
457 display: table-footer-group
;
458 vertical-align: middle
;
461 /* for XHTML tables without tbody */
463 vertical-align: middle
;
468 vertical-align: inherit
;
475 vertical-align: inherit
;
480 tr
> form:-moz-is-html
, tbody
> form:-moz-is-html
,
481 thead
> form:-moz-is-html
, tfoot
> form:-moz-is-html
,
482 table
> form:-moz-is-html
{
483 /* Important: don't show these forms in HTML */
484 display: none
!important
;
487 table
[bordercolor
] > tbody
,
488 table
[bordercolor
] > thead
,
489 table
[bordercolor
] > tfoot
,
490 table
[bordercolor
] > col
,
491 table
[bordercolor
] > colgroup
,
492 table
[bordercolor
] > tr
,
493 table
[bordercolor
] > * > tr
,
494 table
[bordercolor
] > tr
> td
,
495 table
[bordercolor
] > * > tr
> td
,
496 table
[bordercolor
] > tr
> th
,
497 table
[bordercolor
] > * > tr
> th
{
498 border-color: inherit
;
508 content: close-quote
;
515 i
, cite
, em
, var
, dfn
{
519 tt
, code
, kbd
, samp
{
520 font-family: -moz-fixed
;
524 text-decoration: underline
;
528 text-decoration: line-through
;
532 text-decoration: blink
;
550 vertical-align: super
;
565 abbr
[title
], acronym
[title
] {
566 border-bottom: dotted
1px;
573 list-style-type: disc
;
575 -moz-padding-start: 40px;
580 list-style-type: decimal
;
582 -moz-padding-start: 40px;
589 /* nested lists have no top/bottom margins */
590 :-moz-any
(ul
, ol
, dir
, menu
, dl
) ul
,
591 :-moz-any
(ul
, ol
, dir
, menu
, dl
) ol
,
592 :-moz-any
(ul
, ol
, dir
, menu
, dl
) dir
,
593 :-moz-any
(ul
, ol
, dir
, menu
, dl
) menu
,
594 :-moz-any
(ul
, ol
, dir
, menu
, dl
) dl
{
599 /* 2 deep unordered lists use a circle */
600 :-moz-any
(ol
, ul
, menu
, dir
) ul
,
601 :-moz-any
(ol
, ul
, menu
, dir
) menu
,
602 :-moz-any
(ol
, ul
, menu
, dir
) dir
{
603 list-style-type: circle
;
606 /* 3 deep (or more) unordered lists use a square */
607 :-moz-any
(ol
, ul
, menu
, dir
) :-moz-any
(ol
, ul
, menu
, dir
) ul
,
608 :-moz-any
(ol
, ul
, menu
, dir
) :-moz-any
(ol
, ul
, menu
, dir
) menu
,
609 :-moz-any
(ol
, ul
, menu
, dir
) :-moz-any
(ol
, ul
, menu
, dir
) dir
{
610 list-style-type: square
;
616 /* <hr> noshade and color attributes are handled completely by
617 * the nsHTMLHRElement attribute mapping code
623 margin: 0.5em auto
0.5em auto
;
625 -moz-float-edge: margin-box
;
626 -moz-box-sizing: border-box
;
630 border-style: solid none none none
;
633 img:-moz-broken::before
, input:-moz-broken::before
,
634 img:-moz-user-disabled::before
, input:-moz-user-disabled::before
,
635 img:-moz-loading::before
, input:-moz-loading::before
,
636 applet:-moz-empty-except-children-with-localname
(param
):-moz-broken::before
,
637 applet:-moz-empty-except-children-with-localname
(param
):-moz-user-disabled::before
{
638 content: -moz-alt-content
!important
;
642 :-moz-any
(object
,applet
):-moz-any
(:-moz-broken
,:-moz-user-disabled
) > *|
* {
644 Inherit in the object's alignment so that if we aren't aligned explicitly
645 we'll end up in the right place vertically. See bug 36997. Note that this
646 is not !important because we _might_ be aligned explicitly.
648 vertical-align: inherit
;
651 img:-moz-suppressed
, input:-moz-suppressed
, object:-moz-suppressed
,
652 embed:-moz-suppressed
, applet:-moz-suppressed
{
654 Set visibility too in case the page changes display. Note that we _may_
655 want to just set visibility and not display, in general, if we find that
656 display:none breaks too many layouts. And if we decide we really do want
657 people to be able to right-click blocked images, etc, we need to set
658 neither one, and hack the painting code.... :(
660 display: none
!important
;
661 visibility: hidden
!important
;
664 img
[usemap
], object
[usemap
] {
669 display: block
! important
;
670 overflow: -moz-hidden-unscrollable
;
671 position: static
! important
;
672 float: none
! important
;
673 border: none
! important
;
677 border: none
! important
;
689 position: static
! important
;
690 float: none
! important
;
694 -moz-user-select: none
;
697 /* focusable content: anything w/ tabindex >=0 is focusable */
698 abbr:-moz-focusring
, acronym:-moz-focusring
, address:-moz-focusring
,
699 applet:-moz-focusring
,
700 b:-moz-focusring
, base:-moz-focusring
, big:-moz-focusring
,
701 blockquote:-moz-focusring
, br:-moz-focusring
, canvas:-moz-focusring
,
702 caption:-moz-focusring
, center:-moz-focusring
, cite:-moz-focusring
,
703 code:-moz-focusring
, col:-moz-focusring
, colgroup:-moz-focusring
,
704 dd:-moz-focusring
, del:-moz-focusring
, dfn:-moz-focusring
, dir:-moz-focusring
,
705 div:-moz-focusring
, dl:-moz-focusring
, dt:-moz-focusring
, em:-moz-focusring
,
706 embed:-moz-focusring
,
707 fieldset:-moz-focusring
, font:-moz-focusring
, form:-moz-focusring
,
708 h1:-moz-focusring
, h2:-moz-focusring
, h3:-moz-focusring
, h4:-moz-focusring
,
709 h5:-moz-focusring
, h6:-moz-focusring
, hr:-moz-focusring
, i:-moz-focusring
,
710 img:-moz-focusring
, ins:-moz-focusring
, kbd:-moz-focusring
,
711 label:-moz-focusring
, legend:-moz-focusring
, li:-moz-focusring
,
714 object:-moz-focusring
,
717 pre:-moz-focusring
, q:-moz-focusring
, s:-moz-focusring
, samp:-moz-focusring
,
718 small:-moz-focusring
, span:-moz-focusring
, strike:-moz-focusring
,
719 strong:-moz-focusring
, sub:-moz-focusring
, sup:-moz-focusring
,
720 table:-moz-focusring
, tbody:-moz-focusring
, td:-moz-focusring
,
721 tfoot:-moz-focusring
, th:-moz-focusring
, thead:-moz-focusring
,
722 tr:-moz-focusring
, tt:-moz-focusring
, u:-moz-focusring
,
723 ul:-moz-focusring
, var:-moz-focusring
{
724 /* Don't specify the outline-color, we should always use initial value. */
728 /* hidden elements */
729 base
, basefont
, datalist
, head
, meta
, script
, style
, title
,
735 /* Don't give it frames other than its imageframe */
736 display: none
! important
;
740 video
> xul|videocontrols
, audio
> xul|videocontrols
{
742 -moz-box-orient: vertical
;
743 -moz-binding: url
("chrome://global/content/bindings/videocontrols.xml#videoControls");
746 video:not
([controls
]) > xul|videocontrols
,
747 audio:not
([controls
]) > xul|videocontrols
{
751 audio:not
([controls
]) {
755 /* emulation of non-standard HTML <marquee> tag */
757 width: -moz-available
;
758 display: inline-block
;
759 vertical-align: text-bottom
;
761 -moz-binding: url
('chrome://xbl-marquee/content/xbl-marquee.xml#marquee-horizontal');
764 marquee
[direction
="up"], marquee
[direction
="down"] {
765 -moz-binding: url
('chrome://xbl-marquee/content/xbl-marquee.xml#marquee-vertical');
769 /* PRINT ONLY rules follow */
772 marquee
{ -moz-binding: none
; }