<?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>Forem: Stephanie Stimac 🔮 Web Witch</title>
    <description>The latest articles on Forem by Stephanie Stimac 🔮 Web Witch (@seaotta).</description>
    <link>https://forem.com/seaotta</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%2F809116%2Fb7737cd4-5112-4ef1-bf8b-d25887332328.jpg</url>
      <title>Forem: Stephanie Stimac 🔮 Web Witch</title>
      <link>https://forem.com/seaotta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/seaotta"/>
    <language>en</language>
    <item>
      <title>3 ways that understanding design fundamentals can help advance your career</title>
      <dc:creator>Stephanie Stimac 🔮 Web Witch</dc:creator>
      <pubDate>Thu, 09 Mar 2023 20:32:47 +0000</pubDate>
      <link>https://forem.com/seaotta/3-ways-that-understanding-design-fundamentals-can-help-advance-your-career-5g6m</link>
      <guid>https://forem.com/seaotta/3-ways-that-understanding-design-fundamentals-can-help-advance-your-career-5g6m</guid>
      <description>&lt;p&gt;Bridging the gap between design and development is key for successful teams building websites or products. “Should designers learn to code?” has been asked many times over the years, but “Should developers learn design?” seems to be much less asked.&lt;/p&gt;

&lt;p&gt;You don’t need to become an award-winning designer but if you’re a developer who builds for things that need a UI, learning design fundamentals can help you outside of just being able to make your projects look better.&lt;/p&gt;

&lt;h2&gt;
  
  
  With design fundamentals you can…
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Build your collaboration and communication skills with designers on your team to better understand their process and thinking so you can provide more feedback early in the project. More feedback early on = less back and forth in the development stage if a design isn’t feasible or the code needed to implement a design is going to negatively affect the user experience of a project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Understand how to improve the user experience of a product with a user-centric approach and identify points where designs may not translate well with code. Communication is key. If you can understand why your designers made certain decisions, you can help to brainstorm other ideas if the design isn’t going to be easy to build.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stand out in the job market with a diverse skill set. Being able to act as a liaison between design and development teams can help move you into more senior roles as you think about the whole product and not just the development side of things. You don’t have to be an amazing designer, but understanding the “why” behind decisions makes you a stronger candidate to be in a lead role.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Understanding design fundamentals and user experience basics will help you build products that look better but can contribute to the growth of your career in other ways.&lt;/p&gt;

&lt;p&gt;If you’re interested in advancing your design skills and learning the basics of visual design and user experience, the book &lt;a href="https://www.manning.com/books/design-for-developers?utm_source=stimac&amp;amp;utm_medium=affiliate&amp;amp;utm_campaign=book_stimac_design_4_19_22&amp;amp;a_aid=stimac&amp;amp;a_bid=5f6ba095"&gt;Design for Developers&lt;/a&gt; teaches those basics.&lt;/p&gt;

&lt;p&gt;Level up today and stay tuned for more tips on how visual design and user experience basics can help advance your skillset and career!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
      <category>career</category>
    </item>
    <item>
      <title>Using time-blocking to increase your productivity</title>
      <dc:creator>Stephanie Stimac 🔮 Web Witch</dc:creator>
      <pubDate>Fri, 17 Feb 2023 23:30:53 +0000</pubDate>
      <link>https://forem.com/seaotta/using-time-blocking-to-increase-your-productivity-2791</link>
      <guid>https://forem.com/seaotta/using-time-blocking-to-increase-your-productivity-2791</guid>
      <description>&lt;p&gt;So many things have my attention lately that I've been trying to figure out how to handle everything. I saw a product manager's tweet that showed a screenshot of what is (presumably) his calendar or an example of his and every moment of his working day was blocked off. &lt;/p&gt;

&lt;p&gt;I sort of brushed the tweet off with a lol and a "I hope my calendar never gets like that" comment...except something kept nagging at me about it. I currently juggle 6 products at work and while I make a daily to-do list of things I'd like to accomplish, everything just wasn't getting done. &lt;/p&gt;

&lt;h2&gt;
  
  
  Time-blocking for work
&lt;/h2&gt;

&lt;p&gt;So I started placing project focus blocks on my calendar. "Focus time" to tackle my to-do list each day for work. But at the end of the day, sometimes only one or two asks were getting checked off my list. Sometimes I have upwards of 7 things I'm trying to accomplish in a day, both new initiative work and repeating admin work (&lt;em&gt;waves to the multiple backlogs I'm trying to wrangle&lt;/em&gt;), on top of meetings, but generalized "focus time" wasn't working. &lt;/p&gt;

&lt;p&gt;Enter time-blocking. I started blocking off half hour and hour long chunks of time with a designated project or task to work on in my calendar. &lt;/p&gt;

&lt;p&gt;I've seen an improvement but not to the extent I want to. However, I've started to gain a better understanding of why things aren't improving like I want to. I work in a startup and when I start my day with my to-do list and hop on Slack, I have a whole list of things that may need my attention immediately or sometime during the day depending on the severity.&lt;/p&gt;

