You are an anonymous user who can't edit RoboWiki.
Log in if you already have an account. If you would like to become an editor for the wiki, request an account.

Difference between revisions of "MediaWiki:Common.css"

From RoboWiki
Jump to navigation Jump to search
(Add dynamic nav bars for chart extension.)
(Add pager-notice and page-warning.)
Line 64: Line 64:
 
.infobox.bordered .borderless th {
 
.infobox.bordered .borderless th {
 
border:0;
 
border:0;
 +
}
 +
 +
/* Page headings used throughout the wiki (though not very much at the time of writing…) */
 +
.page-notice, .page-warning {
 +
border-width: 1px;
 +
border-style: solid;
 +
padding: 0.3em 0.5em;
 +
margin-bottom: 1em;
 +
width: 95%;
 +
margin-left: auto;
 +
margin-right: auto;
 +
text-align: center;
 +
}
 +
 +
/* Informative notices at the top of pages (blue) */
 +
.page-notice {
 +
background-color: #f9f9f9;
 +
border-color: #025e9d;
 +
text-align: left;
 +
}
 +
 +
/* Warning information at the top of pages (red) */
 +
.page-warning {
 +
background-color: #ffffff;
 +
border-color: #c51919;
 +
border-width: 2px;
 
}
 
}
  

Revision as of 12:32, 24 February 2010

/*******************
** Table formatting
*******************/
table.wikitable,
table.prettytable {
	margin:1em 1em 1em 0;
	border:1px solid #AAA;
	border-collapse:collapse;
	background:#F9F9F9;
}
 
table.wikitable th, table.wikitable td,
table.prettytable th, table.prettytable td {
	padding:0.2em;
	border:1px solid #AAA;
}
 
table.wikitable th,
table.prettytable th {
	background:#F2F2F2;
	text-align:center;
}
 
table.wikitable caption,
table.prettytable caption {
	margin-left:inherit;
	margin-right:inherit;
}
 
/*******************
** Infoboxes
*******************/
.infobox {
	float:right;
	clear:right;
	margin-bottom:0.5em;
	margin-left:1em;
	padding:0.2em;
	border:1px solid #AAA;
	background:#F9F9F9;
	color:black;
}
 
.infobox td,
.infobox th {
	vertical-align:top;
}
 
.infobox caption {
	margin-left:inherit;
	font-size:larger;
}
 
.infobox.bordered {
	border-collapse:collapse;
}
 
.infobox.bordered td,
.infobox.bordered th {
	border:1px solid #AAA;
}
 
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
	border:0;
}

/* Page headings used throughout the wiki (though not very much at the time of writing…) */ 
.page-notice, .page-warning {
	border-width: 1px; 
	border-style: solid;
	padding: 0.3em 0.5em;
	margin-bottom: 1em;
	width: 95%; 
	margin-left: auto; 
	margin-right: auto; 
	text-align: center;
}
 
/* Informative notices at the top of pages (blue) */
.page-notice {
	background-color: #f9f9f9;
	border-color: #025e9d; 
	text-align: left;
}
 
/* Warning information at the top of pages (red) */
.page-warning {
	background-color: #ffffff;
	border-color: #c51919;
	border-width: 2px;
}

/** Dynamic Navigation Bars (experimental) *************************************
 *
 *  Description: See [[Wikipedia:NavFrame]].
 *  Maintainers: UNMAINTAINED
 */
 
// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
 
// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
    if (!NavFrame || !NavToggle) {
        return false;
    }
 
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if (hasClass(NavChild, 'NavContent') || hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
 
    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if (hasClass(NavChild, 'NavContent') || hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
        }
        NavToggle.firstChild.data = NavigationBarHide;
    }
}
 
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
    var indexNavigationBar = 0;
    // iterate over all < div >-elements 
    var divs = document.getElementsByTagName("div");
    for (var i = 0; NavFrame = divs[i]; i++) {
        // if found a navigation bar
        if (hasClass(NavFrame, "NavFrame")) {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 
            var isCollapsed = hasClass( NavFrame, "collapsed" );
            /*
             * Check if any children are already hidden.  This loop is here for backwards compatibility:
             * the old way of making NavFrames start out collapsed was to manually add style="display:none"
             * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
             * the content visible without JavaScript support), the new recommended way is to add the class
             * "collapsed" to the NavFrame itself, just like with collapsible tables.
             */
            for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
                if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                    if ( NavChild.style.display == 'none' ) {
                        isCollapsed = true;
                    }
                }
            }
            if (isCollapsed) {
                for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
                    if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                        NavChild.style.display = 'none';
                    }
                }
            }
            var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
 
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(var j=0; j < NavFrame.childNodes.length; j++) {
                if (hasClass(NavFrame.childNodes[j], "NavHead")) {
                    NavFrame.childNodes[j].appendChild(NavToggle);
                }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
}
 
addOnloadHook( createNavigationBarToggleButton );