css 边框

  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>
原文地址:https://www.cnblogs.com/xiaomifeng/p/6826755.html