{"id":100,"date":"2018-12-09T17:45:39","date_gmt":"2018-12-09T16:45:39","guid":{"rendered":"https:\/\/sketch2react.wordpress.com\/2018\/12\/09\/css-animations-inside-of-sketch-with-sketch2react\/"},"modified":"2020-06-18T07:27:01","modified_gmt":"2020-06-18T07:27:01","slug":"css-animations-inside-of-sketch-with-sketch2react","status":"publish","type":"post","link":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/","title":{"rendered":"CSS Animations inside of Sketch with Sketch2React"},"content":{"rendered":"<figure>\n<p><img decoding=\"async\" data-width=\"1920\" data-height=\"1080\" src=\"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg\"><br \/>\n<\/figure>\n<blockquote><p>Since the release of our <a href=\"https:\/\/medium.com\/sketch2react\/welcome-to-our-sketch2react-code-app-9fb10463396d\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Code App<\/strong><\/a> you now have the possibility to add <strong>custom CSS plugins<\/strong> that are stored locally on your computer.<\/p><\/blockquote>\n<p>This is, without doubt, the <strong>single most powerful addition<\/strong> (yet) to our framework since the very beginning. Why? Let me explain.<\/p>\n<p>With your own <strong>custom made CSS plugins<\/strong> you expand your Sketch design files with things that<\/p>\n<ol>\n<li>\n<em>We haven\u2019t added yet<\/em> or<\/li>\n<li>\n<em>Are not even possible to do within our framework without thousands of hours of more work\u200a\u2014\u200aand who needs more work? Not us <\/em>?<\/li>\n<\/ol>\n<p>Like <a href=\"https:\/\/robots.thoughtbot.com\/css-animation-for-beginners\" target=\"_blank\" rel=\"noopener noreferrer\">CSS animations<\/a> for example. Or CSS effects.<\/p>\n<figure class=\"wp-caption\">\n<p><img decoding=\"async\" data-width=\"1136\" data-height=\"924\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/1*nPPR7f7bQYESsz33nAf_pg.gif\"><figcaption class=\"wp-caption-text\">All these CSS animations where made using Animate.css without even writing our own\u00a0CSS.<\/figcaption><\/figure>\n<h3><a href=\"https:\/\/sketch2react.io\/demoupload\/artbyastor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Simple Demo<\/a><\/h3>\n<p>Click above to check out the power of using CSS plugins straight from inside of Sketch.<\/p>\n<h3>Create transitions between everything really<\/h3>\n<p>With <strong>very simple code<\/strong> you can create really neat <strong>transitions between pages<\/strong>, animate elements, fade in whole blocks of content, create mock-up <strong>side menus<\/strong>, <strong>mega menus<\/strong>, modals. <em>Sky is the limit.<\/em><\/p>\n<p>Or CSS is the limit actually but you can do a lot of cool stuff that is well supported nowadays. Just check <a href=\"https:\/\/caniuse.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Can I Use<\/strong><\/a> from time to time to be sure.<\/p>\n<p>Combine our method for <a href=\"https:\/\/link.medium.com\/a\/key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm?%24identity_id=555632268392258222&amp;channel=link&amp;feature=share_sheet&amp;type=0&amp;duration=0&amp;source=ios&amp;data=eyJzb3VyY2UiOiJsaW5rU2hhcmUtYmQwNTg3ZTA1N2QzLTE1NDM5OTQ5NzEiLCIkaW9zX3VybCI6Imh0dHBzOi8vbWVkaXVtLmNvbS9wL2NmMDJiY2U0ZTViMD9zb3VyY2U9bGlua1NoYXJlLWJkMDU4N2UwNTdkMy0xNTQzOTk0OTcxIiwiJG9nX2Rlc2NyaXB0aW9uIjoiQSBncmVhdCB3YXkgdG8gZ2V0IHN0YXJ0ZWQgbGVhcm5pbmcgb3VyIGZyYW1ld29yayBpcyB0byB1c2UgaXQgZm9yIHdoYXQgd2UgY2FsbCBRdWljayBQcm90b3R5cGluZy4gWW91IGNvdWxkIGFsc28gY2FsbCBpdCBMb2ZpIEhUTUw1IChhbmTigKYiLCIkZGVlcGxpbmtfcGF0aCI6Ii9wL2NmMDJiY2U0ZTViMCIsIiRkZXNrdG9wX3VybCI6Imh0dHBzOi8vbWVkaXVtLmNvbS9wL2NmMDJiY2U0ZTViMD9zb3VyY2U9bGlua1NoYXJlLWJkMDU4N2UwNTdkMy0xNTQzOTk0OTcxIiwiJGNhbm9uaWNhbF91cmwiOiJodHRwczovL21lZGl1bS5jb20vcC9jZjAyYmNlNGU1YjAiLCIkb2dfaW1hZ2VfdXJsIjoiaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9maXQvdC8zODQwLzIxNjAvMCpzc3BaZ3BTcjBic0FSQkkxLmpwZyIsIiRvZ190aXRsZSI6IkhvdyB0byB1c2UgU2tldGNoMlJlYWN0IGZvciBRdWljayBSZXNwb25zaXZlIFByb3RvdHlwaW5nIiwiJGFuZHJvaWRfdXJsIjoiaHR0cHM6Ly9tZWRpdW0uY29tL3AvY2YwMmJjZTRlNWIwP3NvdXJjZT1saW5rU2hhcmUtYmQwNTg3ZTA1N2QzLTE1NDM5OTQ5NzEiLCIkY2Fub25pY2FsX2lkZW50aWZpZXIiOiJwL2NmMDJiY2U0ZTViMCJ9\" target=\"_blank\" rel=\"noopener noreferrer\">Quick Responsive Prototyping<\/a> with this and you have yourself a very powerful (free) framework for HTML5 prototyping directly inside of Sketch. ????<\/p>\n<figure class=\"wp-caption\">\n<p><img decoding=\"async\" data-width=\"1920\" data-height=\"1452\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*6YQZlBRtqvDTVBNy.png\"><figcaption class=\"wp-caption-text\">Aaa you sweet sexy custom made\u00a0.css I\u2019m soooo proud of\u00a0you<\/figcaption><\/figure>\n<h3>Add, not subtract to your hand-off\u00a0workflow<\/h3>\n<p>We see our framework as a compliment to all the excellent tools that are already out there. Keep using them, they are superb and we will never ever be able to compete with them. <strong><em>Heck we don\u2019t even want that!<\/em><\/strong><\/p>\n<p>There is no number one solution to the \u201ctool problem\u201d. You as a designer, need an arsenal of tools and frameworks to do your job.<\/p>\n<p>With <a href=\"https:\/\/sketch2react.io\" target=\"_blank\" rel=\"noopener noreferrer\">Sketch2React<\/a> you actually work with code that your developers can just copy+paste onto their own. Got that transition <em>juuuuuust<\/em> right after some tweaking in the CSS with things like timing, delays etc? No worries, just send them your <strong>custom.css file<\/strong> together with your Sketch2React prototype, in code or just send them your\u00a0.sketchfile, it\u2019s really up to you.<\/p>\n<p>Boom! ? ?\u200d?<\/p>\n<p><em>That is why we are soooo excited about this.<\/em><\/p>\n<figure class=\"wp-caption\">\n<p><img decoding=\"async\" data-width=\"1396\" data-height=\"981\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*uYKbHrMNygXanV12.gif\"><figcaption class=\"wp-caption-text\">Lovely app this Espresso!<\/figcaption><\/figure>\n<h3>Preparations before we\u00a0start<\/h3>\n<p>Consider using a more visual code editor like for example <a href=\"https:\/\/espressoapp.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Espresso<\/a>. I love the gentle UI it has, it really is very visual and helpful. It\u2019s included in the amazing service Setapp.<\/p>\n<p>Who loves visuals more than anyone? Designers of course! Another great editor for Mac is also <a href=\"https:\/\/panic.com\/coda\/\" target=\"_blank\" rel=\"noopener noreferrer\">Coda<\/a>.<\/p>\n<p>Both apps have <strong>CSS overriding<\/strong> which is really great for users of Sketch2React since we don\u2019t support all of Bootstrap 4\u2019s components yet. Probably never will actually.<\/p>\n<h3>Get some basic code knowledge<\/h3>\n<p>If you have a basic understanding of HTML and CSS, you will feel right at home. If not there are plenty of great free resources out there. If you happen to have a Pluralsight account they have several great ones about all these topics. One course I really like is called <a href=\"https:\/\/app.pluralsight.com\/id?redirectTo=\/library\/courses\/aef9b97b-4617-4992-9b4a-04be89bc649a%20https:\/\/app.pluralsight.com\/id?redirectTo=\/library\/courses\/aef9b97b-4617-4992-9b4a-04be89bc649a\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>HTML5 Animations made Easy with Animate.css<\/strong><\/a> by Jeff Batt.<\/p>\n<h3>Let\u2019s look at a very short video\u00a0first!<\/h3>\n<div class=\"nv-iframe-embed\"><iframe loading=\"lazy\" title=\"Sketch2React - How To Add Custom CSS Plugins\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/erHTK_dRD24?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/div>\n<h3>A very simple\u00a0tutorial<\/h3>\n<p>Okey, let\u2019s explain this with as few words as possible, remember we are designers here, visual people ? Explaining things easily is actually really hard so bear with me.<\/p>\n<h3>Step 1\u200a\u2014\u200aCreate your custom CSS\u00a0plugin<\/h3>\n<p>Create your custom CSS file in Espresso, Coda, Sublime Text or the totally free <a href=\"https:\/\/code.visualstudio.com\/download\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio Code<\/a>.<\/p>\n<ol>\n<li>Open preferred <strong>code\/text editor<\/strong>\n<\/li>\n<li>Create new file<\/li>\n<li>Start Googling for things like \u201dcool CSS effects\u201d or\/and \u201deasy CSS animations\u201d. Anything with the word easy in it is usually great.<\/li>\n<li>Copy+paste things that you want to play with<\/li>\n<li>Save to HD &amp; remember where you saved it ?<\/li>\n<\/ol>\n<p>Here\u2019s the same code that we used in our example video, we just changed the color to use one of our brand colors.<\/p>\n<figure>\n<p><img decoding=\"async\" data-width=\"1920\" data-height=\"1131\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*lY66X6jiqJ0Nd-xQ.png\"><br \/>\n<\/figure>\n<pre><code>.blinky {<br> border: 2px dashed #065EDF;<br>}<\/code><\/pre>\n<p>What this code does, is it adds a <strong>2px dashed border<\/strong> to every component that we add the word\u00a0<strong><em>.blinky<\/em><\/strong> in it\u2019s [classname], an example is:<\/p>\n<pre><code>{col} xs:12 lg:6 [hcenter mt40 mb20 blinky]<\/code><\/pre>\n<figure>\n<p><img decoding=\"async\" data-width=\"1920\" data-height=\"1118\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*epJTFuCIf7NVER_m.png\"><br \/>\n<\/figure>\n<h3>Couple of things to\u00a0notice<\/h3>\n<ul>\n<li>When adding the word <em>blinky<\/em> we are adding to the code part, that\u2019s why nothing happens inside of Sketch. To keep things 1:1 between what you see in code and in Sketch, you will need to manually draw a dashed border of 2px. Or not. <strong>It\u2019s pretty cool to add these types of effects post design<\/strong>, directly in code.<\/li>\n<li>Notice that we take away the <strong><em>dot<\/em><\/strong> when writing it inside of Sketch. That is a general rule with all class names.<\/li>\n<\/ul>\n<h3>Yes we are coding! Great\u00a0feel!<\/h3>\n<p>Okey just save this to your HD, we called it <strong>custom.css\u00a0<\/strong>, you can call it whatever. Make sure to include\u00a0.css in the filename.<\/p>\n<p><strong><em>Note:<\/em><\/strong><em> you can of course have several CSS rules in one\u00a0.css file. This is obvious for a developer but it took me a few moments studying the code that Fredrik had written for this demo to understand this.<\/em><\/p>\n<h3>Adding another thingie to our custom.css<\/h3>\n<pre><code>.blinky {<br> border: 2px dashed #065EDF;<br>}<br><br>.y-offset-20 {<br>  margin: -80px;  <br>}<\/code><\/pre>\n<p>Here we added another css snippet, one that we called\u00a0<strong><em>.y-offset-20.<\/em><\/strong><\/p>\n<p>Also, you can name these rules whatever you want. <em>Also not super obvious for people who are not code-savvy.<\/em><\/p>\n<p>This snippet offsets the margin with a negative of 80 pixels on whatever component we add it to.<\/p>\n<h3>Step 2\u200a\u2014\u200aGetting the correct file\u00a0path<\/h3>\n<p>Now we are going to do something that really is going to make you feel like a proper hacker\u200a\u2014\u200a<strong>open the Terminal<\/strong>! You know that weird app that you go into when things go south in OS X and you\u2019re desperate? ?<\/p>\n<p>There\u2019s nothing that makes me feel like being inside an episode of then firing up the good old OS X <strong>Terminal app<\/strong>.<\/p>\n<figure>\n<p><img decoding=\"async\" data-width=\"1024\" data-height=\"639\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*XnqqxXd63b4jL-Wh.gif\"><br \/>\n<\/figure>\n<ol>\n<li>Take your <strong>custom.css<\/strong> file<\/li>\n<li>Open up the <strong>Terminal App<\/strong>\n<\/li>\n<li>Drag + drop the\u00a0.css file onto it\u2019s opened window<\/li>\n<li>\n<strong>Copy the file path<\/strong> that starts with <em>Users\/yourname\/etcetc<\/em> and ends with\u00a0.css<\/li>\n<li>In Sketch\u200a\u2014\u200a<strong>create a new text node<\/strong> (T)<\/li>\n<li>Rename the text layer from <em>Type Something<\/em> to <strong>{externalasset.css}<\/strong> <strong>Important, the text layer not the text inside the text layer.<\/strong>\n<\/li>\n<\/ol>\n<figure>\n<p><img decoding=\"async\" data-width=\"2672\" data-height=\"1693\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*fWFhaG_sxuNC9I1F.png\"><br \/>\n<\/figure>\n<p>In the text file that now is on your artboard, write this: <strong>file:\/\/\/<\/strong> and copy+paste from your Terminal window the rest of the file path, ours ends with\u00a0<strong>.css<\/strong> In my case the whole file path is: file:\/\/\/Users\/juanmaguid\/Dropbox\/Sketch2React\/Assets\/Sketch\/CSS\/custom.css<\/p>\n<figure>\n<p><img decoding=\"async\" data-width=\"1291\" data-height=\"780\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*5TRqG4g6Y9lZ0v5d.png\"><br \/>\n<\/figure>\n<h3>Step 3\u200a\u2014\u200aLet\u2019s add some CSS animations!<\/h3>\n<p>I love animation and it\u2019s actually thanks to learning apps like <a href=\"https:\/\/www.youtube.com\/playlist?list=PLYgHlvJh8SlVCSevlEIbXP_tEP8_ZgwTu\" target=\"_blank\" rel=\"noopener noreferrer\">Keyshape<\/a> and <a href=\"https:\/\/www.haiku.ai\/learn\/\" target=\"_blank\" rel=\"noopener noreferrer\">Haiku<\/a> that I\u2019ve moved much faster towards actually learning code. You can <a href=\"https:\/\/medium.com\/sketch-app-sources\/once-you-design-with-code-youll-never-go-back-8ae0783eec2\" target=\"_blank\" rel=\"noopener noreferrer\">read more here<\/a> if you\u2019re interested in my personal journey.<\/p>\n<p>I found this <a href=\"https:\/\/robots.thoughtbot.com\/css-animation-for-beginners\" target=\"_blank\" rel=\"noopener noreferrer\">great article from 2016<\/a> just googling around, and from it, with a little help from Fredrik, I managed to come up with this code:<\/p>\n<pre><code>.bouncein {<br>    animation: bounceIn 1s;<br>  }<br>  @keyframes bounceIn {<br>    0% {<br>      transform: scale(0.1);<br>      opacity: 0;<br>    }<br>    60% {<br>      transform: scale(1.1);<br>      opacity: 1;<br>    }<br>    100% {<br>      transform: scale(1);<br>    }<br>  }<\/code><\/pre>\n<p>Inside Sketch, make sure to apply your <strong>class name<\/strong> (in our case it\u2019s <strong><em>bouncein<\/em>)<\/strong> to the object\/element you want to animate. In our case, I\u2019m applying it to the whole <strong>{container}<\/strong> that contains all of the text.<\/p>\n<pre><code>{container} [bouncein]<\/code><\/pre>\n<figure>\n<p><img decoding=\"async\" data-width=\"1024\" data-height=\"549\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/0*MUs3y-xckNmlxYiB.gif\"><br \/>\n<\/figure>\n<h3>Let\u2019s check it out our code\u00a0app<\/h3>\n<p>If nothing has gone wrong you should see your animation work!<\/p>\n<p>That\u2019s it! Wow that was a lot to digest, I totally understand if your wasted by now. So take another cup of hot \u2615 let this sink in before you dive right in again.<\/p>\n<figure class=\"wp-caption\">\n<p><img decoding=\"async\" data-width=\"1024\" data-height=\"599\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1200\/1*JOZPsP5IOUZtb9CIL8VoQQ.gif\"><figcaption class=\"wp-caption-text\">Advanced Export is a huuuuuuge step forward for\u00a0us!<\/figcaption><\/figure>\n<h3>Say hello to Advanced Export\u00a0?<\/h3>\n<p>As of version <strong>0.6.2 of <\/strong>our code app you now have something really really sweet called <strong>Advanced Export<\/strong>. Basically you add things to export and press the <strong>Download button<\/strong> and you get everything exported, custom CSS files included. One really big step from before is that you also get all of your images exported. If you have been using our framework since the start you know how it was before. Now you get all your files in a neat little zip automagically.<\/p>\n<p>Also new is full support for CSS classnames that use both Uppercase and Lowercase characters, so go totally bananas with our new favorite animation library <a href=\"https:\/\/daneden.github.io\/animate.css\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Animate.css<\/strong><\/a><strong> ???<\/strong><\/p>\n<figure class=\"wp-caption\">\n<p><img decoding=\"async\" data-width=\"600\" data-height=\"355\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*xrxL22h8O-x3boKgKuwLbw.gif\"><figcaption class=\"wp-caption-text\">Ooooo who needs animated GIFs when you can do it all with CSS?\u00a0?<\/figcaption><\/figure>\n<p><strong>To celebrate <\/strong>we created a very simple demo Animate.css Sketch file, just go <a href=\"https:\/\/sketch2react.io\/resources.php\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> and download it. It will show you how to set things up inside Sketch.<\/p>\n<p><a href=\"https:\/\/sketch2react.io\/resources.php\">https:\/\/sketch2react.io\/resources.php<\/a><\/p>\n<hr>\n<p><strong>Have a great one!<\/strong><\/p>\n<p><em>Juan from Team Sketch2React<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since the release of our Code App you now have the possibility to add custom CSS plugins that are stored locally on your computer. This is, without doubt, the single most powerful addition (yet) to our framework since the very beginning. Why? Let me explain. With your own custom made CSS plugins you expand your&hellip;&nbsp;<a href=\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">CSS Animations inside of Sketch with Sketch2React<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bgseo_title":"","bgseo_description":"","bgseo_robots_index":"","bgseo_robots_follow":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[166],"tags":[4,5,88,18],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-animation","tag-code","tag-css","tag-sketch-app"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CSS Animations inside of Sketch with Sketch2React | Sketch2React Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSS Animations inside of Sketch with Sketch2React - Sketch2React Blog\" \/>\n<meta property=\"og:description\" content=\"Since the release of our Code App you now have the possibility to add custom CSS plugins that are stored locally on your computer. This is, without doubt, the single most powerful addition (yet) to our framework since the very beginning. Why? Let me explain. With your own custom made CSS plugins you expand your&hellip;&nbsp;Read More &raquo;CSS Animations inside of Sketch with Sketch2React\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\" \/>\n<meta property=\"og:site_name\" content=\"Sketch2React Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-09T16:45:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-18T07:27:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg\" \/>\n<meta name=\"author\" content=\"Juan Maguid\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Juan Maguid\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\"},\"author\":{\"name\":\"Juan Maguid\",\"@id\":\"https:\/\/sketch2react.io\/blog\/#\/schema\/person\/7fc8fe20e137be20a66bc8634c059f4e\"},\"headline\":\"CSS Animations inside of Sketch with Sketch2React\",\"datePublished\":\"2018-12-09T16:45:39+00:00\",\"dateModified\":\"2020-06-18T07:27:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\"},\"wordCount\":1456,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg\",\"keywords\":[\"Animation\",\"Code\",\"CSS\",\"Sketch App\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\",\"url\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\",\"name\":\"CSS Animations inside of Sketch with Sketch2React - Sketch2React Blog\",\"isPartOf\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg\",\"datePublished\":\"2018-12-09T16:45:39+00:00\",\"dateModified\":\"2020-06-18T07:27:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage\",\"url\":\"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg\",\"contentUrl\":\"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sketch2react.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CSS Animations inside of Sketch with Sketch2React\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sketch2react.io\/blog\/#website\",\"url\":\"https:\/\/sketch2react.io\/blog\/\",\"name\":\"Sketch2React Blog\",\"description\":\"Articles, tutorials, tips &amp; tricks\",\"publisher\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sketch2react.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sketch2react.io\/blog\/#organization\",\"name\":\"Sketch2React Blog\",\"url\":\"https:\/\/sketch2react.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sketch2react.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sketch2react.io\/blog\/wp-content\/uploads\/2021\/10\/cropped-S2R2021Icon.png\",\"contentUrl\":\"https:\/\/sketch2react.io\/blog\/wp-content\/uploads\/2021\/10\/cropped-S2R2021Icon.png\",\"width\":512,\"height\":512,\"caption\":\"Sketch2React Blog\"},\"image\":{\"@id\":\"https:\/\/sketch2react.io\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/sketch2react.io\/blog\/#\/schema\/person\/7fc8fe20e137be20a66bc8634c059f4e\",\"name\":\"Juan Maguid\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sketch2react.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/eac199ca87b7cbb76863825e2f447fafd34ac3b7c4a03c94f499103333c24832?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/eac199ca87b7cbb76863825e2f447fafd34ac3b7c4a03c94f499103333c24832?s=96&d=wavatar&r=g\",\"caption\":\"Juan Maguid\"},\"url\":\"https:\/\/sketch2react.io\/blog\/author\/sketch2react\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CSS Animations inside of Sketch with Sketch2React | Sketch2React Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/","og_locale":"en_US","og_type":"article","og_title":"CSS Animations inside of Sketch with Sketch2React - Sketch2React Blog","og_description":"Since the release of our Code App you now have the possibility to add custom CSS plugins that are stored locally on your computer. This is, without doubt, the single most powerful addition (yet) to our framework since the very beginning. Why? Let me explain. With your own custom made CSS plugins you expand your&hellip;&nbsp;Read More &raquo;CSS Animations inside of Sketch with Sketch2React","og_url":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/","og_site_name":"Sketch2React Blog","article_published_time":"2018-12-09T16:45:39+00:00","article_modified_time":"2020-06-18T07:27:01+00:00","og_image":[{"url":"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg","type":"","width":"","height":""}],"author":"Juan Maguid","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Juan Maguid","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#article","isPartOf":{"@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/"},"author":{"name":"Juan Maguid","@id":"https:\/\/sketch2react.io\/blog\/#\/schema\/person\/7fc8fe20e137be20a66bc8634c059f4e"},"headline":"CSS Animations inside of Sketch with Sketch2React","datePublished":"2018-12-09T16:45:39+00:00","dateModified":"2020-06-18T07:27:01+00:00","mainEntityOfPage":{"@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/"},"wordCount":1456,"commentCount":0,"publisher":{"@id":"https:\/\/sketch2react.io\/blog\/#organization"},"image":{"@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg","keywords":["Animation","Code","CSS","Sketch App"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/","url":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/","name":"CSS Animations inside of Sketch with Sketch2React - Sketch2React Blog","isPartOf":{"@id":"https:\/\/sketch2react.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage"},"image":{"@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg","datePublished":"2018-12-09T16:45:39+00:00","dateModified":"2020-06-18T07:27:01+00:00","breadcrumb":{"@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#primaryimage","url":"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg","contentUrl":"https:\/\/cdn-images-1.medium.com\/max\/2560\/1*jb60jvzw9wqHfRcQFMhJAg.jpeg"},{"@type":"BreadcrumbList","@id":"https:\/\/sketch2react.io\/blog\/css-animations-inside-of-sketch-with-sketch2react\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sketch2react.io\/blog\/"},{"@type":"ListItem","position":2,"name":"CSS Animations inside of Sketch with Sketch2React"}]},{"@type":"WebSite","@id":"https:\/\/sketch2react.io\/blog\/#website","url":"https:\/\/sketch2react.io\/blog\/","name":"Sketch2React Blog","description":"Articles, tutorials, tips &amp; tricks","publisher":{"@id":"https:\/\/sketch2react.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sketch2react.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sketch2react.io\/blog\/#organization","name":"Sketch2React Blog","url":"https:\/\/sketch2react.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sketch2react.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/sketch2react.io\/blog\/wp-content\/uploads\/2021\/10\/cropped-S2R2021Icon.png","contentUrl":"https:\/\/sketch2react.io\/blog\/wp-content\/uploads\/2021\/10\/cropped-S2R2021Icon.png","width":512,"height":512,"caption":"Sketch2React Blog"},"image":{"@id":"https:\/\/sketch2react.io\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/sketch2react.io\/blog\/#\/schema\/person\/7fc8fe20e137be20a66bc8634c059f4e","name":"Juan Maguid","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sketch2react.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/eac199ca87b7cbb76863825e2f447fafd34ac3b7c4a03c94f499103333c24832?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eac199ca87b7cbb76863825e2f447fafd34ac3b7c4a03c94f499103333c24832?s=96&d=wavatar&r=g","caption":"Juan Maguid"},"url":"https:\/\/sketch2react.io\/blog\/author\/sketch2react\/"}]}},"_links":{"self":[{"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":1,"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":337,"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/posts\/100\/revisions\/337"}],"wp:attachment":[{"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sketch2react.io\/blog\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}