gecko/layout/style/ua.css

292 lines
7.2 KiB
CSS
Raw Normal View History

2012-05-21 04:12:37 -07:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@import url(resource://gre-resources/html.css);
@import url(chrome://global/content/xul.css);
@namespace parsererror url(http://www.mozilla.org/newlayout/xml/parsererror.xml);
@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
/* magic -- some of these rules are important to keep pages from overriding
them
*/
/* Tables */
*|*::-moz-table {
display: table !important;
box-sizing: border-box; /* XXX do we really want this? */
}
*|*::-moz-inline-table {
display: inline-table !important;
box-sizing: border-box; /* XXX do we really want this? */
}
*|*::-moz-table-outer {
display: inherit !important; /* table or inline-table */
Bug 659828 - Part 1: Apply table margins to the outer table frame instead of the inner table frame (also fixes bug 87277); r=dbaron Outer table frames act as CSS2.1 table wrapper boxes. We used to lay them out without taking their margins into the account, which meant that their width was always equal to the available width. This breaks horizontal positioning of absolutely positioned kids of a table frame. The main purpose of this patch is to apply the margins of tables to their outer frame, instead of the inner frame. This means that the inner table frame will always have a zero margin, which means that a lot of the stuff which used to rely on the fact that table margins are applied to the inner frame need to change. In particular, in order to get the computed margins of a table, we used to query the inner table frame, and this patch corrects that. Also, when shrink wrapping tables, we used to not take the margins of the inner table frame into account, which is fixed by this patch too. nsBlockReflowState:: ComputeReplacedBlockOffsetsForFloats also needed to be changed to read the margin values from the outer frame too. Also, as part of this patch, we start to respect the CSS2.1 margin model for captions on all sides. This means that in particular, the top/bottom margins on the top-outside and bottom-outside captions will not be collapsed with the top/bottom margins of the table, and that the margins of the caption element contribute to the width and height of the outer table frame. The 427129-table-caption reftest has been modified to match this new behavior. Another side effect of this bug is fixing bug 87277, and the reftests for that bug are marked as passing in this patch.
2011-05-31 16:02:56 -07:00
margin: inherit ! important;
padding: 0 ! important;
border: none ! important;
float: inherit;
clear: inherit;
position: inherit;
top: inherit;
right: inherit;
bottom: inherit;
left: inherit;
z-index: inherit;
page-break-before: inherit;
page-break-after: inherit;
page-break-inside: inherit;
vertical-align: inherit; /* needed for inline-table */
line-height: inherit; /* needed for vertical-align on inline-table */
align-self: inherit; /* needed for "align-self" to work on table flex items */
order: inherit; /* needed for "order" to work on table flex items */
/* Bug 722777 */
-moz-transform: inherit;
-moz-transform-origin: inherit;
/* Bug 724750 */
-moz-backface-visibility: inherit;
clip: inherit;
}
*|*::-moz-table-row {
display: table-row !important;
}
/* The ::-moz-table-column pseudo-element is for extra columns at the end
of a table. */
*|*::-moz-table-column {
display: table-column !important;
}
*|*::-moz-table-column-group {
display: table-column-group !important;
}
*|*::-moz-table-row-group {
display: table-row-group !important;
}
*|*::-moz-table-cell {
display: table-cell !important;
white-space: inherit;
}
/* Lists */
*|*::-moz-list-bullet, *|*::-moz-list-number {
display: inline;
vertical-align: baseline;
/* Note that this padding is suppressed for some CJK numbering styles;
* see bug 934072 */
-moz-padding-end: 0.5em;
}
/* Links */
*|*:-moz-any-link {
cursor: pointer;
}
*|*:-moz-any-link:-moz-focusring {
/* Don't specify the outline-color, we should always use initial value. */
outline: 1px dotted;
}
/* Miscellaneous */
*|*::-moz-anonymous-block, *|*::-moz-cell-content {
display: block !important;
position: static !important;
unicode-bidi: inherit;
text-overflow: inherit;
overflow-clip-box: inherit;
}
*|*::-moz-anonymous-block, *|*::-moz-anonymous-positioned-block {
/* we currently inherit from the inline that is split */
outline: inherit;
outline-offset: inherit;
clip-path: inherit;
filter: inherit;
mask: inherit;
opacity: inherit;
text-decoration: inherit;
-moz-box-ordinal-group: inherit !important;
overflow-clip-box: inherit;
}
*|*::-moz-xul-anonymous-block {
display: block ! important;
position: static ! important;
float: none ! important;
-moz-box-ordinal-group: inherit !important;
text-overflow: inherit;
overflow-clip-box: inherit;
}
*|*::-moz-scrolled-content, *|*::-moz-scrolled-canvas,
*|*::-moz-scrolled-page-sequence {
/* e.g., text inputs, select boxes */
padding: inherit;
/* The display doesn't affect the kind of frame constructed here. This just
affects auto-width sizing of the block we create. */
display: block;
-moz-box-orient: inherit;
/* make unicode-bidi inherit, otherwise it has no effect on text inputs and
blocks with overflow: scroll; */
unicode-bidi: inherit;
text-overflow: inherit;
-moz-column-count: inherit;
-moz-column-width: inherit;
-moz-column-gap: inherit;
-moz-column-rule: inherit;
/* CSS3 flexbox properties that apply to the flex container: */
align-content: inherit;
align-items: inherit;
flex-direction: inherit;
flex-wrap: inherit;
justify-content: inherit;
/* Do not change these. nsCSSFrameConstructor depends on them to create a good
frame tree. */
position: static !important;
float: none !important;
overflow-clip-box: inherit;
}
*|*::-moz-viewport, *|*::-moz-viewport-scroll, *|*::-moz-canvas, *|*::-moz-scrolled-canvas {
display: block !important;
background-color: inherit;
}
*|*::-moz-viewport-scroll {
overflow: auto;
%ifdef XP_WIN
resize: both;
%endif
}
*|*::-moz-column-content {
/* the column boxes inside a column-flowed block */
/* make unicode-bidi inherit, otherwise it has no effect on column boxes */
unicode-bidi: inherit;
text-overflow: inherit;
/* inherit the outer frame's display, otherwise we turn into an inline */
display: inherit !important;
/* Carry through our parent's height so that %-height children get
their heights set */
height: 100%;
}
*|*::-moz-anonymous-flex-item,
*|*::-moz-anonymous-grid-item {
/* Anonymous blocks that wrap contiguous runs of text
* inside of a flex or grid container. */
display: block;
}
*|*::-moz-page-sequence, *|*::-moz-scrolled-page-sequence {
/* Collection of pages in print/print preview. Visual styles may only appear
* in print preview. */
display: block !important;
background: linear-gradient(#606060, #8a8a8a) fixed;
height: 100%;
}
*|*::-moz-page {
/* Individual page in print/print preview. Visual styles may only appear
* in print preview. */
display: block !important;
background: white;
box-shadow: 5px 5px 8px #202020;
margin: 0.125in 0.25in;
}
*|*::-moz-pagecontent {
display: block !important;
margin: auto;
}
*|*::-moz-pagebreak {
display: block !important;
}
*|*::-moz-anonymous-positioned-block {
display: block !important;
position: inherit; /* relative or sticky */
top: inherit;
left: inherit;
bottom: inherit;
right: inherit;
z-index: inherit;
clip: inherit;
opacity: inherit;
unicode-bidi: inherit;
text-overflow: inherit;
}
/* Printing */
@media print {
* {
cursor: default !important;
}
}
*|*:not(:root):-moz-full-screen {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
z-index: 2147483647 !important;
background: black;
width: 100% !important;
height: 100% !important;
margin: 0 !important;
min-width: 0 !important;
max-width: none !important;
min-height: 0 !important;
max-height: none !important;
box-sizing: border-box !important;
}
/* If there is a full-screen element that is not the root then
we should hide the viewport scrollbar. We exclude the chrome
document to prevent reframing of contained plugins. */
:not(xul|*):root:-moz-full-screen-ancestor {
overflow: hidden !important;
}
/* XML parse error reporting */
parsererror|parsererror {
display: block;
font-family: sans-serif;
font-weight: bold;
white-space: pre;
margin: 1em;
padding: 1em;
border-width: thin;
border-style: inset;
border-color: red;
font-size: 14pt;
background-color: lightyellow;
}
parsererror|sourcetext {
display: block;
white-space: pre;
font-family: -moz-fixed;
margin-top: 2em;
margin-bottom: 1em;
color: red;
font-weight: bold;
font-size: 12pt;
}