|
1 | 1 | page-item-ribbon {
|
2 |
| - |
3 |
| - $default: #f53d3d; |
4 |
| - |
5 |
| - .item-ribbon{ |
6 |
| - background-color: #fff; |
7 |
| - position: relative; |
8 |
| - filter: none; |
9 |
| - opacity: 1; |
10 |
| - .ribbon { |
11 |
| - position: absolute; |
12 |
| - right: -5px; |
13 |
| - top: -5px; |
14 |
| - z-index: 2; |
15 |
| - overflow: hidden; |
16 |
| - width: 75px; |
17 |
| - height: 75px; |
18 |
| - text-align: right; |
19 |
| - span { |
20 |
| - font-size: 1rem; |
21 |
| - font-weight: bold; |
22 |
| - color: #fff; |
23 |
| - text-transform: uppercase; |
24 |
| - text-align: center; |
25 |
| - line-height: 20px; |
26 |
| - -webkit-transform: rotate(45deg); |
27 |
| - transform: rotate(45deg); |
28 |
| - -webkit-transform: rotate(45deg); |
29 |
| - width: 100px; |
30 |
| - display: block; |
31 |
| - background: $default; |
32 |
| - position: absolute; |
33 |
| - top: 19px; |
34 |
| - right: -21px; |
35 |
| - &::before { |
36 |
| - content: ""; |
37 |
| - position: absolute; |
38 |
| - left: 0; |
39 |
| - top: 100%; |
40 |
| - z-index: -1; |
41 |
| - border-left: 3px solid $default; |
42 |
| - border-right: 3px solid transparent; |
43 |
| - border-bottom: 3px solid transparent; |
44 |
| - border-top: 3px solid $default; |
45 |
| - } |
46 |
| - &::after { |
47 |
| - content: ""; |
48 |
| - position: absolute; |
49 |
| - right: 0; |
50 |
| - top: 100%; |
51 |
| - z-index: -1; |
52 |
| - border-left: 3px solid transparent; |
53 |
| - border-right: 3px solid $default; |
54 |
| - border-bottom: 3px solid transparent; |
55 |
| - border-top: 3px solid $default; |
56 |
| - } |
57 |
| - } |
| 2 | + // Creates a ribbon effect with the given options: |
| 3 | + @mixin ribbonize ($ribbon-color, $text-color: white, $border-width: 3px) { |
| 4 | + span { |
| 5 | + color: $text-color; |
| 6 | + background: $ribbon-color; |
| 7 | + &::before { |
| 8 | + border-left: $border-width solid $ribbon-color; |
| 9 | + border-top: $border-width solid $ribbon-color; |
58 | 10 | }
|
59 |
| - } |
60 |
| - |
61 |
| - $cruzeiro: #387ef5; |
62 |
| - .ribbon.cruzeiro { |
63 |
| - span { |
64 |
| - background: $cruzeiro; |
65 |
| - &::before { |
66 |
| - border-left: 3px solid $cruzeiro; |
67 |
| - border-top: 3px solid $cruzeiro; |
68 |
| - } |
69 |
| - &::after { |
70 |
| - border-right: 3px solid $cruzeiro; |
71 |
| - border-top: 3px solid $cruzeiro; |
72 |
| - } |
| 11 | + &::after { |
| 12 | + border-right: $border-width solid $ribbon-color; |
| 13 | + border-top: $border-width solid $ribbon-color; |
73 | 14 | }
|
74 | 15 | }
|
| 16 | + } |
75 | 17 |
|
| 18 | + $default: #f53d3d; |
| 19 | + $cruzeiro: #387ef5; |
| 20 | + $atletico: darken(#f4f4f4, 45%); |
| 21 | + $javascript: #f7e023; |
76 | 22 |
|
77 |
| - $atletico: darken(#f4f4f4, 45%); |
78 |
| - .ribbon.atletico { |
| 23 | + .item-ribbon{ |
| 24 | + background-color: #fff; |
| 25 | + position: relative; |
| 26 | + filter: none; |
| 27 | + opacity: 1; |
| 28 | + .ribbon { |
| 29 | + position: absolute; |
| 30 | + right: -5px; |
| 31 | + top: -5px; |
| 32 | + z-index: 2; |
| 33 | + overflow: hidden; |
| 34 | + width: 75px; |
| 35 | + height: 75px; |
| 36 | + text-align: right; |
79 | 37 | span {
|
80 |
| - background: $atletico; |
| 38 | + font-size: 1rem; |
| 39 | + font-weight: bold; |
| 40 | + color: #fff; |
| 41 | + text-transform: uppercase; |
| 42 | + text-align: center; |
| 43 | + line-height: 20px; |
| 44 | + transform: rotate(45deg); |
| 45 | + -webkit-transform: rotate(45deg); |
| 46 | + width: 100px; |
| 47 | + display: block; |
| 48 | + background: $default; |
| 49 | + position: absolute; |
| 50 | + top: 19px; |
| 51 | + right: -21px; |
81 | 52 | &::before {
|
82 |
| - border-left: 3px solid $atletico; |
83 |
| - border-top: 3px solid $atletico; |
| 53 | + content: ""; |
| 54 | + position: absolute; |
| 55 | + left: 0; |
| 56 | + top: 100%; |
| 57 | + z-index: -1; |
| 58 | + border-left: 3px solid $default; |
| 59 | + border-right: 3px solid transparent; |
| 60 | + border-bottom: 3px solid transparent; |
| 61 | + border-top: 3px solid $default; |
84 | 62 | }
|
85 | 63 | &::after {
|
86 |
| - border-right: 3px solid $atletico; |
87 |
| - border-top: 3px solid $atletico; |
| 64 | + content: ""; |
| 65 | + position: absolute; |
| 66 | + right: 0; |
| 67 | + top: 100%; |
| 68 | + z-index: -1; |
| 69 | + border-left: 3px solid transparent; |
| 70 | + border-right: 3px solid $default; |
| 71 | + border-bottom: 3px solid transparent; |
| 72 | + border-top: 3px solid $default; |
88 | 73 | }
|
89 | 74 | }
|
90 | 75 | }
|
| 76 | + } |
91 | 77 |
|
92 |
| - $java-script: #f7e023; |
93 |
| - .ribbon.java-script { |
94 |
| - span { |
95 |
| - color: black; |
96 |
| - background: $java-script; |
97 |
| - &::before { |
98 |
| - border-left: 3px solid $java-script; |
99 |
| - border-top: 3px solid $java-script; |
100 |
| - } |
101 |
| - &::after { |
102 |
| - border-right: 3px solid $java-script; |
103 |
| - border-top: 3px solid $java-script; |
104 |
| - } |
105 |
| - } |
106 |
| - } |
| 78 | + .ribbon.cruzeiro { |
| 79 | + @include ribbonize($cruzeiro); |
| 80 | + } |
| 81 | + |
| 82 | + .ribbon.atletico { |
| 83 | + @include ribbonize($atletico); |
| 84 | + } |
107 | 85 |
|
| 86 | + .ribbon.javascript { |
| 87 | + @include ribbonize($javascript, black); |
| 88 | + } |
| 89 | + |
108 | 90 | }
|
0 commit comments