mediawiki-extensions-Visual.../demos/ve/demo.css

163 lines
3.1 KiB
CSS
Raw Normal View History

/**
* VisualEditor standalone demo styles.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
body {
margin: 0;
padding: 0;
overflow-y: scroll;
background: #fff;
font: normal 1em/1.5 sans-serif;
}
/* Demo */
.ve-demo-docs {
list-style: none;
margin: 0 0 1em 0;
display: inline-block;
}
.ve-demo-docs li {
list-style: none;
margin: 0 0.75em 0 0;
padding: 0;
display: inline-block;
}
.ve-demo-utilities {
margin: 0 2.5em 1em 2.5em;
border: solid 1px #ccc;
border-top-width: 0;
border-radius: 0.5em;
-webkit-border-top-right-radius: 0;
-moz-border-top-right-radius: 0;
-o-border-top-right-radius: 0;
border-top-right-radius: 0;
-webkit-border-top-left-radius: 0;
-moz-border-top-left-radius: 0;
-o-border-top-left-radius: 0;
border-top-left-radius: 0;
padding: 1em 2em;
font-size: 0.8em;
box-shadow: 0 0.25em 1.5em 0 #ddd;
}
.ve-demo-utilities-commands .ve-ui-widget,
.ve-demo-utilities-commands-divider {
display: inline-block;
margin-right: 1em;
}
Floating toolbar cleanup Objective: Move toolbar floating functionality to ve.init and clean it up As a bonus: demo.css * Fix CSS path to set width of inputs properly Changes: demos/ve/index.php * Allow ve.init.sa.Target to construct it's own surface object ve.ce.Surface.js * Move object resizing and table editing disabling commands from ve.Surface * Add method for getting the currently focused node ve.init.mw.ViewPageTarget.js * Remove initializing surface property (now done in parent class) * Normalize all uses of "setup" to "setUp" * Replace uses of getDocumentModel with getModel().getDocument() * Add calls to set up and tear down for toolbar floating ve.init.mw.Target.js * Replace uses of getDocumentModel with getModel().getDocument() ve.init.sa.Target.js * Move example from ve.Surface * Change constructor to accept document model * Create ve.Surface object in constructor * Add set up for toolbar floating ve.ui.init.Target.js * Initialize surface property * Move and cleanup toolbar floating functionality from ve.Surface ve.ui.Surface.js * Remove example now that init.sa creates it's own surface (moved) * Document options * Simplify toolbar options and remove the concept of multiple toolbars * No longer cache the options object * Move toolbar initialization to constructor * Change setupCommands to addCommands, making it useful after construction * Inline selection initialization * Move and cleanup toolbar floating functionality to ve.ce.Surface * Reorganize a few methods * Move toolbar floating to ve.init.Target.js Change-Id: I393a426e35567d57c048122bf64a83c1ef45e6e8
2013-05-10 00:17:51 +00:00
.ve-demo-utilities-commands .ve-ui-textInputWidget {
width: 4em;
}
.ve-demo-utilities-commands-divider {
border-right: solid 1px #ddd;
padding-left: 0.2em;
width: 0px;
}
.ve-demo-dump {
margin: 2em 0 1.5em 0;
display: none;
border: none;
background-color: #f3f3f3;
width: 100%;
font-size: 0.9em;
border: solid 1px #ddd;
border-radius: 0;
-webkit-border-top-right-radius: 0.25em;
-moz-border-top-right-radius: 0.25em;
-o-border-top-right-radius: 0.25em;
border-top-right-radius: 0.25em;
-webkit-border-top-left-radius: 0.25em;
-moz-border-top-left-radius: 0.25em;
-o-border-top-left-radius: 0.25em;
border-top-left-radius: 0.25em;
}
.ve-demo-dump td {
padding: 0.25em 1em;
background-color: #fff;
}
.ve-demo-dump th {
padding: 0.5em 1em;
color: #555;
text-shadow: 0 1px 1px #fff;
}
.ve-demo-dump ol {
padding-left: 1.5em;
color: #999;
}
.ve-demo-dump li > span {
display: inline-block;
background-color: #f3f3f3;
border-radius: 0.3em;
margin: 0.25em 0 0.25em 0;
padding: 0.125em 0.5em;
text-shadow: 0 1px 1px #fff;
color: #000;
}
.ve-demo-dump li > span > span {
color: #aaa;
text-shadow: 0 1px 1px #fff;
}
.ve-demo-dump li .ve-demo-dump-element {
background-color: #ddeeff;
}
.ve-demo-dump li .ve-demo-dump-char {
background-color: #ddffee;
}
.ve-demo-dump li .ve-demo-dump-achar {
background-color: #ffeedd;
}
/* Editor */
.ve-ui-surface {
margin: 2em 2em 0 2em;
margin-top: 0;
Kranitor #3: jQuerlyfornication ft. The Cascaders * Classicifation (JS) Use addClass instead of attr( 'class' ) whenever possible. addClass will manipulate the properties directly instead of (re-)setting an attribute which (most) browsers then sync with the properties. Difference between: elem.className and elem.setAttribute( 'class', .. ); Just like .checked, .value, .disabled and other interactive properties, the HTML attributes should only be used for initial values from the html document. When in javascript, only set properties. Attributes are either ignored or slow. * Styling (JS) Use .css() instead of attr( 'style' ). Again, setting properties instead of attributes is much faster, easier and safer. And this way it takes care of cross-browser issues where applicable, and less prone to error due to dealing with key-value pairs instead of css strings. Difference between: elem.style.foo = 'bar'; and elem.setAttribute( 'style', 'foo: bar;' ); * Finding (JS) Use .find( 'foo bar' ) instead of .find( 'foo' ).find( 'bar' ). It is CSS! * Vendor prefixes (CSS) It is important to always list newer (standards-compliant) versions *after* the older/prefixed variants. See also http://css-tricks.com/ordering-css3-properties/ So the following three: -webkit-gradient (Chrome, Safari 4) -webkit-linear-gradient (Chrome 10, Safari 5+) linear-gradient (CSS3 standard) ... must be in that order. Notes: - "-moz-opacity" is from before Mozilla 1.7 (Firefox < 0.8) Has not been renamed to "opacity" since Firefox 0.9. - Removed redundant "-moz-opacity" - Added "filter: alpha(opacity=**);" where missing - Fixed order of css3 properties (old to new) - Add standardized css3 versions where missing (some 'border-radius' groups didn't have the non-prefixed version) - Spacing - @embed - Shorten hex colors where possible (#dddddd -> #ddd) $ ack '#([0-9a-f])\1{5}' --css $ ack '#([0-9a-f])\1{2};' --css Change-Id: I386fedb9058c2567fd0af5f55291e9859a53329d
2012-07-28 19:15:23 +00:00
box-shadow: 0 0.25em 1.5em 0 #ddd;
border-radius: 0.5em;
}
.ve-ce-documentNode {
Kranitor #3: jQuerlyfornication ft. The Cascaders * Classicifation (JS) Use addClass instead of attr( 'class' ) whenever possible. addClass will manipulate the properties directly instead of (re-)setting an attribute which (most) browsers then sync with the properties. Difference between: elem.className and elem.setAttribute( 'class', .. ); Just like .checked, .value, .disabled and other interactive properties, the HTML attributes should only be used for initial values from the html document. When in javascript, only set properties. Attributes are either ignored or slow. * Styling (JS) Use .css() instead of attr( 'style' ). Again, setting properties instead of attributes is much faster, easier and safer. And this way it takes care of cross-browser issues where applicable, and less prone to error due to dealing with key-value pairs instead of css strings. Difference between: elem.style.foo = 'bar'; and elem.setAttribute( 'style', 'foo: bar;' ); * Finding (JS) Use .find( 'foo bar' ) instead of .find( 'foo' ).find( 'bar' ). It is CSS! * Vendor prefixes (CSS) It is important to always list newer (standards-compliant) versions *after* the older/prefixed variants. See also http://css-tricks.com/ordering-css3-properties/ So the following three: -webkit-gradient (Chrome, Safari 4) -webkit-linear-gradient (Chrome 10, Safari 5+) linear-gradient (CSS3 standard) ... must be in that order. Notes: - "-moz-opacity" is from before Mozilla 1.7 (Firefox < 0.8) Has not been renamed to "opacity" since Firefox 0.9. - Removed redundant "-moz-opacity" - Added "filter: alpha(opacity=**);" where missing - Fixed order of css3 properties (old to new) - Add standardized css3 versions where missing (some 'border-radius' groups didn't have the non-prefixed version) - Spacing - @embed - Shorten hex colors where possible (#dddddd -> #ddd) $ ack '#([0-9a-f])\1{5}' --css $ ack '#([0-9a-f])\1{2};' --css Change-Id: I386fedb9058c2567fd0af5f55291e9859a53329d
2012-07-28 19:15:23 +00:00
border: solid 1px #ccc;
border-top: none;
padding: 0.75em 1.5em;
}
.ve-init-sa-target-toolbar {
margin: 0 2em;
}
.ve-init-sa-target-toolbar .ve-ui-toolbar-bar {
Kranitor #3: jQuerlyfornication ft. The Cascaders * Classicifation (JS) Use addClass instead of attr( 'class' ) whenever possible. addClass will manipulate the properties directly instead of (re-)setting an attribute which (most) browsers then sync with the properties. Difference between: elem.className and elem.setAttribute( 'class', .. ); Just like .checked, .value, .disabled and other interactive properties, the HTML attributes should only be used for initial values from the html document. When in javascript, only set properties. Attributes are either ignored or slow. * Styling (JS) Use .css() instead of attr( 'style' ). Again, setting properties instead of attributes is much faster, easier and safer. And this way it takes care of cross-browser issues where applicable, and less prone to error due to dealing with key-value pairs instead of css strings. Difference between: elem.style.foo = 'bar'; and elem.setAttribute( 'style', 'foo: bar;' ); * Finding (JS) Use .find( 'foo bar' ) instead of .find( 'foo' ).find( 'bar' ). It is CSS! * Vendor prefixes (CSS) It is important to always list newer (standards-compliant) versions *after* the older/prefixed variants. See also http://css-tricks.com/ordering-css3-properties/ So the following three: -webkit-gradient (Chrome, Safari 4) -webkit-linear-gradient (Chrome 10, Safari 5+) linear-gradient (CSS3 standard) ... must be in that order. Notes: - "-moz-opacity" is from before Mozilla 1.7 (Firefox < 0.8) Has not been renamed to "opacity" since Firefox 0.9. - Removed redundant "-moz-opacity" - Added "filter: alpha(opacity=**);" where missing - Fixed order of css3 properties (old to new) - Add standardized css3 versions where missing (some 'border-radius' groups didn't have the non-prefixed version) - Spacing - @embed - Shorten hex colors where possible (#dddddd -> #ddd) $ ack '#([0-9a-f])\1{5}' --css $ ack '#([0-9a-f])\1{2};' --css Change-Id: I386fedb9058c2567fd0af5f55291e9859a53329d
2012-07-28 19:15:23 +00:00
border: solid 1px #ccc;
border-radius: 0;
-webkit-border-top-right-radius: 0.25em;
-moz-border-top-right-radius: 0.25em;
-o-border-top-right-radius: 0.25em;
border-top-right-radius: 0.25em;
-webkit-border-top-left-radius: 0.25em;
-moz-border-top-left-radius: 0.25em;
-o-border-top-left-radius: 0.25em;
border-top-left-radius: 0.25em;
}
.ve-init-sa-target-toolbar.ve-ui-toolbar-floating .ve-ui-toolbar-bar {
border-top: none;
border-radius: 0;
}