&lt;p&gt;time-blocking does help make time for the things I need to get done but some of those things that need to get done can change day to day so I still feel a bit scattered. But I decided to read a book to see if I could help myself even more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Time-blocking for your life
&lt;/h2&gt;

&lt;p&gt;I read &lt;a href="https://amzn.to/3IuFzI1" rel="noopener noreferrer"&gt;&lt;em&gt;Time-Blocking: Your Method to Supercharge Productivity &amp;amp; Reach Your Goals&lt;/em&gt;&lt;/a&gt; by Like Seavers to further help my productivity journey. It gives a good framework for how to time-block your life to maximize productivity and what's important to you. The three things that stuck in my head after reading this book: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Being good at multitasking is a lie&lt;/li&gt;
&lt;li&gt;The maximum number of things you should try to accomplish in a day is 3 &lt;/li&gt;
&lt;li&gt;time-blocking isn't just for work, it's for your whole life &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's talk about point number one. &lt;/p&gt;

&lt;h3&gt;
  
  
  Being good at multitasking is a lie
&lt;/h3&gt;

&lt;p&gt;I remember filling out applications for jobs claiming I was a proficient multitasker when I first started working. And I think I was, but I say that because the work I was doing was not like the work I was doing now. I can multitask office work: preparing paperwork, writing receipts, checking rent payments. I cannot multitask high level strategy for 6 different areas of work. &lt;/p&gt;

&lt;p&gt;I didn't multitask different design projects at the same time when I was doing design. In fact, I was even time-blocking work then, but in a bit of a different way because I had to keep track of billable hours. But I would focus on one design project for a client and then switch to another project for a different client. &lt;/p&gt;

&lt;p&gt;We are simply not designed to multitask no matter what the modern productivity machine would tell you. &lt;/p&gt;

&lt;h3&gt;
  
  
  Three is the ideal amount of tasks you should focus on in a day
&lt;/h3&gt;

&lt;p&gt;Anything more than that probably won't be quality work. This is perhaps where I struggle. I cannot dedicate 3 big chunks of time in my day to only 3 tasks. So while I try to put a cap on what I say I can accomplish in a day...it's not three things. It's still in the 5+ range. But the book also talked about determining what your essentials are so perhaps I need to revisit what those essentials in my life are. &lt;/p&gt;

&lt;h3&gt;
  
  
  Time-block for all the important things in your life
&lt;/h3&gt;

&lt;p&gt;I appreciated Seavers' view of time-blocking. It shouldn't just be something you do for work. You should also time-block for the important things in your personal life. time-block for family time, for a workout, etc so those important things outside of your work are accounted for. &lt;/p&gt;

&lt;p&gt;I personally like this. It helps to keep things in perspective and helps you be accountable to your personal goals. This is probably important to me because I've worked on some aspect of the web for the last 7 years in a way that creeps into my personal time. When I'm not PMing for &lt;a href="https://rapidapi.com/products/rapidapi-platform/" rel="noopener noreferrer"&gt;API Developer Tools&lt;/a&gt;, I'm learning and writing about new web platform features. One of my hobbies is being online...so I'm online. A lot. time-blocking for the things that aren't online helps me ensure I'm stepping away from the computer. &lt;/p&gt;

&lt;p&gt;I keep a habit tracker in my bullet journal as well to keep track of how often I work out, go for a walk, practice German, and read. &lt;/p&gt;

&lt;h2&gt;
  
  
  What's the point of time-blocking?
&lt;/h2&gt;

&lt;p&gt;Time-blocking ensures you're productive (and yes, spending time with your family is productive) and spending time doing the things that roll up to your high-level goals. The core of time-blocking is that you're scheduling blocks of time to help you work toward something. Whether it is spending more time with your family, improving your health, writing a book, or accomplishing projects at work, time-blocking is one methodology to help you allocate time. &lt;/p&gt;

&lt;p&gt;Luke Seavers details a rather good blueprint on how to lay out your goals so that you ensure your sub-tasks track back up to high level goals. &lt;/p&gt;

&lt;p&gt;Honestly it's like OKRs for your personal life which I'm finding helpful to put some direction in place after a chaotic international move, all the travel I do, and all the side projects I've got bouncing around in my head.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources for time-blocking
&lt;/h2&gt;

