blob: 2aa4767ac3a4617e7f3e8eb1d746ed4cc74ff58a [file] [log] [blame]
/*
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
/*
* Cross-browser implementation of the "display: inline-block" CSS property.
* See http://www.w3.org/TR/CSS21/visuren.html#propdef-display for details.
* Tested on IE 6 & 7, FF 2.0 & 3.0, Safari 2 & 3, Webkit, Chrome and Opera 9.
*
* Original author: attila@google.com (Attila Bodis)
*/
/*
* Firefox hack is needed for versions < FF3. But since the user.agent property
* does not allow us to specify directly for (versions < FF3), we will need to
* use the following two rules to workaround.
*/
/* Firefox versions >= FF 1.5 */
@if user.agent gecko1_8 {
.inlineBlock {
/*
* Note on funny syntax: what we really need is this: "display: -moz-inline-box;"
* but "\\" is needed to make GWT's CssResource escape the "-" character properly.
*/
display: \\-moz-inline-box; /* This is ignored by FF3 and later*/
}
}
/* Default rule; only Safari, Webkit, Opera, FF3 handle it without hacks. */
.inlineBlock {
position: relative;
display: inline-block;
}
/*
* IE specific rules (for IE version IE6/7)
* On IE, "display: inline-block" only gives the element layout, but doesn't
* give it inline behavior. Subsequently setting display to inline does the
* trick.
*/
@if user.agent ie6 {
.inlineBlock {
/* workaround to make IE "hasLayout" */
zoom: 1;
display: inline;
}
}