1 |
/* |
2 |
* HTML5 Boilerplate |
3 |
* |
4 |
* What follows is the result of much research on cross-browser styling. |
5 |
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, |
6 |
* Kroc Camen, and the H5BP dev community and team. |
7 |
*/ |
8 |
|
9 |
/* ========================================================================== |
10 |
Base styles: opinionated defaults |
11 |
========================================================================== */ |
12 |
|
13 |
html, |
14 |
button, |
15 |
input, |
16 |
select, |
17 |
textarea { |
18 |
color: #222; |
19 |
} |
20 |
|
21 |
body { |
22 |
font-size: 1em; |
23 |
line-height: 1.4; |
24 |
} |
25 |
|
26 |
/* |
27 |
* Remove text-shadow in selection highlight: h5bp.com/i |
28 |
* These selection declarations have to be separate. |
29 |
* Customize the background color to match your design. |
30 |
*/ |
31 |
|
32 |
::-moz-selection { |
33 |
background: #b3d4fc; |
34 |
text-shadow: none; |
35 |
} |
36 |
|
37 |
::selection { |
38 |
background: #b3d4fc; |
39 |
text-shadow: none; |
40 |
} |
41 |
|
42 |
/* |
43 |
* A better looking default horizontal rule |
44 |
*/ |
45 |
|
46 |
hr { |
47 |
display: block; |
48 |
height: 1px; |
49 |
border: 0; |
50 |
border-top: 1px solid #ccc; |
51 |
margin: 1em 0; |
52 |
padding: 0; |
53 |
} |
54 |
|
55 |
/* |
56 |
* Remove the gap between images and the bottom of their containers: h5bp.com/i/440 |
57 |
*/ |
58 |
|
59 |
img { |
60 |
vertical-align: middle; |
61 |
} |
62 |
|
63 |
/* |
64 |
* Remove default fieldset styles. |
65 |
*/ |
66 |
|
67 |
fieldset { |
68 |
border: 0; |
69 |
margin: 0; |
70 |
padding: 0; |
71 |
} |
72 |
|
73 |
/* |
74 |
* Allow only vertical resizing of textareas. |
75 |
*/ |
76 |
|
77 |
textarea { |
78 |
resize: vertical; |
79 |
} |
80 |
|
81 |
/* ========================================================================== |
82 |
Chrome Frame prompt |
83 |
========================================================================== */ |
84 |
|
85 |
.chromeframe { |
86 |
margin: 0.2em 0; |
87 |
background: #ccc; |
88 |
color: #000; |
89 |
padding: 0.2em 0; |
90 |
} |
91 |
|
92 |
/* ========================================================================== |
93 |
Author's custom styles |
94 |
========================================================================== */ |
95 |
|
96 |
|
97 |
|
98 |
/* ========================================================================== |
99 |
Helper classes |
100 |
========================================================================== */ |
101 |
|
102 |
/* |
103 |
* Image replacement |
104 |
*/ |
105 |
|
106 |
.ir { |
107 |
background-color: transparent; |
108 |
border: 0; |
109 |
overflow: hidden; |
110 |
/* IE 6/7 fallback */ |
111 |
*text-indent: -9999px; |
112 |
} |
113 |
|
114 |
.ir:before { |
115 |
content: ""; |
116 |
display: block; |
117 |
width: 0; |
118 |
height: 100%; |
119 |
} |
120 |
|
121 |
/* |
122 |
* Hide from both screenreaders and browsers: h5bp.com/u |
123 |
*/ |
124 |
|
125 |
.hidden { |
126 |
display: none !important; |
127 |
visibility: hidden; |
128 |
} |
129 |
|
130 |
/* |
131 |
* Hide only visually, but have it available for screenreaders: h5bp.com/v |
132 |
*/ |
133 |
|
134 |
.visuallyhidden { |
135 |
border: 0; |
136 |
clip: rect(0 0 0 0); |
137 |
height: 1px; |
138 |
margin: -1px; |
139 |
overflow: hidden; |
140 |
padding: 0; |
141 |
position: absolute; |
142 |
width: 1px; |
143 |
} |
144 |
|
145 |
/* |
146 |
* Extends the .visuallyhidden class to allow the element to be focusable |
147 |
* when navigated to via the keyboard: h5bp.com/p |
148 |
*/ |
149 |
|
150 |
.visuallyhidden.focusable:active, |
151 |
.visuallyhidden.focusable:focus { |
152 |
clip: auto; |
153 |
height: auto; |
154 |
margin: 0; |
155 |
overflow: visible; |
156 |
position: static; |
157 |
width: auto; |
158 |
} |
159 |
|
160 |
/* |
161 |
* Hide visually and from screenreaders, but maintain layout |
162 |
*/ |
163 |
|
164 |
.invisible { |
165 |
visibility: hidden; |
166 |
} |
167 |
|
168 |
/* |
169 |
* Clearfix: contain floats |
170 |
* |
171 |
* For modern browsers |
172 |
* 1. The space content is one way to avoid an Opera bug when the |
173 |
* `contenteditable` attribute is included anywhere else in the document. |
174 |
* Otherwise it causes space to appear at the top and bottom of elements |
175 |
* that receive the `clearfix` class. |
176 |
* 2. The use of `table` rather than `block` is only necessary if using |
177 |
* `:before` to contain the top-margins of child elements. |
178 |
*/ |
179 |
|
180 |
.clearfix:before, |
181 |
.clearfix:after { |
182 |
content: " "; /* 1 */ |
183 |
display: table; /* 2 */ |
184 |
} |
185 |
|
186 |
.clearfix:after { |
187 |
clear: both; |
188 |
} |
189 |
|
190 |
/* |
191 |
* For IE 6/7 only |
192 |
* Include this rule to trigger hasLayout and contain floats. |
193 |
*/ |
194 |
|
195 |
.clearfix { |
196 |
*zoom: 1; |
197 |
} |
198 |
|
199 |
/* ========================================================================== |
200 |
EXAMPLE Media Queries for Responsive Design. |
201 |
Theses examples override the primary ('mobile first') styles. |
202 |
Modify as content requires. |
203 |
========================================================================== */ |
204 |
|
205 |
@media only screen and (min-width: 35em) { |
206 |
/* Style adjustments for viewports that meet the condition */ |
207 |
} |
208 |
|
209 |
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), |
210 |
only screen and (min-resolution: 144dpi) { |
211 |
/* Style adjustments for high resolution devices */ |
212 |
} |
213 |
|
214 |
/* ========================================================================== |
215 |
Print styles. |
216 |
Inlined to avoid required HTTP connection: h5bp.com/r |
217 |
========================================================================== */ |
218 |
|
219 |
@media print { |
220 |
* { |
221 |
background: transparent !important; |
222 |
color: #000 !important; /* Black prints faster: h5bp.com/s */ |
223 |
box-shadow:none !important; |
224 |
text-shadow: none !important; |
225 |
} |
226 |
|
227 |
a, |
228 |
a:visited { |
229 |
text-decoration: underline; |
230 |
} |
231 |
|
232 |
a[href]:after { |
233 |
content: " (" attr(href) ")"; |
234 |
} |
235 |
|
236 |
abbr[title]:after { |
237 |
content: " (" attr(title) ")"; |
238 |
} |
239 |
|
240 |
/* |
241 |
* Don't show links for images, or javascript/internal links |
242 |
*/ |
243 |
|
244 |
.ir a:after, |
245 |
a[href^="javascript:"]:after, |
246 |
a[href^="#"]:after { |
247 |
content: ""; |
248 |
} |
249 |
|
250 |
pre, |
251 |
blockquote { |
252 |
border: 1px solid #999; |
253 |
page-break-inside: avoid; |
254 |
} |
255 |
|
256 |
thead { |
257 |
display: table-header-group; /* h5bp.com/t */ |
258 |
} |
259 |
|
260 |
tr, |
261 |
img { |
262 |
page-break-inside: avoid; |
263 |
} |
264 |
|
265 |
img { |
266 |
max-width: 100% !important; |
267 |
} |
268 |
|
269 |
@page { |
270 |
margin: 0.5cm; |
271 |
} |
272 |
|
273 |
p, |
274 |
h2, |
275 |
h3 { |
276 |
orphans: 3; |
277 |
widows: 3; |
278 |
} |
279 |
|
280 |
h2, |
281 |
h3 { |
282 |
page-break-after: avoid; |
283 |
} |
284 |
} |