&lt;p&gt;Aside from books, there are daily planners that can help you time-block. I use my own bullet journal that I draw up every week because I find it quite meditative before diving into the digital world for the week. There are many options for planners available online already. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Time-Blocking-Method-Supercharge-Productivity-Reach/dp/B08RZ4Y78J?pd_rd_w=ESE4V&amp;amp;content-id=amzn1.sym.7f0cf323-50c6-49e3-b3f9-63546bb79c92&amp;amp;pf_rd_p=7f0cf323-50c6-49e3-b3f9-63546bb79c92&amp;amp;pf_rd_r=9ZMJBH82N5YBD5HK4GAH&amp;amp;pd_rd_wg=DeGrT&amp;amp;pd_rd_r=49c371c2-720c-472c-9285-62f13bb30a33&amp;amp;pd_rd_i=B08RZ4Y78J&amp;amp;psc=1&amp;amp;linkCode=li3&amp;amp;tag=stephaniestim-20&amp;amp;linkId=4b3a961e67b3e801f5ca724fbb70d94a&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_il" rel="noopener noreferrer"&gt;&lt;img src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=B08RZ4Y78J&amp;amp;Format=_SL250_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=stephaniestim-20&amp;amp;language=en_US"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli3%26o%3D1%26a%3DB08RZ4Y78J" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli3%26o%3D1%26a%3DB08RZ4Y78J" alt="" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Time-Blocking-Day-Planner-Luke-Seavers/dp/B08S4TJZH6?&amp;amp;linkCode=li2&amp;amp;tag=stephaniestim-20&amp;amp;linkId=49c59ec0838d4b0064008481754c0645&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_il" rel="noopener noreferrer"&gt;&lt;img src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=B08S4TJZH6&amp;amp;Format=_SL160_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=stephaniestim-20&amp;amp;language=en_US"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3DB08S4TJZH6" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3DB08S4TJZH6" alt="" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/dp/1520902271?psc=1&amp;amp;pd_rd_i=1520902271&amp;amp;pd_rd_w=OI1kF&amp;amp;content-id=amzn1.sym.88097cb9-5064-44ef-891b-abfacbc1c44b&amp;amp;pf_rd_p=88097cb9-5064-44ef-891b-abfacbc1c44b&amp;amp;pf_rd_r=9ZMJBH82N5YBD5HK4GAH&amp;amp;pd_rd_wg=DeGrT&amp;amp;pd_rd_r=49c371c2-720c-472c-9285-62f13bb30a33&amp;amp;s=books&amp;amp;sp_csd=d2lkZ2V0TmFtZT1zcF9kZXRhaWw&amp;amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzVVc2Sjg5TTZKVlU2JmVuY3J5cHRlZElkPUEwODc5NjQwOEE4Mk5URUJZWVlSJmVuY3J5cHRlZEFkSWQ9QTA1ODIzNjZITUVBVUZYWTJMUDUmd2lkZ2V0TmFtZT1zcF9kZXRhaWwmYWN0aW9uPWNsaWNrUmVkaXJlY3QmZG9Ob3RMb2dDbGljaz10cnVl&amp;amp;linkCode=li2&amp;amp;tag=stephaniestim-20&amp;amp;linkId=a1be8971ffc85e35f620e73d5e539d2f&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_il" rel="noopener noreferrer"&gt;&lt;img src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=1520902271&amp;amp;Format=_SL160_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=stephaniestim-20&amp;amp;language=en_US"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3D1520902271" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3D1520902271" alt="" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Time-Block-Planner-Daily-Method-Distracted/dp/0593192052?crid=MNXB7GZT9MN1&amp;amp;keywords=time+blocking&amp;amp;qid=1676584393&amp;amp;sprefix=time+blocking%2Caps%2C133&amp;amp;sr=8-7&amp;amp;linkCode=li2&amp;amp;tag=stephaniestim-20&amp;amp;linkId=4bcd23ab60dceea3149a9608067b1f7d&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_il" rel="noopener noreferrer"&gt;&lt;img src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=0593192052&amp;amp;Format=_SL160_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=stephaniestim-20&amp;amp;language=en_US"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3D0593192052" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3D0593192052" alt="" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Two-Tumbleweeds-Organizer-Academic-Notebooks/dp/B0812QD3PM?crid=MNXB7GZT9MN1&amp;amp;keywords=time+blocking&amp;amp;qid=1676584393&amp;amp;sprefix=time+blocking%2Caps%2C133&amp;amp;sr=8-38&amp;amp;linkCode=li2&amp;amp;tag=stephaniestim-20&amp;amp;linkId=117b68b052678726dcb447b11f4e0a87&amp;amp;language=en_US&amp;amp;ref_=as_li_ss_il" rel="noopener noreferrer"&gt;&lt;img src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;ASIN=B0812QD3PM&amp;amp;Format=_SL160_&amp;amp;ID=AsinImage&amp;amp;MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;WS=1&amp;amp;tag=stephaniestim-20&amp;amp;language=en_US"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3DB0812QD3PM" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fir-na.amazon-adsystem.com%2Fe%2Fir%3Ft%3Dstephaniestim-20%26language%3Den_US%26l%3Dli2%26o%3D1%26a%3DB0812QD3PM" alt="" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers and happy time-blocking! &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>learning</category>
    </item>
    <item>
      <title>Greater styling control over type with the `initial-letter` CSS property</title>
      <dc:creator>Stephanie Stimac 🔮 Web Witch</dc:creator>
      <pubDate>Mon, 16 Jan 2023 16:00:00 +0000</pubDate>
      <link>https://forem.com/seaotta/greater-styling-control-over-type-with-the-initial-letter-css-property-lb1</link>
      <guid>https://forem.com/seaotta/greater-styling-control-over-type-with-the-initial-letter-css-property-lb1</guid>
      <description>&lt;p&gt;Today we're taking a look at another new addition to CSS that's about to land in browsers: &lt;code&gt;initial-letter&lt;/code&gt;. This property is still experimental with support in Safari but it is supported in Chromium Canary browsers. It is a bit buggy at times and I encountered issues with DevTools crashing on me so it's still obviously experimental.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is &lt;code&gt;initial-letter&lt;/code&gt; and what does it do?
