質問編集履歴

1

うまくはいっていないのですが、塗りつぶしのハートを2つ重ねてやってみた方法を載せました。

2016/07/31 08:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,13 +4,33 @@
4
4
 
5
5
 
6
6
 
7
- 塗りつぶしのハート以下のように作れました。
7
+ 塗りつぶしのハートを重ねる方法も以下のようにしたのですが、曲線部分だけが少し太くなってしまうので、なんとか直せないかと思っています
8
+
9
+
10
+
11
+ ![イメージ説明](89de485370791c32f2e0a3e72e950333.png)
12
+
13
+
14
+
15
+
16
+
17
+ ```HTML
18
+
19
+ <div class="heart">
20
+
21
+ <span class="heart-arrange"></span>
22
+
23
+ </div>
24
+
25
+ ```
26
+
27
+
8
28
 
9
29
 
10
30
 
11
31
  ```CSS
12
32
 
13
- #heart {
33
+ @mixin heart($size, $color) {
14
34
 
15
35
  position: relative;
16
36
 
@@ -18,75 +38,127 @@
18
38
 
19
39
  height: 90px;
20
40
 
41
+ -webkit-transform: scale($size);
42
+
43
+ -moz-transform: scale($size);
44
+
45
+ -ms-transform: scale($size);
46
+
47
+ -o-transform: scale($size);
48
+
49
+ transform: scale($size);
50
+
51
+
52
+
53
+ &:before, &:after{
54
+
55
+ position: absolute;
56
+
57
+ content: "";
58
+
59
+ left: 50px;
60
+
61
+ top: 0;
62
+
63
+ width: 50px;
64
+
65
+ height: 80px;
66
+
67
+ background: $color;
68
+
69
+ -moz-border-radius: 50px 50px 0 0;
70
+
71
+ border-radius: 50px 50px 0 0;
72
+
73
+ -webkit-transform: rotate(-45deg);
74
+
75
+ -moz-transform: rotate(-45deg);
76
+
77
+ -ms-transform: rotate(-45deg);
78
+
79
+ -o-transform: rotate(-45deg);
80
+
81
+ transform: rotate(-45deg);
82
+
83
+ -webkit-transform-origin: 0 100%;
84
+
85
+ -moz-transform-origin: 0 100%;
86
+
87
+ -ms-transform-origin: 0 100%;
88
+
89
+ -o-transform-origin: 0 100%;
90
+
91
+ transform-origin: 0 100%;
92
+
93
+ }
94
+
95
+
96
+
97
+ &:after{
98
+
99
+ left: 0;
100
+
101
+ -webkit-transform: rotate(45deg);
102
+
103
+ -moz-transform: rotate(45deg);
104
+
105
+ -ms-transform: rotate(45deg);
106
+
107
+ -o-transform: rotate(45deg);
108
+
109
+ transform: rotate(45deg);
110
+
111
+ -webkit-transform-origin: 100% 100%;
112
+
113
+ -moz-transform-origin: 100% 100%;
114
+
115
+ -ms-transform-origin: 100% 100%;
116
+
117
+ -o-transform-origin: 100% 100%;
118
+
119
+ transform-origin: 100% 100%;
120
+
121
+ }
122
+
21
123
  }
22
124
 
23
- #heart:before,
24
125
 
126
+
127
+
128
+
129
+ .heart {
130
+
131
+ position: relative;
132
+
133
+ @include heart(0.3, red);
134
+
135
+ z-index: 1;
136
+
137
+
138
+
25
- #heart:after {
139
+ .heart-arrange {
140
+
141
+ display: inline-block;
26
142
 
27
143
  position: absolute;
28
144
 
29
- content: "";
30
-
31
- left: 50px;
32
-
33
145
  top: 0;
34
146
 
35
- width: 50px;
147
+ right: 0;
36
148
 
37
- height: 80px;
149
+ bottom: 0;
38
-
39
- background: FF9999;
40
-
41
- -moz-border-radius: 50px 50px 0 0;
42
-
43
- border-radius: 50px 50px 0 0;
44
-
45
- -webkit-transform: rotate(-45deg);
46
-
47
- -moz-transform: rotate(-45deg);
48
-
49
- -ms-transform: rotate(-45deg);
50
-
51
- -o-transform: rotate(-45deg);
52
-
53
- transform: rotate(-45deg);
54
-
55
- -webkit-transform-origin: 0 100%;
56
-
57
- -moz-transform-origin: 0 100%;
58
-
59
- -ms-transform-origin: 0 100%;
60
-
61
- -o-transform-origin: 0 100%;
62
-
63
- transform-origin: 0 100%;
64
-
65
- }
66
-
67
- #heart:after {
68
150
 
69
151
  left: 0;
70
152
 
71
- -webkit-transform: rotate(45deg);
153
+ @include heart(0.9, white);
72
154
 
73
- -moz-transform: rotate(45deg);
155
+ z-index: 10;
74
156
 
75
- -ms-transform: rotate(45deg);
157
+
76
158
 
77
- -o-transform: rotate(45deg);
159
+ }
78
160
 
79
- transform: rotate(45deg);
80
161
 
81
- -webkit-transform-origin: 100% 100%;
82
-
83
- -moz-transform-origin: 100% 100%;
84
-
85
- -ms-transform-origin: 100% 100%;
86
-
87
- -o-transform-origin: 100% 100%;
88
-
89
- transform-origin :100% 100%;
90
162
 
91
163
  }
92
164