{"id":88,"date":"2026-06-26T13:32:24","date_gmt":"2026-06-26T13:32:24","guid":{"rendered":"https:\/\/aabbee.cafe24.com\/?p=88"},"modified":"2026-06-26T13:32:24","modified_gmt":"2026-06-26T13:32:24","slug":"footer","status":"publish","type":"post","link":"https:\/\/coalacoding.com\/?p=88","title":{"rendered":"Footer"},"content":{"rendered":"<h1>08. Footer.jsx \u2014 \ud558\ub2e8 \ud478\ud130<\/h1>\n<h2>\uc774\ubc88 \ub2e8\uacc4\uc5d0\uc11c \ud560 \uc77c<\/h2>\n<p>SNS \uc544\uc774\ucf58 \ub9c1\ud06c\uc640 \uc800\uc791\uad8c \uc815\ubcf4\uac00 \ub2f4\uae34 \ud478\ud130\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.<\/p>\n<hr>\n<h2>\ud53c\uadf8\ub9c8 \ub514\uc790\uc778 \ubd84\uc11d<\/h2>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                                                  \u2502\n\u2502  Thanks           X  IG  YT  LI                  \u2502\n\u2502                                                  \u2502\n\u2502  copyright All right                             \u2502\n\u2502                                                  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\ub192\uc774: 324px\n<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th>\uc694\uc18c<\/th>\n<th>\uac12<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>&quot;Thanks&quot; \ud3f0\ud2b8<\/td>\n<td>20px, #1e1e1e<\/td>\n<\/tr>\n<tr>\n<td>SNS \uc544\uc774\ucf58 \ud06c\uae30<\/td>\n<td>24px \u00d7 24px<\/td>\n<\/tr>\n<tr>\n<td>\uc544\uc774\ucf58 \uc0c9\uc0c1<\/td>\n<td>#1e1e1e<\/td>\n<\/tr>\n<tr>\n<td>copyright \ud3f0\ud2b8<\/td>\n<td>14px<\/td>\n<\/tr>\n<tr>\n<td>\ubc30\uacbd\uc0c9<\/td>\n<td>#ffffff<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>STEP 1 \u2014 Footer.jsx \uc791\uc131<\/h2>\n<p>SVG \uc544\uc774\ucf58\uc744 \uc9c1\uc811 \ucf54\ub4dc\uc5d0 \uc501\ub2c8\ub2e4.<br \/>\n\ubcf5\uc7a1\ud574 \ubcf4\uc774\uc9c0\ub9cc <code>&lt;svg&gt;<\/code> \ud0dc\uadf8 \uc548\uc758 <code>&lt;path&gt;<\/code> \ub9cc \uc218\uc815\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">\/\/ src\/components\/Footer.jsx\n\nconst Footer = () =&gt; {\n  return (\n    &lt;footer className=&quot;footer&quot;&gt;\n\n      {\/* \uc0c1\ub2e8: Thanks + SNS \uc544\uc774\ucf58 *\/}\n      &lt;div className=&quot;footer-top&quot;&gt;\n        &lt;span className=&quot;footer-thanks&quot;&gt;Thanks&lt;\/span&gt;\n\n        &lt;div className=&quot;footer-sns&quot;&gt;\n\n          {\/* X (\uad6c \ud2b8\uc704\ud130) *\/}\n          &lt;a href=&quot;#&quot; className=&quot;footer-sns__item&quot; aria-label=&quot;X&quot;&gt;\n            &lt;svg width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot;&gt;\n              &lt;path\n                d=&quot;M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z&quot;\n                fill=&quot;#1e1e1e&quot;\n              \/&gt;\n            &lt;\/svg&gt;\n          &lt;\/a&gt;\n\n          {\/* Instagram *\/}\n          &lt;a href=&quot;#&quot; className=&quot;footer-sns__item&quot; aria-label=&quot;Instagram&quot;&gt;\n            &lt;svg width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot;&gt;\n              &lt;rect x=&quot;2&quot; y=&quot;2&quot; width=&quot;20&quot; height=&quot;20&quot; rx=&quot;5&quot;\n                stroke=&quot;#1e1e1e&quot; strokeWidth=&quot;2&quot;\/&gt;\n              &lt;circle cx=&quot;12&quot; cy=&quot;12&quot; r=&quot;4&quot;\n                stroke=&quot;#1e1e1e&quot; strokeWidth=&quot;2&quot;\/&gt;\n              &lt;circle cx=&quot;17.5&quot; cy=&quot;6.5&quot; r=&quot;1&quot;\n                fill=&quot;#1e1e1e&quot;\/&gt;\n            &lt;\/svg&gt;\n          &lt;\/a&gt;\n\n          {\/* YouTube *\/}\n          &lt;a href=&quot;#&quot; className=&quot;footer-sns__item&quot; aria-label=&quot;YouTube&quot;&gt;\n            &lt;svg width=&quot;24&quot; height=&quot;18&quot; viewBox=&quot;0 0 24 18&quot; fill=&quot;none&quot;&gt;\n              &lt;path\n                d=&quot;M23.498 2.819a3.016 3.016 0 0 0-2.122-2.136C19.505 0 12 0 12 0S4.495 0 2.625.683A3.016 3.016 0 0 0 .502 2.82C0 4.697 0 9 0 9s0 4.303.502 6.181a2.973 2.973 0 0 0 2.123 2.1C4.495 18 12 18 12 18s7.505 0 9.376-.719a2.974 2.974 0 0 0 2.122-2.1C24 13.303 24 9 24 9s0-4.303-.502-6.181zM9.545 12.818V5.182L15.818 9l-6.273 3.818z&quot;\n                fill=&quot;#1e1e1e&quot;\n              \/&gt;\n            &lt;\/svg&gt;\n          &lt;\/a&gt;\n\n          {\/* LinkedIn *\/}\n          &lt;a href=&quot;#&quot; className=&quot;footer-sns__item&quot; aria-label=&quot;LinkedIn&quot;&gt;\n            &lt;svg width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot;&gt;\n              &lt;rect x=&quot;2&quot; y=&quot;2&quot; width=&quot;20&quot; height=&quot;20&quot; rx=&quot;3&quot;\n                stroke=&quot;#1e1e1e&quot; strokeWidth=&quot;2&quot;\/&gt;\n              &lt;path\n                d=&quot;M7 10v7M7 7v.5M12 17v-4a2 2 0 0 1 4 0v4M12 10v7&quot;\n                stroke=&quot;#1e1e1e&quot; strokeWidth=&quot;2&quot; strokeLinecap=&quot;round&quot;\n              \/&gt;\n            &lt;\/svg&gt;\n          &lt;\/a&gt;\n\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n\n      {\/* \ud558\ub2e8: \uc800\uc791\uad8c *\/}\n      &lt;p className=&quot;footer-copy&quot;&gt;copyright All right&lt;\/p&gt;\n\n    &lt;\/footer&gt;\n  )\n}\n\nexport default Footer\n<\/code><\/pre>\n<hr>\n<h2>\ucf54\ub4dc \uc124\uba85<\/h2>\n<h3>SVG\ub780?<\/h3>\n<p><strong>\ubca1\ud130 \uc774\ubbf8\uc9c0<\/strong>\uc785\ub2c8\ub2e4. \uc544\ubb34\ub9ac \ud06c\uac8c \ud655\ub300\ud574\ub3c4 \uae68\uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<br \/>\n\uc544\uc774\ucf58, \ub85c\uace0\uc5d0 \ub9ce\uc774 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">&lt;svg width=&quot;24&quot; height=&quot;24&quot; viewBox=&quot;0 0 24 24&quot; fill=&quot;none&quot;&gt;\n  &lt;path d=&quot;M...&quot; fill=&quot;#1e1e1e&quot; \/&gt;\n&lt;\/svg&gt;\n<\/code><\/pre>\n<ul>\n<li><code>width<\/code>\/<code>height<\/code> : \ud45c\uc2dc \ud06c\uae30<\/li>\n<li><code>viewBox<\/code> : SVG \ub0b4\ubd80 \uc88c\ud45c \ubc94\uc704 (\uac74\ub4dc\ub9ac\uc9c0 \uc54a\uc544\ub3c4 \ub428)<\/li>\n<li><code>path d=&quot;...&quot;<\/code> : \uc544\uc774\ucf58 \ubaa8\uc591\uc744 \uc218\ud559\uc801 \uc88c\ud45c\ub85c \ud45c\ud604\ud55c \uac83<\/li>\n<\/ul>\n<h3><code>aria-label<\/code> \uc774\ub780?<\/h3>\n<p>\uc2a4\ud06c\ub9b0\ub9ac\ub354(\uc2dc\uac01\uc7a5\uc560\uc778\uc6a9 \ub3c4\uad6c)\uac00 \uc77d\ub294 \ud14d\uc2a4\ud2b8\uc785\ub2c8\ub2e4.<br \/>\n\uc544\uc774\ucf58\ub9cc \uc788\ub294 \ubc84\ud2bc\/\ub9c1\ud06c\uc5d0\ub294 \ubc18\ub4dc\uc2dc \ubd99\uc5ec\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">&lt;a href=&quot;#&quot; aria-label=&quot;Instagram&quot;&gt;\n  &lt;svg&gt;...&lt;\/svg&gt;\n&lt;\/a&gt;\n\/\/ \uc2a4\ud06c\ub9b0\ub9ac\ub354: &quot;Instagram, \ub9c1\ud06c&quot;\n<\/code><\/pre>\n<hr>\n<h2>STEP 2 \u2014 CSS \ucd94\uac00<\/h2>\n<pre><code class=\"language-css\">\/* src\/index.css \uc5d0 \ucd94\uac00 *\/\n\n\/* \u2500\u2500 Footer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n\n.footer {\n  padding: 60px 24px;\n  border-top: 1px solid #f0f0f0;\n}\n\n\/* Thanks\uc640 SNS \uc544\uc774\ucf58\uc744 \uc591\ucabd \ub05d\uc5d0 \ubc30\uce58 *\/\n.footer-top {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 40px;\n}\n\n.footer-thanks {\n  font-size: 20px;\n  font-weight: 500;\n  color: #1e1e1e;\n}\n\n\/* SNS \uc544\uc774\ucf58 \ubaa9\ub85d *\/\n.footer-sns {\n  display: flex;\n  gap: 16px;\n  align-items: center;\n}\n\n\/* \uac01 \uc544\uc774\ucf58 \ub9c1\ud06c *\/\n.footer-sns__item {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  opacity: 0.7;\n  transition: opacity 0.2s;\n}\n\n.footer-sns__item:hover {\n  opacity: 1;\n}\n\n\/* \uc800\uc791\uad8c \ud14d\uc2a4\ud2b8 *\/\n.footer-copy {\n  font-size: 14px;\n  color: #1e1e1e;\n}\n<\/code><\/pre>\n<hr>\n<h2>\ube0c\ub77c\uc6b0\uc800 \ud655\uc778<\/h2>\n<p>\uc800\uc7a5 \ud6c4 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c:<\/p>\n<ul>\n<li>\ud398\uc774\uc9c0 \ud558\ub2e8\uc5d0 &quot;Thanks&quot; \uc640 SNS \uc544\uc774\ucf58 4\uac1c\uac00 \ubcf4\uc785\ub2c8\ub2e4<\/li>\n<li>&quot;copyright All right&quot; \ud14d\uc2a4\ud2b8\uac00 \uc544\ub798\uc5d0 \uc788\uc2b5\ub2c8\ub2e4<\/li>\n<li>\uc544\uc774\ucf58\uc5d0 \ub9c8\uc6b0\uc2a4\ub97c \uc62c\ub9ac\uba74 \uc9c4\ud574\uc9d1\ub2c8\ub2e4<\/li>\n<\/ul>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>08. Footer.jsx \u2014 \ud558\ub2e8 \ud478\ud130 \uc774\ubc88 \ub2e8\uacc4\uc5d0\uc11c \ud560 \uc77c SNS \uc544\uc774\ucf58 \ub9c1\ud06c\uc640 \uc800\uc791\uad8c \uc815\ubcf4\uac00 \ub2f4\uae34 \ud478\ud130\ub97c \ub9cc\ub4ed\ub2c8\ub2e4. \ud53c\uadf8\ub9c8 \ub514\uc790\uc778 \ubd84\uc11d \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 \u2502 Thanks X IG YT LI \u2502 \u2502 \u2502 \u2502 copyright All right \u2502 \u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \ub192\uc774: 324px \uc694\uc18c \uac12 &quot;Thanks&quot; \ud3f0\ud2b8 20px, #1e1e1e SNS \uc544\uc774\ucf58 \ud06c\uae30 24px \u00d7 24px \uc544\uc774\ucf58 &#8230; <a title=\"Footer\" class=\"read-more\" href=\"https:\/\/coalacoding.com\/?p=88\" aria-label=\"Footer\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694\">\ub354 \uc77d\uae30<\/a><\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-88","post","type-post","status-publish","format-standard","hentry","category-react-resume"],"_links":{"self":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=88"}],"version-history":[{"count":0,"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/88\/revisions"}],"wp:attachment":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}