&lt;/h2&gt;

&lt;p&gt;The CSS property &lt;code&gt;initial-letter&lt;/code&gt; brings more control and styling over the first letter in a block of text...meaning we can get a little bit more fancy with our typography without hacky tricks.  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Initial-letter&lt;/code&gt; is a property that applies to the pseudo element &lt;code&gt;::first-letter&lt;/code&gt;. It lets you control the size of the first letter with a number that indicates how many lines tall the letter should be, and another value, an integer that can be added to indicate how many lines down the letter should sink. &lt;/p&gt;

&lt;p&gt;For example, let's say we want our letter to be 3 line lengths tall. We would write the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;p::first-letter {
  initial-letter: 3;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And in turn this would render the letter 3 lines tall: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb0762hu4vb0yx5ts1oc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb0762hu4vb0yx5ts1oc.png" alt="alt: Our first letter of each paragraph is 3 lines tall" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's bring in the second value to change where the letter is. The letter will still be 3 lines tall, but we want it to sink to the fourth line.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;p::first-letter {
  initial-letter: 3 4;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi7964fqeyz8zzsd6fvmf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi7964fqeyz8zzsd6fvmf.png" alt="alt: Our first letter of each paragraph is 3 lines tall and sinks to the fourth line" width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pretty neat and it only takes a line of code!&lt;/p&gt;

&lt;h2&gt;
  
  
  What does this solve for developers?
&lt;/h2&gt;

&lt;p&gt;The power of this property lies in the ability to remove hacks around styling and positioning the first letter of a block of text. There's no wrapping of your first letter in a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; or anything like that. The ability to size based on line height scales the letter nicely too. &lt;/p&gt;

&lt;h2&gt;
  
  
  More examples
&lt;/h2&gt;

&lt;p&gt;Let's look at a more styled demo. You can find the source code on my demo page: &lt;a href="https://stephs-demos.netlify.app/initial-letter/" rel="noopener noreferrer"&gt;CSS initial-letter demo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Technically we are able to size the first letter based on line height with &lt;code&gt;font-size: 2lh;&lt;/code&gt; or however many lines you'd like the letter to be tall. But we get the following with that declaration: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmy6kw3bkgqtbh1bj0mi7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmy6kw3bkgqtbh1bj0mi7.png" alt="alt: Our first letter has a font size of 2lh applied" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It doesn't quite look right especially when I want to create a really illustration focused first letter. The same thing happens if I try a value of &lt;code&gt;4lh&lt;/code&gt;...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgc22f0pekkgi6828xtr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgc22f0pekkgi6828xtr.png" alt="alt: Our first letter has a font size of 4lh applied and there is a massive gap below the first normal sized line of tex" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It may be 4 lines high but it continues to create a massive gap below the first line. It doesn't align well with the rest of the type either.&lt;/p&gt;

&lt;p&gt;When I use initial letter to handle my sizing though, I get the following design with a letter that aligns nicely to the left of the normal sized text and is actually positioned as 4 lines tall. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7za8vrs3xd6zihz837zi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7za8vrs3xd6zihz837zi.png" alt="Styled letter E using initial-letter" width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The important bits of CSS for the above display are as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  initial-letter: 4 6;
  padding: 2.2rem 2.6rem;
  font-weight: 900;
  margin-right: .5rem;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I've added some padding and font weight to control the styling of the first letter a bit more. &lt;/p&gt;

&lt;p&gt;You can inspect the demo for the full set of styles. I would like to note that outlining your letter doesn't appear to work if you have initial-letter applied, which seems like a miss in functionality. I've achieved the outline effect with a text shadow for this demo.&lt;/p&gt;

&lt;p&gt;I added an SVG background for the illuminated text treatment, and there's probably some neat animation effects that you could apply. &lt;/p&gt;

&lt;h2&gt;
  
  
  Other notes
&lt;/h2&gt;

&lt;p&gt;This is just the start of &lt;code&gt;initial-letter&lt;/code&gt;, per the &lt;a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1276900" rel="noopener noreferrer"&gt;Chromium issue&lt;/a&gt;, there are still items in the works: &lt;/p&gt;

