<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amy</title>
    <description>The latest articles on DEV Community by Amy (@amykble).</description>
    <link>https://dev.to/amykble</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F303477%2F75ff7a31-6998-493e-bd6c-9b3b92c9a3ce.jpeg</url>
      <title>DEV Community: Amy</title>
      <link>https://dev.to/amykble</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amykble"/>
    <language>en</language>
    <item>
      <title>Make It Work, Then Make it Pretty</title>
      <dc:creator>Amy</dc:creator>
      <pubDate>Fri, 17 Jan 2020 19:09:02 +0000</pubDate>
      <link>https://dev.to/amykble/make-it-work-then-make-it-pretty-27m8</link>
      <guid>https://dev.to/amykble/make-it-work-then-make-it-pretty-27m8</guid>
      <description>&lt;h4&gt;
  
  
  I thought I'd write a small post about something that can both hinder and help a beginner programmer: wanting to write perfect code.
&lt;/h4&gt;

&lt;p&gt;It may come across as obvious when I say this is impossible, we've all heard the saying &lt;strong&gt;"don't let perfect be the enemy of good"&lt;/strong&gt;, but it's easy to forget these things when we are in the middle of learning a new language, especially as a beginner.  After all, you want to make sure you're doing things the proper way. If not, what's the point in following tutorials and coming to sites like this one if we are just going to ignore the advice we come across.  I think what sparked me to write this post was seeing &lt;a href="https://www.reddit.com/r/webdev/comments/eq12cr/need_advice_how_to_stop_over_engineering_solutions/"&gt;this&lt;/a&gt; thread on Reddit.  It seems that there must be a balance between clean code and meeting deadlines, whether those deadlines are set by ourselves, an employer or a client.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Make It Work, Then Make It Pretty
&lt;/h3&gt;

&lt;p&gt;Okay so I think this short phrase has really helped me out over the last few days, I've been learning a new language and really engaging with the course I'm following.  Whilst it's super motivating and nice to follow a structured course, it can also be frustrating to see examples on codepen that are so much cleaner than mine, doing the same job in half as many lines of code.  &lt;strong&gt;But that's when this saying needs to be remembered!&lt;/strong&gt;  If you find yourself comparing the code to your first project in a new language to something you have found online, remember this.&lt;br&gt;
You're still in the "make it work" phase.  They're in the "make it pretty" phase.&lt;br&gt;
You can be forgiven!&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Practicality
&lt;/h3&gt;

&lt;p&gt;This phrase can also be applied in a practical sense.  If you find yourself spending a lot of time on each section of code to make it run as efficiently as possible, &lt;strong&gt;that's a good thing&lt;/strong&gt;, it means you have an eye for detail and don't want to produce projects to a lower standard than what you've personally set.  But you might find that separating concerns out, into first getting the code to work and then making it efficient and readable might be a faster way of working.  It's usually easier for us to focus on one thing at a time, so it we spend a long time cleaning up code we might lose track of what we were doing in the first place.  Dividing up your work flow and accounting for time, perhaps at the end of each session, to tidy everything up could work to your benefit if you have an eye for detail but also have deadlines.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Subjectivity
&lt;/h3&gt;

&lt;p&gt;When you're in the "make it pretty" phase, there's a lot you could do to achieve that end.  In other words, don't get stuck in a paradox of cleaning up your code, because there's a lot of ways to do things.  You can divide code up in quite few different ways and it will still be readable and concise.  There is a level of personal preference when it comes to coding: which naming convention you use, which reset you use, which preprocessor you like, which library is better.  Find what you like, which does the job for you best and work with it for a while.  If limitations come about, do some research, but don't get stuck.  These tools are here to make coding easier and more powerful for us, after all.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you for reading! Any comments are appreciated :)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>codequality</category>
    </item>
    <item>
      <title>Who Knew Pseudo Elements Were So Great!</title>
      <dc:creator>Amy</dc:creator>
      <pubDate>Sat, 11 Jan 2020 20:10:51 +0000</pubDate>
      <link>https://dev.to/amykble/who-knew-pseudo-elements-were-so-great-3pc2</link>
      <guid>https://dev.to/amykble/who-knew-pseudo-elements-were-so-great-3pc2</guid>
      <description>&lt;h3&gt;
  
  
  There are a bunch of useful ways to use pseudo elements that are easy to forget about, this pen shows a few ways I commonly use them myself.
&lt;/h3&gt;

&lt;p&gt;Before I get started, &lt;a href="https://codepen.io/amykble/pen/zYxPpOV"&gt;here's a link to the codepen that goes along with this post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I use pseudo elements in all sorts of ways whilst creating websites. Some ways are pretty common, whilst other times it's easy to forget that a pseudo element would be perfect for keeping code tidy.  This dev.to post gives 4 ways to use pseudo elements.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Make Backgrounds Pretty
&lt;/h2&gt;

