1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>CSS3 边框</title>
6 <style>
7 body, ul, li, dl, dt, dd, h1, h2, h3, h4, h5 {
8 margin: 0;
9 padding: 0;
10 }
11
12 body {
13 background-color: #F7F7F7;
14 }
15
16 .wrapper {
17 width: 1000px;
18 margin: 0 auto;
19 padding: 20px;
20 box-sizing: border-box;
21 }
22
23 header {
24 padding: 20px 0;
25 margin-bottom: 20px;
26 text-align: center;
27 }
28
29 header h3 {
30 line-height: 1;
31 font-weight: normal;
32 font-size: 28px;
33 }
34
35 .main {
36 /*overflow: hidden;*/
37 }
38
39 .main:after {
40 content: '';
41 clear: both;
42 display: block;
43 }
44
45 .main .item {
46 width: 210px;
47 height: 210px;
48 margin: 0 30px 30px 0;
49 display: flex;
50 position: relative;
51 background-color: #FFF;
52 float: left;
53 box-shadow: 2px 2px 5px #CCC;
54 }
55
56 .main .item:after {
57 content: attr(data-brief);
58 display: block;
59 width: 100%;
60 height: 100%;
61 text-align: center;
62 line-height: 210px;
63 position: absolute;
64 top: 0;
65 left: 0;
66 color: #FFF;
67 font-family: '微软雅黑';
68 font-size: 18px;
69 background-color: rgba(170, 170, 170, 0);
70 z-index: -1;
71 transition: all 0.3s ease-in;
72 }
73
74 .main .item:hover:after {
75 background-color: rgba(170, 170, 170, 0.6);
76 z-index: 100;
77 }
78
79 .main .item:nth-child(4n) {
80 margin-right: 0;
81 }
82
83 /*.main .item:nth-last-child(-n+5) {
84 margin-bottom: 0;
85 }*/
86
87 /* 以上是骨架样式 */
88 /* 1、2、3、4 顺时针 */
89 .border-radius {
90 width: 180px;
91 height: 180px;
92 margin: auto;
93 border: 1px solid red;
94 /*border-radius: 50% 30% 20%;*/
95 }
96
97 .square {
98 border-radius: 0;
99 }
100
101 /*拱形*/
102 .item:nth-child(1) .border-radius {
103 border-radius: 90px;
104 }
105
106 /*拱形*/
107 .item:nth-child(2) .border-radius {
108 border-radius: 90px 90px 0 0;
109 }
110
111 /*半圆*/
112 .item:nth-child(3) .border-radius {
113 height: 90px;
114 border-radius: 90px 90px 0 0;
115 }
116
117 /*左上角*/
118 .item:nth-child(4) .border-radius {
119 /*height: 90px;*/
120 border-radius: 90px 0 0 0;
121 }
122
123 /*四分之一圆*/
124 .item:nth-child(5) .border-radius {
125 width: 90px;
126 height: 90px;
127 border-radius: 90px 0 0 0;
128 }
129
130 /*横着的椭圆*/
131 .item:nth-child(6) .border-radius {
132 height: 90px;
133 /*border-radius: 50%;*/
134 border-radius: 90px 90px 90px 90px / 45px 45px 45px 45px;
135 /*border-radius: 45px / 90px;*/
136 }
137
138 /*竖着的椭圆*/
139 .item:nth-child(7) .border-radius {
140 width: 90px;
141 border-radius: 45px 45px 45px 45px / 90px 90px 90px 90px;
142 }
143
144 /*半个横着的椭圆*/
145 .item:nth-child(8) .border-radius {
146 height: 45px;
147 border-radius: 90px 90px 0 0 / 45px 45px 0 0;
148 }
149
150 /*半个竖着的椭圆*/
151 .item:nth-child(9) .border-radius {
152 width: 45px;
153 border-radius: 45px 0 0 45px / 90px 0 0 90px;
154 }
155
156 /*四分之一竖着的椭圆*/
157 .item:nth-child(10) .border-radius {
158 width: 45px;
159 height: 90px;
160 border-radius: 45px 0 0 0 / 90px 0 0 0;
161 }
162
163 /*饼环*/
164 .item:nth-child(11) .border-radius {
165 width: 40px;
166 height: 40px;
167 border: 70px solid red;
168 border-radius: 90px;
169 }
170
171 /*圆饼*/
172 .item:nth-child(12) .border-radius {
173 width: 40px;
174 height: 40px;
175 border: 70px solid red;
176 border-radius: 60px;
177 }
178
179 /*左上角圆饼*/
180 .item:nth-child(13) .border-radius {
181 width: 60px;
182 height: 60px;
183 border: 60px solid red;
184 border-radius: 90px 0 0 0;
185 }
186
187 /*对角圆饼*/
188 .item:nth-child(14) .border-radius {
189 width: 60px;
190 height: 60px;
191 border: 60px solid red;
192 border-radius: 90px 0 90px 0;
193 }
194
195 /*四边不同色*/
196 .item:nth-child(15) .border-radius {
197 width: 0px;
198 height: 0px;
199 border-width: 90px;
200 border-style: solid;
201 border-color: red green yellow blue;
202 }
203
204 /*右透明色*/
205 .item:nth-child(16) .border-radius {
206 width: 0px;
207 height: 0px;
208 border-width: 90px;
209 border-style: solid;
210 border-color: red green yellow blue;
211 border-right-color: transparent;
212 }
213
214 /*圆右透明色*/
215 .item:nth-child(17) .border-radius {
216 width: 0px;
217 height: 0px;
218 border-width: 90px;
219 border-style: solid;
220 border-color: red;
221 border-right-color: transparent;
222 border-radius: 90px;
223 }
224
225 /*圆右红透明色*/
226 .item:nth-child(18) .border-radius {
227 width: 0px;
228 height: 0px;
229 border-width: 90px;
230 border-style: solid;
231 border-color: transparent;
232 border-right-color: red;
233 border-radius: 90px;
234 }
235
236 /*阴阳图前世*/
237 .item:nth-child(19) .border-radius {
238 width: 180px;
239 height: 0px;
240 border-top-width: 90px;
241 border-bottom-width: 90px;
242 border-style: solid;
243 border-top-color: red;
244 border-bottom-color: green;
245 /*border-right-color: red;*/
246 border-radius: 90px;
247 }
248
249 /*阴阳图前世2*/
250 .item:nth-child(20) .border-radius {
251 width: 180px;
252 height: 90px;
253 border-bottom-width: 90px;
254 border-style: solid;
255 border-bottom-color: green;
256 background-color: red;
257 /*border-right-color: red;*/
258 border-radius: 90px;
259 }
260
261 /*阴阳图今生*/
262 .item:nth-child(21) .border-radius {
263 width: 180px;
264 height: 90px;
265 border-bottom-width: 90px;
266 border-style: solid;
267 border-bottom-color: green;
268 background-color: red;
269 border-radius: 90px;
270 position: relative;
271 }
272
273 .item:nth-child(21) .border-radius::after,
274 .item:nth-child(21) .border-radius::before {
275 content: '';
276 position: absolute;
277 top: 50%;
278 width: 20px;
279 height: 20px;
280 /*margin: -10px 0 0 0;*/
281 border-width: 35px;
282 border-style: solid;
283 border-radius: 45px;
284 }
285
286 /*左阴阳*/
287 .item:nth-child(21) .border-radius::after {
288 background-color: red;
289 border-color: green;
290 }
291
292 /*右阴阳*/
293 .item:nth-child(21) .border-radius::before {
294 background-color: green;
295 border-color: red;
296 right: 0;
297 }
298
299 /*右阴阳*/
300 .item:nth-child(22) .border-radius {
301 width: 180px;
302 height: 90px;
303 border-bottom-width: 90px;
304 border-bottom-color: green;
305 border-bottom-style: solid;
306 background-color: red;
307 border-radius: 90px;
308 position: relative;
309 }
310
311 .item:nth-child(22) .border-radius::after,
312 .item:nth-child(22) .border-radius::before {
313 content: '';
314 position: absolute;
315 top: 50%;
316 width: 20px;
317 height: 20px;
318 border-width: 35px;
319 border-style: solid;
320 border-radius: 45px;
321 }
322
323 .item:nth-child(22) .border-radius::before {
324 border-color: green;
325 background-color: red;
326 }
327
328 .item:nth-child(22) .border-radius::after {
329 right: 0;
330 border-color: red;
331 background-color: green;
332 }
333
334 /*消息框*/
335 .item:nth-child(23) .border-radius {
336 width: 160px;
337 height: 80px;
338 background-color: red;
339 border-radius: 6px;
340 position: relative;
341 }
342
343 .item:nth-child(23) .border-radius::after {
344 content: '';
345 width: 0;
346 height: 0;
347 border-width: 10px;
348 border-style: solid;
349 border-color: transparent;
350 border-right-color: red;
351 position: absolute;
352 top: 16px;
353 left: -20px;
354 }
355
356 /*奇怪的图形*/
357 .item:nth-child(24) .border-radius {
358 width: 40px;
359 height: 40px;
360 border-width: 45px 0 45px 70px;
361 border-style: solid;
362 border-radius: 0 0 60px 0;
363 border-color: red;
364 }
365
366 /*奇怪的图形2*/
367 .item:nth-child(25) .border-radius {
368 width: 100px;
369 height: 40px;
370 border-width: 45px 20px 45px 70px;
371 border-style: solid;
372 border-radius: 60px;
373 border-color: red;
374 }
375
376 /*QQ对话*/
377 .item:nth-child(26) .border-radius {
378 width: 160px;
379 height: 80px;
380 background-color: red;
381 border-radius: 6px;
382 position: relative;
383 }
384
385 .item:nth-child(26) .border-radius::after {
386 content: '';
387 position: absolute;
388 top: 0;
389 right: -20px;
390 width: 30px;
391 height: 30px;
392 border-width: 0 0 30px 30px;
393 border-style: solid;
394 border-bottom-color: red;
395 border-left-color: transparent;
396 border-radius: 0 0 60px 0;
397 }
398
399 /*圆角的百分比设置 */
400 .item:nth-child(27) .border-radius {
401 width: 180px;
402 /*height: 180px;*/
403 height: 90px;
404 border-radius: 50%;
405 border-radius: 90px/45px;
406
407 /*百分比是按横竖两个对应的方向的长度进行计算*/
408 }
409
410 </style>
411 </head>
412 <body>
413 <div class="wrapper">
414 <header>
415 <h3>CSS3 边框圆角</h3>
416 </header>
417 <div class="main">
418 <div class="item" data-brief="整圆">
419 <div class="border-radius"></div>
420 </div>
421 <div class="item" data-brief="拱形">
422 <div class="border-radius"></div>
423 </div>
424 <div class="item" data-brief="半圆">
425 <div class="border-radius"></div>
426 </div>
427 <div class="item" data-brief="左上角">
428 <div class="border-radius"></div>
429 </div>
430 <div class="item" data-brief="四分之一圆">
431 <div class="border-radius"></div>
432 </div>
433 <div class="item" data-brief="横着的椭圆">
434 <div class="border-radius"></div>
435 </div>
436 <div class="item" data-brief="竖着的椭圆">
437 <div class="border-radius"></div>
438 </div>
439 <div class="item" data-brief="半个横着的椭圆">
440 <div class="border-radius"></div>
441 </div>
442 <div class="item" data-brief="半个竖着的椭圆">
443 <div class="border-radius"></div>
444 </div>
445 <div class="item" data-brief="四分之一竖着的椭圆">
446 <div class="border-radius"></div>
447 </div>
448 <div class="item" data-brief="饼环">
449 <div class="border-radius"></div>
450 </div>
451 <div class="item" data-brief="圆饼">
452 <div class="border-radius"></div>
453 </div>
454 <div class="item" data-brief="左上角圆饼">
455 <div class="border-radius"></div>
456 </div>
457 <div class="item" data-brief="对角圆饼">
458 <div class="border-radius"></div>
459 </div>
460 <div class="item" data-brief="四边不同色">
461 <div class="border-radius"></div>
462 </div>
463 <div class="item" data-brief="右透明色">
464 <div class="border-radius"></div>
465 </div>
466 <div class="item" data-brief="圆右透明色">
467 <div class="border-radius"></div>
468 </div>
469 <div class="item" data-brief="圆右红透明色">
470 <div class="border-radius"></div>
471 </div>
472 <div class="item" data-brief="阴阳图前世">
473 <div class="border-radius"></div>
474 </div>
475 <div class="item" data-brief="阴阳图前世2">
476 <div class="border-radius"></div>
477 </div>
478 <div class="item" data-brief="阴阳图今生">
479 <div class="border-radius"></div>
480 </div>
481 <div class="item" data-brief="阴阳图今生2">
482 <div class="border-radius"></div>
483 </div>
484 <div class="item" data-brief="消息框">
485 <div class="border-radius"></div>
486 </div>
487 <div class="item" data-brief="奇怪的图形">
488 <div class="border-radius"></div>
489 </div>
490 <div class="item" data-brief="奇怪的图形2">
491 <div class="border-radius"></div>
492 </div>
493 <div class="item" data-brief="QQ对话">
494 <div class="border-radius"></div>
495 </div>
496 <div class="item" data-brief="圆角百分比">
497 <div class="border-radius"></div>
498 </div>
499 </div>
500 </div>
501 </body>
502 </html>