&lt;p&gt;Following CSS properties are not implemented yet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;initial-letter-align&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;initial-letter-wrap&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And following features are not implemented yet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;multi-character initial letters (such as for first word or first phrase styling)&lt;/li&gt;
&lt;li&gt; inside-positioned ::marker pseudo-elements&lt;/li&gt;
&lt;li&gt; inline-level boxes that are placed at the start of the first line&lt;/li&gt;
&lt;li&gt;atomic inline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So stay tuned for more to come. &lt;/p&gt;

&lt;h3&gt;
  
  
  Browser support
&lt;/h3&gt;

&lt;p&gt;As of right now, &lt;code&gt;initial-letter&lt;/code&gt; is supported in Safari, though &lt;a href="https://caniuse.com/?search=initial-letter" rel="noopener noreferrer"&gt;caniuse&lt;/a&gt; says the implementation is incomplete, and it is coming soon to Chromium. &lt;/p&gt;

&lt;p&gt;I'm working in Edge Canary (Chromium) with the experimental web platform feature flag turned on, and the feature just shipped in the beta version of Chrome 110. &lt;/p&gt;

&lt;p&gt;Firefox doesn't appear to be support at all though there was a little bit of movement on the Gecko issue for it, but anything beyond that doesn't seem to be clear. Hopefully it will be prioritized as this feature brings some easy to implement capabilities for good typography on the web.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;Here's my &lt;a href="https://stephs-demos.netlify.app/initial-letter/" rel="noopener noreferrer"&gt;demo page&lt;/a&gt; link&lt;br&gt;
&lt;a href="https://codepen.io/seaotta/pen/OJwmpWj" rel="noopener noreferrer"&gt;A basic codepen&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/initial-letter" rel="noopener noreferrer"&gt;MDN Docs&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Want to keep in touch? Sign up for my &lt;a href="https://webwitchweekly.beehiiv.com/" rel="noopener noreferrer"&gt;newsletter&lt;/a&gt; to stay up to date with &lt;a href="https://www.manning.com/books/design-for-developers?utm_source=stimac&amp;amp;utm_medium=affiliate&amp;amp;utm_campaign=book_stimac_design_4_19_22&amp;amp;a_aid=stimac&amp;amp;a_bid=5f6ba095" rel="noopener noreferrer"&gt;my book, &lt;em&gt;Design for Developers&lt;/em&gt;&lt;/a&gt;, upcoming projects and events, and other bits about cool things on the web.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post was originally published on &lt;a href="https://blog.stephaniestimac.com" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwaredevelopment</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>An Introduction to Trigonometric CSS Functions (Updated Jan 6, 2023)</title>
      <dc:creator>Stephanie Stimac 🔮 Web Witch</dc:creator>
      <pubDate>Thu, 05 Jan 2023 16:00:00 +0000</pubDate>
      <link>https://forem.com/seaotta/an-introduction-to-trigonometric-css-functions-1ajd</link>
      <guid>https://forem.com/seaotta/an-introduction-to-trigonometric-css-functions-1ajd</guid>
      <description>&lt;p&gt;While perusing the &lt;a href="https://web.dev/web-platform-12-2022/" rel="noopener noreferrer"&gt;December 2022 post from web.dev&lt;/a&gt; about what's new in the web platform, the addition of Trigonometric CSS functions in Firefox caught my eye. &lt;/p&gt;

&lt;p&gt;Geometry and trigonometry were my two best math areas in school (I am not an Algebra person and generally did not enjoy math class), so I wanted to a quick look at these functions and what problems they solve for the web platform. When would developers use them?&lt;/p&gt;

&lt;h2&gt;
  
  
  Trigonometric CSS Functions Overview
&lt;/h2&gt;

&lt;p&gt;As of December 2022, Firefox and Safari are the two mainstream browsers that support Trigonometric CSS Functions. These include &lt;code&gt;cos()&lt;/code&gt;, &lt;code&gt;sin()&lt;/code&gt;, &lt;code&gt;tan()&lt;/code&gt;, &lt;code&gt;asin()&lt;/code&gt;, &lt;code&gt;acos()&lt;/code&gt;. &lt;code&gt;atan()&lt;/code&gt;, and &lt;code&gt;atan2()&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Support in Chromium is estimated to ship in version 111. &lt;/p&gt;

