tangled
alpha
login
or
join now
devins.page
/
dev.css
tiny, simple, classless CSS framework inspired by new.css
devcss.devins.page
framework
lightweight
css
classless
stylesheet
1
fork
atom
overview
issues
pulls
pipelines
feat: css and demo files
devins.page
2 years ago
9216b323
8b875203
+688
2 changed files
expand all
collapse all
unified
split
demo.html
dev.css
+250
demo.html
···
1
1
+
<!DOCTYPE html>
2
2
+
<html lang="en">
3
3
+
<head>
4
4
+
<meta charset="UTF-8" />
5
5
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
+
<title>dev.css Demo</title>
7
7
+
<link rel="stylesheet" href="dev.css" />
8
8
+
</head>
9
9
+
<body>
10
10
+
<header>
11
11
+
<h1>dev.css Demo</h1>
12
12
+
<nav>
13
13
+
<a>Home</a> / <a>About</a> / <a>Portfolio</a> / <a>Awesome</a> /
14
14
+
<a>Sauce</a>
15
15
+
</nav>
16
16
+
</header>
17
17
+
18
18
+
<h1>Heading 1</h1>
19
19
+
<p>
20
20
+
This is paragraph text. Lorem ipsum dolor sit amet consectetur adipisicing
21
21
+
elit.
22
22
+
</p>
23
23
+
<h2>Heading 2</h2>
24
24
+
<p>
25
25
+
This is paragraph text. Lorem ipsum dolor sit amet consectetur adipisicing
26
26
+
elit.
27
27
+
</p>
28
28
+
<h3>Heading 3</h3>
29
29
+
<p>
30
30
+
This is paragraph text. Lorem ipsum dolor sit amet consectetur adipisicing
31
31
+
elit.
32
32
+
</p>
33
33
+
<h4>Heading 4</h4>
34
34
+
<p>
35
35
+
This is paragraph text. Lorem ipsum dolor sit amet consectetur adipisicing
36
36
+
elit.
37
37
+
</p>
38
38
+
<h5>Heading 5</h5>
39
39
+
<p>
40
40
+
This is paragraph text. Lorem ipsum dolor sit amet consectetur adipisicing
41
41
+
elit.
42
42
+
</p>
43
43
+
<h6>Heading 6</h6>
44
44
+
<p>
45
45
+
This is paragraph text. Lorem ipsum dolor sit amet consectetur adipisicing
46
46
+
elit.
47
47
+
</p>
48
48
+
49
49
+
<br />
50
50
+
<hr />
51
51
+
<br />
52
52
+
53
53
+
<p>
54
54
+
Lorem <mark>ipsum</mark> dolor sit amet
55
55
+
<strong>consectetur</strong> adipisicing elit. Aut
56
56
+
<i>harum molestias</i> labore amet possimus
57
57
+
<s>exercitationem aperiam</s> earum, doloribus
58
58
+
<u>nobis ducimus</u> maiores quia voluptates quis omnis molestiae
59
59
+
quisquam. <a href="#">Voluptatibus, officiis laudantium?</a>
60
60
+
</p>
61
61
+
62
62
+
<p>
63
63
+
Lorem ipsum dolor sit amet consectetur adipisicing elit.
64
64
+
<code>Hic culpa, nobis doloremque</code> veniam non, nihil cupiditate odit
65
65
+
repellat est <kbd>ALT + F4</kbd> expedita facilis. Fuga aspernatur, alias
66
66
+
debitis eveniet totam minima vel.
67
67
+
</p>
68
68
+
69
69
+
<ul>
70
70
+
<li>List item</li>
71
71
+
<li>List item</li>
72
72
+
<li>List item</li>
73
73
+
<li>List item</li>
74
74
+
</ul>
75
75
+
76
76
+
<ol>
77
77
+
<li>Step 1</li>
78
78
+
<li>Step 2</li>
79
79
+
<li>????</li>
80
80
+
<li>Profit!</li>
81
81
+
</ol>
82
82
+
83
83
+
<dl>
84
84
+
<dt>Web</dt>
85
85
+
<dd>The part of the Internet that contains websites and web pages</dd>
86
86
+
<dt>HTML</dt>
87
87
+
<dd>A markup language for creating web pages</dd>
88
88
+
<dt>CSS</dt>
89
89
+
<dd>A technology to make HTML look better</dd>
90
90
+
</dl>
91
91
+
92
92
+
<blockquote cite="https://en.wikiquote.org/wiki/Edward_Snowden">
93
93
+
If you think privacy is unimportant for you because you have nothing to
94
94
+
hide, you might as well say free speech is unimportant for you because you
95
95
+
have nothing useful to say.
96
96
+
<br />
97
97
+
<br />
98
98
+
– Edward Snowden
99
99
+
</blockquote>
100
100
+
101
101
+
<pre>
102
102
+
<!DOCTYPE html>
103
103
+
<html>
104
104
+
<head>
105
105
+
<title>Hello World</title>
106
106
+
</head>
107
107
+
<body>
108
108
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
109
109
+
</body>
110
110
+
</html></pre
111
111
+
>
112
112
+
113
113
+
<br />
114
114
+
<hr />
115
115
+
<br />
116
116
+
117
117
+
<table>
118
118
+
<caption>
119
119
+
Ho-kago Tea Time
120
120
+
</caption>
121
121
+
<thead>
122
122
+
<tr>
123
123
+
<th>Name</th>
124
124
+
<th>Instrument</th>
125
125
+
</tr>
126
126
+
</thead>
127
127
+
<tbody>
128
128
+
<tr>
129
129
+
<td>Yui Hirasawa</td>
130
130
+
<td>Lead Guitar</td>
131
131
+
</tr>
132
132
+
<tr>
133
133
+
<td>Mio Akiyama</td>
134
134
+
<td>Bass</td>
135
135
+
</tr>
136
136
+
<tr>
137
137
+
<td>Ritsu Tainaka</td>
138
138
+
<td>Drums</td>
139
139
+
</tr>
140
140
+
<tr>
141
141
+
<td>Tsumugi Kotobuki</td>
142
142
+
<td>Keyboard</td>
143
143
+
</tr>
144
144
+
<tr>
145
145
+
<td>Azusa Nakano</td>
146
146
+
<td>Rhythm Guitar</td>
147
147
+
</tr>
148
148
+
</tbody>
149
149
+
<tfoot>
150
150
+
<tr>
151
151
+
<th>Name</th>
152
152
+
<th>Instrument</th>
153
153
+
</tr>
154
154
+
</tfoot>
155
155
+
</table>
156
156
+
157
157
+
<br />
158
158
+
<hr />
159
159
+
<br />
160
160
+
161
161
+
<form>
162
162
+
<p>
163
163
+
<em>
164
164
+
This is not a real form and does not submit or save any information.
165
165
+
</em>
166
166
+
</p>
167
167
+
<p>
168
168
+
<label>First name</label><br />
169
169
+
<input type="text" name="first_name" />
170
170
+
</p>
171
171
+
<p>
172
172
+
<label>Last name</label><br />
173
173
+
<input type="text" name="last_name" />
174
174
+
</p>
175
175
+
<p>
176
176
+
<label>Gender</label><br />
177
177
+
<label>
178
178
+
<input type="radio" name="gender" value="Male" />
179
179
+
Male
180
180
+
</label>
181
181
+
<br />
182
182
+
<label>
183
183
+
<input type="radio" name="gender" value="Female" />
184
184
+
Female
185
185
+
</label>
186
186
+
<br />
187
187
+
<label>
188
188
+
<input type="radio" name="gender" value="other-none-na" />
189
189
+
Non-binary
190
190
+
</label>
191
191
+
</p>
192
192
+
<p>
193
193
+
<label>Email</label><br />
194
194
+
<input type="email" name="email" required="" />
195
195
+
</p>
196
196
+
<p>
197
197
+
<label>Phone number</label><br />
198
198
+
<input type="tel" name="phone" />
199
199
+
</p>
200
200
+
<p>
201
201
+
<label>Password</label><br />
202
202
+
<input type="password" name="password" />
203
203
+
</p>
204
204
+
<p>
205
205
+
<label>Country</label><br />
206
206
+
<select>
207
207
+
<option>China</option>
208
208
+
<option>India</option>
209
209
+
<option>United States</option>
210
210
+
<option>Indonesia</option>
211
211
+
<option>Brazil</option>
212
212
+
</select>
213
213
+
</p>
214
214
+
<p>
215
215
+
<label>Comments</label><br />
216
216
+
<textarea></textarea>
217
217
+
</p>
218
218
+
<p>
219
219
+
<label>
220
220
+
<input type="checkbox" value="terms" />
221
221
+
I agree to the <a>terms and conditions</a>
222
222
+
</label>
223
223
+
</p>
224
224
+
<p>
225
225
+
<button>Sign up</button>
226
226
+
<button type="reset">Reset form</button>
227
227
+
<button disabled="disabled">Disabled</button>
228
228
+
</p>
229
229
+
</form>
230
230
+
231
231
+
<br />
232
232
+
<hr />
233
233
+
<br />
234
234
+
235
235
+
<img
236
236
+
src="https://elements.xz.style/assets/fuji-daniel-hehn.jpg"
237
237
+
alt="Mt. Fuji"
238
238
+
/>
239
239
+
240
240
+
<p>
241
241
+
Inline image:
242
242
+
<a href="#"
243
243
+
><img
244
244
+
src="https://elements.xz.style/assets/fuji-daniel-hehn.jpg"
245
245
+
width="50"
246
246
+
alt="Mt. Fuji"
247
247
+
/></a>
248
248
+
</p>
249
249
+
</body>
250
250
+
</html>
+438
dev.css
···
1
1
+
:root {
2
2
+
/* Fonts - Geist, Inter, Apple default (Gecko and Blink), Microsoft default, browser default */
3
3
+
--dc-font-sans: "Geist", "Inter", -apple-system, BlinkMacSystemFont,
4
4
+
"Segoe UI", sans-serif;
5
5
+
--dc-font-mono: "Geist Mono", monospace;
6
6
+
/* Light colors */
7
7
+
--dc-tx-1: #000000;
8
8
+
--dc-tx-2: #1a1a1a;
9
9
+
--dc-bg-1: #fafafa;
10
10
+
--dc-bg-2: #fff;
11
11
+
--dc-bg-3: #ebebeb;
12
12
+
--dc-lk-1: #0068d6;
13
13
+
--dc-lkb-1: #0072f5;
14
14
+
--dc-lkb-2: #0062d1;
15
15
+
--dc-lkb-tx: #ededed;
16
16
+
--dc-ac-1: #8e4ec6;
17
17
+
--dc-ac-tx: #ededed;
18
18
+
/* Dark colors */
19
19
+
--dc-d-tx-1: #ededed;
20
20
+
--dc-d-tx-2: #a1a1a1;
21
21
+
--dc-d-bg-1: #000;
22
22
+
--dc-d-bg-2: #ffffff0f;
23
23
+
--dc-d-bg-3: #2e2e2e;
24
24
+
--dc-d-lk-1: #52a8ff;
25
25
+
--dc-d-lkb-1: #0072f5;
26
26
+
--dc-d-lkb-2: #0062d1;
27
27
+
--dc-d-lkb-tx: #ededed;
28
28
+
--dc-d-ac-1: #8e4ec6;
29
29
+
--dc-d-ac-tx: #ededed;
30
30
+
}
31
31
+
32
32
+
@media (prefers-color-scheme: dark) {
33
33
+
:root {
34
34
+
--dc-tx-1: var(--dc-d-tx-1);
35
35
+
--dc-tx-2: var(--dc-d-tx-2);
36
36
+
--dc-bg-1: var(--dc-d-bg-1);
37
37
+
--dc-bg-2: var(--dc-d-bg-2);
38
38
+
--dc-bg-3: var(--dc-d-bg-3);
39
39
+
--dc-lk-1: var(--dc-d-lk-1);
40
40
+
--dc-lkb-1: var(--dc-d-lkb-1);
41
41
+
--dc-lkb-2: var(--dc-d-lkb-2);
42
42
+
--dc-lkb-tx: var(--dc-d-lkb-tx);
43
43
+
--dc-ac-1: var(--dc-d-ac-1);
44
44
+
--dc-ac-tx: var(--dc-d-ac-tx);
45
45
+
}
46
46
+
}
47
47
+
48
48
+
* {
49
49
+
margin: 0;
50
50
+
padding: 0;
51
51
+
}
52
52
+
53
53
+
address,
54
54
+
area,
55
55
+
article,
56
56
+
aside,
57
57
+
audio,
58
58
+
blockquote,
59
59
+
datalist,
60
60
+
details,
61
61
+
dl,
62
62
+
fieldset,
63
63
+
figure,
64
64
+
form,
65
65
+
input,
66
66
+
iframe,
67
67
+
img,
68
68
+
meter,
69
69
+
nav,
70
70
+
ol,
71
71
+
optgroup,
72
72
+
option,
73
73
+
output,
74
74
+
p,
75
75
+
pre,
76
76
+
progress,
77
77
+
ruby,
78
78
+
section,
79
79
+
table,
80
80
+
textarea,
81
81
+
ul,
82
82
+
video {
83
83
+
margin-bottom: 1rem;
84
84
+
}
85
85
+
86
86
+
html,
87
87
+
input,
88
88
+
select,
89
89
+
button {
90
90
+
font-family: var(--dc-font-sans);
91
91
+
}
92
92
+
93
93
+
body {
94
94
+
margin: 0 auto;
95
95
+
max-width: 750px;
96
96
+
padding: 2rem;
97
97
+
border-radius: 4px;
98
98
+
overflow-x: hidden;
99
99
+
word-break: break-word;
100
100
+
overflow-wrap: break-word;
101
101
+
background: var(--dc-bg-1);
102
102
+
color: var(--dc-tx-2);
103
103
+
font-size: 1.03rem;
104
104
+
line-height: 1.5;
105
105
+
}
106
106
+
107
107
+
::selection {
108
108
+
background: var(--dc-ac-1);
109
109
+
color: var(--dc-ac-tx);
110
110
+
}
111
111
+
112
112
+
h1,
113
113
+
h2,
114
114
+
h3,
115
115
+
h4,
116
116
+
h5,
117
117
+
h6 {
118
118
+
line-height: 1;
119
119
+
color: var(--dc-tx-1);
120
120
+
padding-top: 0.875rem;
121
121
+
}
122
122
+
123
123
+
h1,
124
124
+
h2,
125
125
+
h3 {
126
126
+
padding-bottom: 6px;
127
127
+
margin-bottom: 8px;
128
128
+
border-bottom: 1px solid var(--dc-bg-3);
129
129
+
}
130
130
+
131
131
+
h4,
132
132
+
h5,
133
133
+
h6 {
134
134
+
margin-bottom: 0.3rem;
135
135
+
}
136
136
+
137
137
+
h1 {
138
138
+
font-size: 2.25rem;
139
139
+
}
140
140
+
141
141
+
h2 {
142
142
+
font-size: 1.85rem;
143
143
+
}
144
144
+
145
145
+
h3 {
146
146
+
font-size: 1.55rem;
147
147
+
}
148
148
+
149
149
+
h4 {
150
150
+
font-size: 1.25rem;
151
151
+
}
152
152
+
153
153
+
h5 {
154
154
+
font-size: 1rem;
155
155
+
}
156
156
+
157
157
+
h6 {
158
158
+
font-size: 0.875rem;
159
159
+
}
160
160
+
161
161
+
a {
162
162
+
color: var(--dc-lk-1);
163
163
+
}
164
164
+
165
165
+
abbr:hover {
166
166
+
cursor: help;
167
167
+
}
168
168
+
169
169
+
blockquote {
170
170
+
padding: 1.5rem;
171
171
+
background: var(--dc-bg-2);
172
172
+
border-left: 5px solid var(--dc-bg-3);
173
173
+
border-radius: 4px;
174
174
+
}
175
175
+
176
176
+
blockquote *:last-child {
177
177
+
padding-bottom: 0;
178
178
+
margin-bottom: 0;
179
179
+
}
180
180
+
181
181
+
header {
182
182
+
background: var(--dc-bg-2);
183
183
+
border-bottom: 1px solid var(--dc-bg-3);
184
184
+
padding: 0.75rem;
185
185
+
margin: -2rem calc(50% - 50vw) 2rem;
186
186
+
padding-left: calc(50vw - 50%);
187
187
+
padding-right: calc(50vw - 50%);
188
188
+
189
189
+
/* Sticky header if supported */
190
190
+
position: sticky;
191
191
+
top: 0;
192
192
+
193
193
+
/* Blur for transparent surface if supported */
194
194
+
backdrop-filter: blur(16px);
195
195
+
}
196
196
+
197
197
+
/* Move header to the side to preserve vertical space, if screen is minimum width 1452px */
198
198
+
@media (min-width: 1452px) {
199
199
+
header {
200
200
+
width: 260px;
201
201
+
height: auto;
202
202
+
position: fixed;
203
203
+
left: calc(50% - 725px);
204
204
+
background: #ffffff00;
205
205
+
border-bottom: 0;
206
206
+
padding: 2rem 1.5rem;
207
207
+
margin: 0;
208
208
+
209
209
+
/* Disable blur */
210
210
+
backdrop-filter: none;
211
211
+
}
212
212
+
}
213
213
+
214
214
+
header h1,
215
215
+
header h2,
216
216
+
header h3 {
217
217
+
padding-bottom: 0;
218
218
+
border-bottom: 0;
219
219
+
}
220
220
+
221
221
+
header > *:first-child {
222
222
+
margin-top: 0;
223
223
+
padding-top: 0;
224
224
+
}
225
225
+
226
226
+
header > *:last-child {
227
227
+
margin-bottom: 0;
228
228
+
}
229
229
+
230
230
+
a button,
231
231
+
button,
232
232
+
input[type="submit"],
233
233
+
input[type="reset"],
234
234
+
input[type="button"] {
235
235
+
font-size: 1rem;
236
236
+
display: inline-block;
237
237
+
padding: 6px 12px;
238
238
+
text-align: center;
239
239
+
text-decoration: none;
240
240
+
white-space: nowrap;
241
241
+
background: var(--dc-lkb-1);
242
242
+
color: var(--dc-lkb-tx);
243
243
+
border: 0;
244
244
+
border-radius: 4px;
245
245
+
box-sizing: border-box;
246
246
+
cursor: pointer;
247
247
+
}
248
248
+
249
249
+
a button[disabled],
250
250
+
button[disabled],
251
251
+
input[type="submit"][disabled],
252
252
+
input[type="reset"][disabled],
253
253
+
input[type="button"][disabled] {
254
254
+
cursor: not-allowed;
255
255
+
opacity: 0.5;
256
256
+
}
257
257
+
258
258
+
.button:focus,
259
259
+
.button:enabled:hover,
260
260
+
button:focus,
261
261
+
button:enabled:hover,
262
262
+
input[type="submit"]:focus,
263
263
+
input[type="submit"]:enabled:hover,
264
264
+
input[type="reset"]:focus,
265
265
+
input[type="reset"]:enabled:hover,
266
266
+
input[type="button"]:focus,
267
267
+
input[type="button"]:enabled:hover {
268
268
+
background: var(--dc-lkb-2);
269
269
+
}
270
270
+
271
271
+
a img {
272
272
+
margin-bottom: 0;
273
273
+
}
274
274
+
275
275
+
code,
276
276
+
pre,
277
277
+
kbd,
278
278
+
samp {
279
279
+
font-family: var(--dc-font-mono);
280
280
+
}
281
281
+
282
282
+
code,
283
283
+
samp,
284
284
+
kbd,
285
285
+
pre {
286
286
+
background: var(--dc-bg-2);
287
287
+
border: 1px solid var(--dc-bg-3);
288
288
+
border-radius: 4px;
289
289
+
padding: 3px 6px;
290
290
+
font-size: 0.9em;
291
291
+
}
292
292
+
293
293
+
kbd {
294
294
+
border-bottom: 3px solid var(--dc-bg-3);
295
295
+
}
296
296
+
297
297
+
pre {
298
298
+
padding: 1rem 1.4rem;
299
299
+
max-width: 100%;
300
300
+
overflow: auto;
301
301
+
}
302
302
+
303
303
+
pre code {
304
304
+
background: inherit;
305
305
+
font-size: inherit;
306
306
+
color: inherit;
307
307
+
border: 0;
308
308
+
padding: 0;
309
309
+
margin: 0;
310
310
+
}
311
311
+
312
312
+
code pre {
313
313
+
display: inline;
314
314
+
background: inherit;
315
315
+
font-size: inherit;
316
316
+
color: inherit;
317
317
+
border: 0;
318
318
+
padding: 0;
319
319
+
margin: 0;
320
320
+
}
321
321
+
322
322
+
details {
323
323
+
padding: 0.6rem 1rem;
324
324
+
background: var(--dc-bg-2);
325
325
+
border: 1px solid var(--dc-bg-3);
326
326
+
border-radius: 4px;
327
327
+
}
328
328
+
329
329
+
summary {
330
330
+
cursor: pointer;
331
331
+
font-weight: bold;
332
332
+
}
333
333
+
334
334
+
details[open] {
335
335
+
padding-bottom: 0.75rem;
336
336
+
}
337
337
+
338
338
+
details[open] summary {
339
339
+
margin-bottom: 6px;
340
340
+
}
341
341
+
342
342
+
details[open] > *:last-child {
343
343
+
margin-bottom: 0;
344
344
+
}
345
345
+
346
346
+
dt {
347
347
+
font-weight: bold;
348
348
+
}
349
349
+
350
350
+
dd::before {
351
351
+
content: "→ ";
352
352
+
}
353
353
+
354
354
+
hr {
355
355
+
border: 0;
356
356
+
border-bottom: 1px solid var(--dc-bg-3);
357
357
+
margin: 1rem auto;
358
358
+
}
359
359
+
360
360
+
fieldset {
361
361
+
margin-top: 1rem;
362
362
+
padding: 2rem;
363
363
+
border: 1px solid var(--dc-bg-3);
364
364
+
border-radius: 4px;
365
365
+
}
366
366
+
367
367
+
legend {
368
368
+
padding: auto 0.5rem;
369
369
+
}
370
370
+
371
371
+
table {
372
372
+
border-collapse: collapse;
373
373
+
width: 100%;
374
374
+
}
375
375
+
376
376
+
td,
377
377
+
th {
378
378
+
border: 1px solid var(--dc-bg-3);
379
379
+
text-align: left;
380
380
+
padding: 0.5rem;
381
381
+
}
382
382
+
383
383
+
th {
384
384
+
background: var(--dc-bg-2);
385
385
+
}
386
386
+
387
387
+
tr:nth-child(even) {
388
388
+
background: var(--dc-bg-2);
389
389
+
}
390
390
+
391
391
+
table caption {
392
392
+
font-weight: bold;
393
393
+
margin-bottom: 0.5rem;
394
394
+
}
395
395
+
396
396
+
textarea {
397
397
+
max-width: 100%;
398
398
+
}
399
399
+
400
400
+
ol,
401
401
+
ul {
402
402
+
padding-left: 2rem;
403
403
+
}
404
404
+
405
405
+
li {
406
406
+
margin-top: 0.4rem;
407
407
+
}
408
408
+
409
409
+
ul ul,
410
410
+
ol ul,
411
411
+
ul ol,
412
412
+
ol ol {
413
413
+
margin-bottom: 0;
414
414
+
}
415
415
+
416
416
+
mark {
417
417
+
padding: 3px 6px;
418
418
+
background: var(--dc-ac-1);
419
419
+
color: var(--dc-ac-tx);
420
420
+
border-radius: 4px;
421
421
+
}
422
422
+
423
423
+
textarea,
424
424
+
select,
425
425
+
input {
426
426
+
padding: 6px 12px;
427
427
+
margin-bottom: 0.5rem;
428
428
+
background: var(--dc-bg-2);
429
429
+
color: var(--dc-tx-2);
430
430
+
border: 1px solid var(--dc-bg-3);
431
431
+
border-radius: 4px;
432
432
+
box-shadow: none;
433
433
+
box-sizing: border-box;
434
434
+
}
435
435
+
436
436
+
img {
437
437
+
max-width: 100%;
438
438
+
}