&lt;p&gt;Firstly, add a background class, either on the body itself or a div. Depending on your usecase.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"background"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Here, I am going to use the &lt;strong&gt;::after&lt;/strong&gt; pseudo element to give the background two different colors.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.background&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;azure&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100vh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100vw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;z-index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;-1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.background&lt;/span&gt;&lt;span class="nd"&gt;::after&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;cadetblue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100vw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50vh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;So, the background in this case is set to fill the screen size, and the ::after element is set to take up 50% of the view height, and to stay at the bottom of the .background class.&lt;/p&gt;

&lt;p&gt;Notice that the position for the background class is set to &lt;strong&gt;relative&lt;/strong&gt;.  This has to explicitly be stated for pseudo elements, or their positioning will be applied relative to the body element.  setting the z-index will put the pseudo element behind other elements on the page.&lt;/p&gt;

&lt;p&gt;The pseudo element itself, in this case, ::after, must also have &lt;strong&gt;content:''&lt;/strong&gt; and positioning set to &lt;strong&gt;anything other than relative&lt;/strong&gt;, or it will not appear on the screen.  Leave content empty for now, I will give an example using it later on in this post.&lt;/p&gt;

&lt;p&gt;Tip: add transform: skewY(NUMBERdeg); to angle the ::after element, it looks pretty cool!&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Text Styling
&lt;/h2&gt;

&lt;p&gt;This one works on any text, from headers to paragraphs and links.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;The first letter of this heading is different&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;The first line of this paragraph is different. Lorem ipsum dolor sit, 
   amet consectetur adipisicing elit. Incidunt pariatur maxime quia ratione 
   dolor est soluta possimus minus quis deleniti ipsum vero, quo vitae dicta 
   mollitia rem eum ab repellendus?&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Using the &lt;strong&gt;::first-letter&lt;/strong&gt; and &lt;strong&gt;::first-line&lt;/strong&gt; pseudo elements lets us edit specific parts of text on a page, we can get the "newspaper" look with a larger first letter, for example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="nd"&gt;::first-letter&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.5em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;I'm using 'rem's for the original font-size and 'em's for the pseudo element, this way, it will &lt;strong&gt;stay relative&lt;/strong&gt; to the text size.&lt;/p&gt;

&lt;p&gt;The same rules apply to ::first line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="nd"&gt;::first-line&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bolder&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;midnightblue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Bullet Points
&lt;/h2&gt;

&lt;p&gt;My favourite way to use pseudo elements is for &lt;strong&gt;styling lists&lt;/strong&gt;. The following list is styled using a &lt;strong&gt;::before pseudo element&lt;/strong&gt; to change the bullets to look colourful.&lt;/p&gt;

&lt;p&gt;First step is to create an unordered list and remove the styling.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Practise CSS stlying&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Use more pseudo elements&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Style this list&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Create beautiful websites!&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;list-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Removing the standard bullet points means I can add my own and make them look better.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffeb3b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;The most important part to remember here is to display the pseudo element as an &lt;strong&gt;inline-block&lt;/strong&gt;.  To make them round, I applied a border-radius of 50%. &lt;br&gt;
 Therefore, no matter the size of the block, the border radius will adjust.  After that, the margins are used to move the bullets away from the list.&lt;/p&gt;

&lt;p&gt;Lists can also be styled using &lt;strong&gt;shapes as bullet points&lt;/strong&gt;. My example uses a hex reference, a list which can be found &lt;a href="https://www.w3schools.com/charsets/ref_utf_geometric.asp"&gt;here&lt;/a&gt;. This is where the conttent property is used.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;'\25B8'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffeb3b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Make Links Fun
&lt;/h2&gt;

&lt;p&gt;Using a ::before or ::after pseudo element to style links can add a nice flare to the hover or focus state. By scaling the X axis from 0 to 1 over a transition, a smooth underline is created. Here's the code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;text-decoration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transition-delay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.4s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nd"&gt;::after&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;-2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fafafa&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;transform&lt;/span&gt; &lt;span class="m"&gt;0.5s&lt;/span&gt; &lt;span class="n"&gt;ease-in-out&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scaleX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Now all I need to do is tell the pseudo element to scale up when the link is hovered over or focused on.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nd"&gt;:focus::after&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nd"&gt;:hover::after&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scaleX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;transform-origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Transform-origin tells the transform where to start, changing this can create different effects.&lt;/p&gt;

&lt;h4&gt;
  
  
  Thank you for reading! I've been using pseudo elements a lot recently and thought I'd share the usecases I have for them.  There are more, and if anyone has any interesting or obscure uses for pseudo elements, let me know!
&lt;/h4&gt;

</description>
      <category>css</category>
      <category>beginners</category>
      <category>womenintech</category>
    </item>
    <item>
      <title>What I've Learned About Remote Work</title>
      <dc:creator>Amy</dc:creator>
      <pubDate>Thu, 02 Jan 2020 13:31:31 +0000</pubDate>
      <link>https://dev.to/amykble/what-i-ve-learned-about-remote-work-3310</link>
      <guid>https://dev.to/amykble/what-i-ve-learned-about-remote-work-3310</guid>
      <description>&lt;p&gt;Over the last few months, I have learnt a lot about working remotely through making mistakes, falling into bad habits and having to correct them.  I no doubt have a lot more to learn about working from home, but for now, here's my small collection of tips and pointers for getting started with remote work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discipline = Freedom