&lt;h3&gt;
  
  
  Basic use cases per the MDN documentation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cos()&lt;/code&gt;: can be used to keep the size of a &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/cos#keep_the_size_of_a_rotated_box" rel="noopener noreferrer"&gt;rotated box&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sin()&lt;/code&gt;: can be used to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/sin#boxes_size" rel="noopener noreferrer"&gt;size boxes&lt;/a&gt; and as an &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/sin#controlling_animation_duration" rel="noopener noreferrer"&gt;&lt;code&gt;animation-duration&lt;/code&gt; value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tan()&lt;/code&gt;: can be used to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/tan#draw_parallelograms" rel="noopener noreferrer"&gt;draw parallelograms&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;asin()&lt;/code&gt;: can be used to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/asin" rel="noopener noreferrer"&gt;rotate elements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;acos()&lt;/code&gt;: can be used to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/acos#rotate_elements" rel="noopener noreferrer"&gt;rotate elements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;atan()&lt;/code&gt;: can be used to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/atan#examples" rel="noopener noreferrer"&gt;rotate elements&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;atan2()&lt;/code&gt;: can be used to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/atan2#rotate_elements" rel="noopener noreferrer"&gt;rotate elements&lt;/a&gt; and accepts two values as parameters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The MDN docs highlight the differences between the 4 functions for rotating elements. For example, &lt;code&gt;atan()&lt;/code&gt; returns the inverse tangent of two values between -infinity and infinity, whereas &lt;code&gt;sin()&lt;/code&gt; returns the sine of a number that has a value between -1 and 1.  &lt;/p&gt;

&lt;h2&gt;
  
  
  What problems do they solve for developers?
&lt;/h2&gt;

&lt;p&gt;At first glance, the use cases for these functions don't seem incredibly compelling to me. The MDN documentation use cases for rotating a shape or defining widths of elements don't seem that useful for a developer. We can already do those things and the examples with these functions seem long winded. &lt;/p&gt;

&lt;p&gt;So I went and found the &lt;a href="https://github.com/w3c/csswg-drafts/issues/2331" rel="noopener noreferrer"&gt;CSSWG GitHub discussion&lt;/a&gt; to dig into the "why?"&lt;/p&gt;

&lt;p&gt;The main takeaway: these additions to CSS mean more complex animations that can be built with CSS and not JavaScript. This &lt;a href="https://codepen.io/thebabydino/pen/JNZGwE/" rel="noopener noreferrer"&gt;animation example from Ana Tudor&lt;/a&gt; is a good example. Trigonometric computations are done in JavaScript to achieve a seamless animation effect where the points line up exactly as they rotate and when the orange shapes skew on each rotation.&lt;/p&gt;

&lt;p&gt;Another possible use case that came up elsewhere was using these to create charts and graphs in CSS, but this raises a question around responsiveness and scaling those angles and curves, though responsive skewing is mentioned in the GitHub issue.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update January 6, 2023&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://github.com/web-platform-tests/interop/issues/149" rel="noopener noreferrer"&gt;GitHub issue&lt;/a&gt; explains some more use cases for trigonometric functions. &lt;/p&gt;

&lt;p&gt;I was surprised to see complex layouts on the list, but when discussing this with &lt;a href="https://twitter.com/jh3yy" rel="noopener noreferrer"&gt;Jhey&lt;/a&gt; he mentioned using &lt;code&gt;sin()&lt;/code&gt; to lay things out on a curve which could introduce some interesting layout possibility! &lt;/p&gt;

&lt;h2&gt;
  
  
  Closing thoughts
&lt;/h2&gt;

&lt;p&gt;The addition of more math functions to CSS reduces some reliance on JavaScript which I view as a win. The primary use case for these seems to be easier shape creation and more options for building complex animations. &lt;/p&gt;

&lt;p&gt;If you're building and maintaining an average website, I don't see these being overly useful, but I'd love to know if you have a use case for these functions. Let me know on &lt;a href="https://twitter.com/seaotta" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or &lt;a href="https://toot.cafe/@seaotta" rel="noopener noreferrer"&gt;Mastodon&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.w3.org/TR/css-values-4/#trig-funcs" rel="noopener noreferrer"&gt;CSS Values and Units Modules Level 4: Trigonometric Functions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://tympanus.net/codrops/2021/06/01/trigonometry-in-css-and-javascript-introduction-to-trigonometry/" rel="noopener noreferrer"&gt;Part 1: in CSS and JavaScript: Introduction to Trigonometry&lt;/a&gt; by Michelle Barker&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://tympanus.net/codrops/2021/06/02/trigonometry-in-css-and-javascript-getting-creative-with-trigonometric-functions/" rel="noopener noreferrer"&gt;Part 2: Trigonometry in CSS and JavaScript: Getting Creative with Trigonometric Functions&lt;/a&gt; by Michelle Barker&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://tympanus.net/codrops/2021/06/04/trigonometry-in-css-and-javascript-beyond-triangles/" rel="noopener noreferrer"&gt;Part 3: Trigonometry in CSS and JavaScript: Beyond Triangles&lt;/a&gt; by Michelle Barker&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Want to keep in touch? Sign up for my &lt;a href="https://webwitchweekly.beehiiv.com/" rel="noopener noreferrer"&gt;newsletter&lt;/a&gt; to stay up to date with &lt;a href="https://www.manning.com/books/design-for-developers?utm_source=stimac&amp;amp;utm_medium=affiliate&amp;amp;utm_campaign=book_stimac_design_4_19_22&amp;amp;a_aid=stimac&amp;amp;a_bid=5f6ba095" rel="noopener noreferrer"&gt;my book, &lt;em&gt;Design for Developers&lt;/em&gt;&lt;/a&gt;, upcoming projects and events, and other bits about cool things on the web.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post was originally published on &lt;a href="https://blog.stephaniestimac.com" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>emptystring</category>
    </item>
    <item>
      <title>DevTools Tip: Sync your CSS Edits from the browser to VS Code</title>
      <dc:creator>Stephanie Stimac 🔮 Web Witch</dc:creator>
      <pubDate>Wed, 23 Nov 2022 18:20:00 +0000</pubDate>
      <link>https://forem.com/seaotta/devtools-tip-sync-your-css-edits-from-the-browser-to-vs-code-4ong</link>
      <guid>https://forem.com/seaotta/devtools-tip-sync-your-css-edits-from-the-browser-to-vs-code-4ong</guid>
      <description>&lt;p&gt;In the Myspace and Livejournal days of the web, you could find me altering themes with CSS. I honestly can't remember exactly what led to poking around in CSS but it was most likely seeing custom layouts or styles in Livejournal and then figuring it out from there. &lt;/p&gt;

