1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
/* IVLE - Informatics Virtual Learning Environment
* Copyright (C) 2007-2008 The University of Melbourne
* Common Style Sheet
* This file is redistributable under the terms of the GNU General Public
* License version 2 or later.
*/
/** Generic styling **/
html, body {
margin: 0;
padding: 0;
background-color: white;
color: black;
font-family: sans-serif;
font-size: 0.95em;
}
a:link, a:visited {
color: navy;
}
a:hover, a:active, a:focus {
color: blue;
}
.error {
color: #a00;
}
/** Special styles for header section **/
#ivleheader {
position: absolute;
background-color: #fea;
padding: 0;
border-bottom: 1px solid black;
/* IMPORTANT: This 5.3em is hard-coded elsewhere in this file. Search for
* #ivleheader.height to update it. */
height: 5.3em;
left: 0;
right: 0;
z-index: 1; /* Background to all, but the body */
}
#ivleheader_text {
/* Pad left and right. */
position: absolute;
padding: 0 1em;
left: 0;
right: 0;
z-index: 3; /* In front */
}
/* Special "IVLE" and "Informatics Virtual Learning Environment" titles */
#ivleheader_text h1 {
position: absolute;
text-align: left;
font-size: 3.8em;
font-style: italic;
color: #ffc;
margin: 0;
padding: 0;
}
#ivleheader_text h2 {
position: absolute;
text-align: left;
font-size: 1.3em;
margin-top: 1em;
margin-bottom: 1em;
padding: 0;
}
/* Note: The body has NO PADDING by default (unlike plain HTML).
* This is because almost all of the apps need this behaviour.
* If a particular app needs padding, it should manually wrap all of its
* output in a <div id="ivle_padding">.
*/
#ivlebody {
/* This is positioned absolutely so that its content can be positioned
* absolutely as well, and so height: 100% really means it. */
position: absolute;
top: 5.3em; /* == #ivleheader.height */
bottom: 0;
width: 100%;
z-index: 0; /* Behind header */
}
/* Apps can optionally have a <div id="ivle_padding"> as the outermost
* element, if 1em of padding is desired (otherwise there will be no padding).
*/
#ivle_padding {
padding: 1em;
}
p.userhello {
font-size: .8em;
top: 0;
text-align: right;
padding: 11px 0;
margin: 0;
}
p.userhello .username {
font-weight: bold;
}
/* The tabs bar is positioned absolutely, unlike the other header content.
* This allows it to be aligned exactly with the bottom of the header bar.
*/
#ivleheader_tabs {
position: absolute;
height: 5.3em; /* == #ivleheader.height */
top: 0;
left: 0;
right: 0;
width: 100%;
padding: 0;
margin: 0;
z-index: 2; /* In front of background, behind text */
}
#ivleheader_tabs p {
/* This allows for a single paragraph, currently used to display a warning
* about Debuginfo */
position: absolute;
left: 1em;
bottom: 0.5em;
margin: 0;
}
/* The apptabs ul is aligned to the bottom of #ivleheader_tabs */
ul#apptabs {
position: absolute;
text-align: right;
bottom: 0;
right: 1em; /* == #ivleheader.padding-right */
padding: 0;
margin: 0;
}
ul#apptabs li {
display: inline;
padding: 3px;
border: 1px solid black;
background-color: #fc6;
padding: 0 3px;
}
ul#apptabs li:hover {
background-color: #fd8;
}
/* Currently active app tab */
ul#apptabs li.thisapp {
background-color: white;
border-bottom: 1px solid white;
}
ul#apptabs a {
color: navy; /* Text colour not to change */
text-decoration: none;
}
|