&lt;/h2&gt;

&lt;p&gt;I heard this a lot, i thought it was a bit cliché but it wasn't until I started working on freelance projects that I realised just how important it was.  The first website I made was for my Dad's business, a static website consisting of 5 simple pages, yet it took me about a month to complete.  Of course, this can in part be understood, it was the first project I had committed myself to, my web development skills have improved a lot since then through sheer practise.  But it was also because my schedule was all but non-existent.  Most nights I was awake until 2 a.m., which in turn meant I had no morning routine and was tired if i woke up earlier than 10 a.m. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wanted my evenings back.&lt;/strong&gt;  I knew I loved frontend development, but I missed spending time with my friends without feeling guilty that I hadn't got my work done for that day.&lt;/p&gt;

&lt;p&gt;this meant even the decision to close my laptop by 8 p.m. everyday vastly improved my routine. I had to become a bit tough on myself.  &lt;strong&gt;I haven't finished my work today? It can be completed tomorrow.&lt;/strong&gt;  I can always wake up a little earlier to get in some extra work.  Better that than sitting at a desk in my room whilst my family watches that film tonight that I've wanted to watch for weeks. &lt;/p&gt;

&lt;p&gt;Don't get me wrong, sometimes when I'm in the flow and I know I can finish a project that night if I just keep coding for a couple more hours, I'll give myself the time.  But these late nights are few and far between, besides, the evidence suggests that a consistent sleep routine and healthy breakfast does wonders for focus and productivity.  Here's a link to &lt;a href="https://www.youtube.com/watch?v=pwaWilO_Pig&amp;amp;t=2018s"&gt;Joe Rogan's Podcast&lt;/a&gt; about the importance of sleep with Matthew Walker, an expert on the subject.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work/Life Balance
&lt;/h2&gt;

&lt;p&gt;This one goes hand in hand with the previous tip.  As you can probably tell, my work/life balance was all over the place.  I'd do nothing but write CSS for days in a row and then realise I hadn't spent any quality time with my girlfriend, played video games or taken time to relax and recharge.&lt;/p&gt;

&lt;p&gt;This is pretty common for me, and I think it's the same for a lot of people.  When we become interested in something new, like web development, &lt;strong&gt;we can become a little obsessed.&lt;/strong&gt;  I wanted to learn everything I could, I'd watch tutorials about CSS layouts all day, I'd read countless articles before bed about why this text editor is better than that one.  Sometimes, i'd find myself doing these things when I was out with friends or family for dinner... that is unhealthy!&lt;/p&gt;

&lt;p&gt;Sure, understanding CSS layouts is important for frontend design, and choosing the right text editor for you will speed up your work flow, I'm not disputing the importance of learning and researching your field of study, I just want to highlight finding a balance, because watching just one more video or reading one more article won't drastically improve your development skills, but it can easily eat away at your free time.  Add the video to your Watch Later playlist, bookmark that article and &lt;strong&gt;call it a day.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Make Beginning Easy
&lt;/h2&gt;

&lt;p&gt;I'm going to focus now on some tips for &lt;strong&gt;kickstarting good remote work practises,&lt;/strong&gt; and losing the bad habits.  It's all well and good to want to have a healthy work/life balance, but getting started with a good morning routine when you've been staying up all night for weeks now can be hard.  The saying goes &lt;strong&gt;a good day starts the night before,&lt;/strong&gt; so lets start there.&lt;/p&gt;

&lt;p&gt;I use &lt;a href="https://teuxdeux.com/"&gt;TeuxDeux&lt;/a&gt; for daily ToDo planning, I can see my lists for the next few days, what I don't finish that day moves to the next day automatically and I usually leave the tab open on my tablet to quickly tick off what I complete.  Having my ToDos easily available helps me start my day.  Whilst I use Notion and Google Calendar also, a quick, simple ToDo app is where i'd suggest beginning when it comes to organising your day.&lt;/p&gt;

&lt;p&gt;Often, &lt;strong&gt;mental effort acts as a barrier to entry&lt;/strong&gt; for having a productive day, so leaving your workspace tidy, having a few things on your ToDo list ready for the next day, and even leaving your laptop open rather than closed makes the process of beginning easier.  The less physical resistance to beginning work, the less mental resistance too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simplicity is Your Friend
&lt;/h2&gt;

&lt;p&gt;In the same vein, if your work process is simple whilst still being effective, you will find it makes remote work a lot easier.  I mentioned Notion earlier - it is a great app, it's powerful, tidy and I like it for project management, but I've found it to be too complicated for general note taking and ToDo lists.  It takes too long to open on my phone if I want to write an idea down quickly or check off a completed task.  I like to use a smaller application for these things.  &lt;/p&gt;

&lt;p&gt;Since I store my projects in Notion, I can easily get distracted with side projects I'm working on just because I see them when I open the app, to avoid this, using a separate application in the day for general note taking is useful. &lt;br&gt;
 Before I finish for the day I &lt;strong&gt;log everything I need to into Notion,&lt;/strong&gt; which helps me to stay organised.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>beginners</category>
      <category>womenintech</category>
    </item>
  </channel>
</rss>