&lt;p&gt;My degree is in web design and I've spent many an hour in the Styles pane in the browser DevTools' Elements tool. When I'm styling a project, my workflow is typically to write the HTML, add some classes I suspect I'll want to use and then start the CSS boilerplate. &lt;/p&gt;

&lt;p&gt;Once I've done that, I open the Microsoft Edge Developer Tools and use the Elements tool with the Styles pane to style my elements and design in the browser. &lt;/p&gt;

&lt;p&gt;This is the way it's always been for me. As is the unavoidable loss of styles I applied when I accidentally refreshed by browser pane. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wNW8d_FM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rekhn0vqrwh0gd5dqkr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wNW8d_FM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rekhn0vqrwh0gd5dqkr.png" alt="The Developer Tools Elements tool with Styles pane open" width="880" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Big headache...what styles did I try to add? &lt;/p&gt;

&lt;p&gt;The timeless question I asked...until the ability to sync your changes to VS Code was added. &lt;/p&gt;

&lt;p&gt;VS Code is my IDE of choice. I have tried atom and another one I've forgotten the name of...and Dreamweaver, ages ago. Maybe working at Microsoft, it was inevitable I use VS Code. I do enjoy using it though. &lt;/p&gt;

&lt;p&gt;What I love about it is that I can sync my CSS changes back to my file when I'm adding and removing styles in the browser. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To set this up, go to the DevTools Settings pane &amp;gt; Experiments &amp;gt; Then find "Open source files in Visual Studio Code" in the list. Then re-start DevTools. &lt;/li&gt;
&lt;li&gt;When you open a local server or a local project file, you'll be prompted to select the root folder you're working from for your project. &lt;/li&gt;
&lt;li&gt;When you go back to the Elements tool and the styles pane, and the file you're working on is located within that root folder you set, you should be able to make edits to your CSS and it will immediately reflect back in your CSS file in VS Code. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oEIMpLIf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8w6i9nifuvf5g0wk6cz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oEIMpLIf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8w6i9nifuvf5g0wk6cz.png" alt="The DevTools UI showing a prompt to select a root folder" width="880" height="94"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z-vo900o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mhhb7zl4hwr4udunoxm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z-vo900o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mhhb7zl4hwr4udunoxm4.png" alt="The Workflows tab in the browser DevTools Settings pane" width="880" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you uncheck styles you've applied in the browser, that also syncs back to VS Code, but instead of removing the style, it just comments it out. So if you don't reapply it, you'll have to do a little code cleanup, but I find this a minimal task. &lt;/p&gt;

&lt;p&gt;As someone who designs in the browser, this is one of my core workflows and such a handy feature in the DevTools for CSS. &lt;/p&gt;

&lt;p&gt;You can read more about this feature and how to manage a Workspace in the DevTools in the &lt;a href="https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/sources/opening-sources-in-vscode"&gt;Edge DevTools documentation&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;Follow me on &lt;a href="https://twitter.com/seaotta"&gt;Twitter&lt;/a&gt; for tech, travel and musings. I blog over on my website at &lt;a href="https://blog.stephaniestimac.com"&gt;blog.stephaniestimac.com&lt;/a&gt; and run &lt;a href="https://webwewant.fyi"&gt;The Web We Want&lt;/a&gt;, a place for web developers and designers to submit the things they need from browsers and the web platform to make their jobs easier. Author of &lt;a href="https://www.manning.com/books/design-for-developers?utm_source=stimac&amp;amp;utm_medium=affiliate&amp;amp;utm_campaign=book_stimac_design_4_19_22&amp;amp;a_aid=stimac&amp;amp;a_bid=5f6ba095"&gt;Design for Developers&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>css</category>
    </item>
    <item>
      <title>Building better websites with the Chromium DevTools Issues Panel</title>
      <dc:creator>Stephanie Stimac 🔮 Web Witch</dc:creator>
      <pubDate>Mon, 07 Nov 2022 00:37:21 +0000</pubDate>
      <link>https://forem.com/seaotta/building-better-websites-with-the-chromium-devtools-issues-panel-c9n</link>
      <guid>https://forem.com/seaotta/building-better-websites-with-the-chromium-devtools-issues-panel-c9n</guid>
      <description>&lt;p&gt;What feels like a very long time ago, I was leading the design, UX and front-end development for the open source project &lt;a href="https://webhint.io"&gt;webhint.io&lt;/a&gt;. Webhint is a linting tool that helps improve your website’s accessibility, performance, security, and interop between browsers.&lt;/p&gt;

&lt;p&gt;Sometime within the last two years, the web UI for webhint was retired, but there’s still a VS Code extension and a CLI tool, it is also the basis for what is now the Issues panel in the Chromium browser DevTools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accessing the Issues panel
&lt;/h2&gt;

&lt;p&gt;The browser DevTools are packed full of web development tools beyond the defaults that are shown when you open them up.&lt;/p&gt;

&lt;p&gt;To access the Issues panel, find the 3 dots in the UI that open up a new menu. I’m in the Microsoft Edge developer tools, and this icon is located in the upper right hand corner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3_O4bPdp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4yjbxajmdjbawd195ysw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3_O4bPdp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4yjbxajmdjbawd195ysw.png" alt="The “More” Menu is located in the upper right hand corner of the UI with an icon of three dots." width="880" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find the “More Tools” menu item and that will bring up a complete list of all the tools available in the browser in alphabetical order. Find the “Issues” panel in the list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KzTdDCnL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jpue44vdyyen6d5vylcq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KzTdDCnL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jpue44vdyyen6d5vylcq.png" alt="The “More Tools” menu item gives a complete list of tools available." width="880" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you click on the Issues tool, it will show up in the bottom pane of the UI and if there’s anything amiss with the code you’re inspecting and it falls under one of the rules the Issues tool is checking for, it’ll appear there.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vlzt6dP7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9s7l2wr1l2yyvmbj3cyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vlzt6dP7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9s7l2wr1l2yyvmbj3cyu.png" alt="The Issues panel in the lower half of the UI in a new pane." width="880" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Filtering issues by severity and browser
&lt;/h2&gt;

&lt;p&gt;In the top toolbar of the lower pane, you can adjust your preferences for what kind of Issues you want to show up and for a handful of desktop and mobile browsers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--62enhv-e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/twtt14uxfcs8vdj2j7hp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--62enhv-e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/twtt14uxfcs8vdj2j7hp.png" alt='In the top toolbar of the Issues pane, the "severity level" dropdown is open and showing the list of items to filter by.' width="880" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The different severity levels you can filter for are tips, info, warnings and errors. And the browsers you can target are Edge, Chrome, Firefox, Safari, Internet Explorer (support may be gone but it still lives on), and Opera on desktop. On mobile you can target Safari iOS, Chrome for Android, Firefox for Android, Samsung Internet, and Android Webview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v9d5b3FK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/253642jytvc9u6b7b26d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v9d5b3FK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/253642jytvc9u6b7b26d.png" alt='In the top toolbar of the Issues pane, the "browser" dropdown is open and showing the list of browsers to target.' width="880" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Expanding the issue will give you a description of what’s being reported, the resource that’s affected and a link out to some documentation so you can better understand what’s being reported and why you should care about it. It’s up to you to decide from there whether you’d like to fix it or not, but the issues reported on are there to help improve the code you’ve written and make the site a better experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linting in your browser
&lt;/h2&gt;

&lt;p&gt;This tool brings linting straight to your browsers so you can get an idea of what needs to be worked on, if anything, in your codebase. If you need more robust linting though, you can use the webhint.io CLI to customize even further.&lt;/p&gt;




&lt;p&gt;Follow me on &lt;a href="https://twitter.com/seaotta"&gt;Twitter&lt;/a&gt; for tech, travel and musings. I blog over on my website at &lt;a href="https://blog.stephaniestimac.com"&gt;blog.stephaniestimac.com&lt;/a&gt; and run &lt;a href="https://webwewant.fyi"&gt;The Web We Want&lt;/a&gt;, a place for web developers and designers to submit the things they need from browsers and the web platform to make their jobs easier. Author of &lt;a href="https://www.manning.com/books/design-for-developers?utm_source=stimac&amp;amp;utm_medium=affiliate&amp;amp;utm_campaign=book_stimac_design_4_19_22&amp;amp;a_aid=stimac&amp;amp;a_bid=5f6ba095"&gt;Design for Developers&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
