<?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: MD3BM</title>
    <description>The latest articles on DEV Community by MD3BM (@md3bm).</description>
    <link>https://dev.to/md3bm</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%2F722896%2F8c1c3213-281e-4ff3-ab64-e8a332c1e0d7.jpg</url>
      <title>DEV Community: MD3BM</title>
      <link>https://dev.to/md3bm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/md3bm"/>
    <language>en</language>
    <item>
      <title>Mastering Responsive Typography: Best Practices of the CSS SASS Mixin</title>
      <dc:creator>MD3BM</dc:creator>
      <pubDate>Thu, 08 Feb 2024 16:05:16 +0000</pubDate>
      <link>https://dev.to/md3bm/mastering-responsive-typography-best-practices-of-the-css-sass-mixin-ilc</link>
      <guid>https://dev.to/md3bm/mastering-responsive-typography-best-practices-of-the-css-sass-mixin-ilc</guid>
      <description>&lt;p&gt;In today's digital landscape, responsive design has become a fundamental aspect of web development. Ensuring that our websites adapt seamlessly to different screen sizes and devices is crucial for delivering an optimal user experience. One key element of responsive design is typography, which plays a significant role in readability and overall aesthetics.&lt;/p&gt;

&lt;p&gt;In this blog post, we will explore the best practices for utilizing the &lt;a href="https://www.md3bm.com/2021/09/best-css-generators.html"&gt;CSS&lt;/a&gt; SASS Mixin for responsive typography, empowering you to create visually stunning and user-friendly websites.&lt;/p&gt;

&lt;h2&gt;
  
  
  SASS Mixin for Base Typography
&lt;/h2&gt;

&lt;p&gt;Certainly! Here's an example of how you can create a SASS Mixin for base typography:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@mixin&lt;/span&gt; &lt;span class="nf"&gt;base-typography&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="s1"&gt;'Arial'&lt;/span&gt;&lt;span class="o"&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;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="mi"&gt;.5&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="mh"&gt;#333&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Usage example:&lt;/span&gt;
&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="nd"&gt;base-typography&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;24px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&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="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="nd"&gt;base-typography&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;In the example above, we define a SASS Mixin called base-typography that includes the properties of the base typography style. This mixin sets the &lt;code&gt;font-family&lt;/code&gt; to &lt;code&gt;'Arial', sans-serif&lt;/code&gt;, &lt;code&gt;font-size&lt;/code&gt; to 16px, &lt;code&gt;line-height&lt;/code&gt; to 1.5, and color to #333.&lt;/p&gt;

&lt;p&gt;To use this mixin, you can simply include it in your desired selectors by using the &lt;code&gt;@include&lt;/code&gt; directive. In the example, we demonstrate how to use the mixin for h1 and p elements. Notice that you can override specific properties, such as font-size and font-weight, to customize the typography style for individual elements while still maintaining the base typography properties.&lt;/p&gt;

&lt;p&gt;By using this base typography mixin throughout your project, you can ensure consistent typography styles and easily make global changes by modifying the mixin's properties.&lt;/p&gt;

&lt;h2&gt;
  
  
  SASS Mixin for Responsive Typography
&lt;/h2&gt;

&lt;p&gt;You can create a SASS Mixin for responsive typography by combining the power of SASS variables and media queries. Here's an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@mixin&lt;/span&gt; &lt;span class="nf"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$mobile-size&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$tablet-size&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$desktop-size&lt;/span&gt;&lt;span class="p"&gt;)&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="nv"&gt;$mobile-size&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="nf"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;768px&lt;/span&gt;&lt;span class="p"&gt;)&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="nv"&gt;$tablet-size&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="nf"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1024px&lt;/span&gt;&lt;span class="p"&gt;)&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="nv"&gt;$desktop-size&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Usage example:&lt;/span&gt;
&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="nd"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;24px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="m"&gt;32px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="m"&gt;48px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&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="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="nd"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="m"&gt;18px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="mi"&gt;.5&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;In the example above, we define a SASS Mixin called &lt;code&gt;responsive-typography&lt;/code&gt;. It takes three parameters: &lt;code&gt;$mobile-size&lt;/code&gt;, &lt;code&gt;$tablet-size&lt;/code&gt;, and &lt;code&gt;$desktop-size&lt;/code&gt;, which represent the font sizes for mobile, tablet, and desktop views, respectively.&lt;/p&gt;

&lt;p&gt;Within the mixin, we set the initial &lt;code&gt;font-size&lt;/code&gt; to the &lt;code&gt;$mobile-size&lt;/code&gt; value. Then, we utilize media queries to override the &lt;code&gt;font-size&lt;/code&gt; at different breakpoints. In this example, we set the &lt;code&gt;font-size&lt;/code&gt; to &lt;code&gt;$tablet-size&lt;/code&gt; when the screen width is at least 768px, and to &lt;code&gt;$desktop-size&lt;/code&gt; when the screen width is at least 1024px.&lt;/p&gt;

&lt;p&gt;To use this mixin, you can include it in your desired selectors and provide the appropriate font size values for different breakpoints. In the example, we demonstrate how to use the mixin for h1 and p elements, with different font sizes for each breakpoint.&lt;/p&gt;

&lt;p&gt;By utilizing this responsive typography mixin, you can easily define and maintain consistent typography styles across different screen sizes, enhancing the responsiveness and readability of your website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Viewport-Sized Typography and Line-Height with Min and Max Font-sizes (CSS Locking)
&lt;/h2&gt;

&lt;p&gt;Based on calculations done by &lt;a href="https://blog.typekit.com/2016/08/17/flexible-typography-with-css-locks/"&gt;Tim Brown&lt;/a&gt; and &lt;a href="http://fvsch.com/code/css-locks/"&gt;Florens Verschelde&lt;/a&gt; but altered to make it as dynamic as possible. The mixin includes &lt;code&gt;line-height&lt;/code&gt; as an optional extra using the last property passed to the mixin.&lt;/p&gt;

&lt;p&gt;Tested in the latest versions of Chrome Firefox and Opera. It seems to work in Safari but requires a refresh. All font values are provided in px as a fallback for older browsers. The mixin will calculate the middle of the two &lt;code&gt;font-sizes&lt;/code&gt; provided as a fallback for browsers that don't support CSS calc().&lt;/p&gt;

&lt;p&gt;Also, this doesn't affect the user's zoom settings for font size, zooming will still function as normal so no problems with accessibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Usage
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="n"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="n"&gt;min-font-size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="n"&gt;max-font-size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="n"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;true&lt;/span&gt; &lt;span class="n"&gt;or&lt;/span&gt; &lt;span class="n"&gt;false&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="n"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;38px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;h2&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;20px&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.25rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;360px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="nt"&gt;h2&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;29px&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="n"&gt;calc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;2.50348vw&lt;/span&gt; &lt;span class="err"&gt;+&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt; &lt;span class="n"&gt;-&lt;/span&gt; &lt;span class="m"&gt;0.02503&lt;/span&gt; &lt;span class="err"&gt;*&lt;/span&gt; &lt;span class="m"&gt;360px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
           &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;52px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
           &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;calc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;6.67594vw&lt;/span&gt; &lt;span class="err"&gt;+&lt;/span&gt; &lt;span class="m"&gt;28px&lt;/span&gt; &lt;span class="n"&gt;-&lt;/span&gt; &lt;span class="m"&gt;0.06676&lt;/span&gt; &lt;span class="err"&gt;*&lt;/span&gt; &lt;span class="m"&gt;360px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1080px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="nt"&gt;h2&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;38px&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;2.375rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
           &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4.75rem&lt;/span&gt;&lt;span class="p"&gt;;&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;h3&gt;
  
  
  Usage (no line-height)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="n"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="n"&gt;min-font-size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="n"&gt;max-font-size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="n"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;true&lt;/span&gt; &lt;span class="n"&gt;or&lt;/span&gt; &lt;span class="n"&gt;false&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="k"&gt;@include&lt;/span&gt; &lt;span class="n"&gt;responsive-typography&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;38px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;h2&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;20px&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.25rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;360px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="nt"&gt;h2&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;29px&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="n"&gt;calc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;2.50348vw&lt;/span&gt; &lt;span class="err"&gt;+&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt; &lt;span class="n"&gt;-&lt;/span&gt; &lt;span class="m"&gt;0.02503&lt;/span&gt; &lt;span class="err"&gt;*&lt;/span&gt; &lt;span class="m"&gt;360px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1080px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="nt"&gt;h2&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;38px&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;2.375rem&lt;/span&gt;&lt;span class="p"&gt;;&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;Source: &lt;a href="https://codepen.io/matchboxhero/pen/yaYYyZ"&gt;Responsive Typography (CSS Locking) Mixin&lt;/a&gt; - &lt;a href="https://codepen.io/matchboxhero"&gt;&lt;em&gt;Steven Roberts&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Techniques to Create Responsive Typography in SASS
&lt;/h2&gt;

&lt;p&gt;In addition to using mixins, there are other techniques you can employ in SASS to create responsive typography. Here are a few alternative approaches:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Using Functions&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;SASS provides various built-in functions that can assist in creating responsive typography. For example, you can use functions like &lt;code&gt;calc()&lt;/code&gt; and &lt;code&gt;vw()&lt;/code&gt; to calculate font sizes based on viewport units. Here's an example:&lt;br&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&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-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;calc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;16px&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;1vw&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="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="nf"&gt;vw&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;4&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;In the example above, &lt;code&gt;calc()&lt;/code&gt; is used to add a dynamic font size based on the viewport width, and &lt;code&gt;vw()&lt;/code&gt; sets the font size relative to the viewport width.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Utilizing SASS Maps&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;SASS maps allow you to store key-value pairs, making it easier to manage responsive typography styles. You can define different font sizes for various breakpoints using a map and then loop over the map to apply the styles.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here's an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nv"&gt;$font-sizes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;mobile&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;tablet&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;desktop&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;24px&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;@each&lt;/span&gt; &lt;span class="nv"&gt;$breakpoint&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$size&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;$font-sizes&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="nf"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;map-get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$breakpoints&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$breakpoint&lt;/span&gt;&lt;span class="p"&gt;))&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="nv"&gt;$size&lt;/span&gt;&lt;span class="p"&gt;;&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;In this example, the $font-sizes map stores the font sizes for different breakpoints. The &lt;code&gt;@each&lt;/code&gt; loop iterates over the map, applying the font size defined in each key-value pair within a corresponding media query.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CSS Custom Properties (Variables)&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;CSS Custom Properties, also known as CSS variables, can be used to create responsive typography. By defining variable values based on media queries, you can achieve responsive font sizes. Here's an example:&lt;br&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;--font-size-mobile&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="na"&gt;--font-size-tablet&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="na"&gt;--font-size-desktop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;24px&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="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="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;font-size-mobile&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="nf"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;768px&lt;/span&gt;&lt;span class="p"&gt;)&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="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;font-size-tablet&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="nf"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1024px&lt;/span&gt;&lt;span class="p"&gt;)&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="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;font-size-desktop&lt;/span&gt;&lt;span class="p"&gt;);&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;In this example, CSS Custom Properties are used to define different font sizes for each breakpoint. The &lt;code&gt;font-size&lt;/code&gt; property within the media queries is updated accordingly.&lt;/p&gt;

&lt;p&gt;These are just a few alternatives for creating responsive typography in SASS. Each approach offers its own benefits, so choose the one that best fits your project requirements and coding preferences.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;Incorporating the CSS SASS Mixin for responsive typography allows us to create visually appealing and user-friendly websites. By establishing base typography, utilizing media queries, implementing fluid typography, customizing line heights, and considering accessibility, we can ensure consistent and adaptable typography across different screen sizes and devices. By following these best practices, you will be well-equipped to create remarkable user experiences that engage your audience effectively.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>scss</category>
      <category>sass</category>
    </item>
    <item>
      <title>Top 5 JavaScript Plugins for Slider Animation</title>
      <dc:creator>MD3BM</dc:creator>
      <pubDate>Sat, 23 Apr 2022 18:41:46 +0000</pubDate>
      <link>https://dev.to/md3bm/top-5-javascript-plugins-for-slider-animation-3dlc</link>
      <guid>https://dev.to/md3bm/top-5-javascript-plugins-for-slider-animation-3dlc</guid>
      <description>&lt;p&gt;There are a lot of slider plugins that are compatible with jQuery, however, according to the requirements of your project or the way you work, you will want to implement a slider on your application that doesn't depend on any kind of framework but the library itself.&lt;/p&gt;

&lt;p&gt;So you won't rely on the animations of jQuery (that in most cases are only used when the browser doesn't support CSS3 animation) or other libraries like this.&lt;/p&gt;

&lt;p&gt;In this article, I'll share with you the top 5 JavaScript Plugins/libraries for Slider Animation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Top 5 JavaScript Plugins for Slider Animation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Slidr.js
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://www.bchanx.com/slidr"&gt;Slidr.js&lt;/a&gt; is a very simple, lightweight javascript library for adding slide transitions to your page. It is totally agnostic, which means that doesn't rely on another library to work.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add as many Slidr's as you want, even place them within each other.&lt;/li&gt;
&lt;li&gt;Dynamic resizing so it adapts to the size of its content unless you don't want it to.&lt;/li&gt;
&lt;li&gt;Keyboard navigation, you can move your cursor on top of a Slidr, and hit the arrow keys.&lt;/li&gt;
&lt;li&gt;Touch navigation for mobile is supported as well. Change slides by swiping left, right, up or down.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  SwiperJs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://swiperjs.com/"&gt;Swiper&lt;/a&gt; is one of the most modern Mobile Ready Touch Sliders with hardware accelerated transitions and amazing native behavior. It is intended to be used in mobile websites, mobile web apps, and mobile native/hybrid apps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Library Agnostic&lt;/li&gt;
&lt;li&gt;Rich API&lt;/li&gt;
&lt;li&gt;Transition Effects&lt;/li&gt;
&lt;li&gt;Flexbox Layout&lt;/li&gt;
&lt;li&gt;Images Lazy Loading&lt;/li&gt;
&lt;li&gt;1:1 Touch movement&lt;/li&gt;
&lt;li&gt;Full True RTL Support&lt;/li&gt;
&lt;li&gt;Two-way Control&lt;/li&gt;
&lt;li&gt;Most Flexible Slides Layout Grid&lt;/li&gt;
&lt;li&gt;Virtual Slides&lt;/li&gt;
&lt;li&gt;Mutation Observer&lt;/li&gt;
&lt;li&gt;Multi-Row Slides Layout&lt;/li&gt;
&lt;li&gt;Full Navigation Control&lt;/li&gt;
&lt;li&gt;Parallax Transitions&lt;/li&gt;
&lt;li&gt;And many more ...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  FLICKITY
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://flickity.metafizzy.co/"&gt;Flickity&lt;/a&gt; is a useful library that allows you to create touch, responsive, &lt;a href="https://flickity.metafizzy.co/options.html"&gt;flickable carousels&lt;/a&gt;. Flickity can be used with vanilla.js.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;draggable&lt;/li&gt;
&lt;li&gt;free scroll&lt;/li&gt;
&lt;li&gt;wrapAround&lt;/li&gt;
&lt;li&gt;group cells&lt;/li&gt;
&lt;li&gt;autoPlay&lt;/li&gt;
&lt;li&gt;fullscreen&lt;/li&gt;
&lt;li&gt;adaptiveHeight&lt;/li&gt;
&lt;li&gt;asNavFor&lt;/li&gt;
&lt;li&gt;dragThreshold&lt;/li&gt;
&lt;li&gt;selectedAttraction &amp;amp; friction&lt;/li&gt;
&lt;li&gt;imagesLoaded&lt;/li&gt;
&lt;li&gt;lazyLoad&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Sly
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://darsa.in/sly/"&gt;Sly&lt;/a&gt; is a JavaScript library for one-directional scrolling with item-based navigation support.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mouse wheel scrolling.&lt;/li&gt;
&lt;li&gt;scrollbar (dragging the handle or clicking on scrollbar).&lt;/li&gt;
&lt;li&gt;pages bar.&lt;/li&gt;
&lt;li&gt;various navigation buttons.&lt;/li&gt;
&lt;li&gt;content dragging with mouse or touch.&lt;/li&gt;
&lt;li&gt;automated cycling by items or pages.&lt;/li&gt;
&lt;li&gt;lots of super useful methods.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's all built around a custom highly optimized animation rendering with requestAnimationFrame, and GPU accelerated positioning with fallbacks for browsers that don't support it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tiny Slider
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://ganlanyuan.github.io/tiny-slider/tests/index.html"&gt;Tiny Slider&lt;/a&gt; is a vanilla javascript slider that can be used for all purposes. It inspired by Owl Carousel and works on Firefox 12+, Chrome 15+, Safari 4+, Opera 12.1+, IE8+. The main features of Tiny Slider are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;carousel / gallery&lt;/li&gt;
&lt;li&gt;responsive&lt;/li&gt;
&lt;li&gt;fixed width&lt;/li&gt;
&lt;li&gt;vertical slider&lt;/li&gt;
&lt;li&gt;gutter&lt;/li&gt;
&lt;li&gt;edge padding (center)&lt;/li&gt;
&lt;li&gt;loop&lt;/li&gt;
&lt;li&gt;rewind&lt;/li&gt;
&lt;li&gt;slide by&lt;/li&gt;
&lt;li&gt;customize controls / nav&lt;/li&gt;
&lt;li&gt;lazyload.&lt;/li&gt;
&lt;li&gt;autoplay.&lt;/li&gt;
&lt;li&gt;auto height.&lt;/li&gt;
&lt;li&gt;touch support.&lt;/li&gt;
&lt;li&gt;mouse drag.&lt;/li&gt;
&lt;li&gt;arrow keys.&lt;/li&gt;
&lt;li&gt;accessibility for people using keyboard navigation or screen readers.&lt;/li&gt;
&lt;li&gt;response to visibility changing.&lt;/li&gt;
&lt;li&gt;custom events.&lt;/li&gt;
&lt;li&gt;nested slider.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>plugins</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Best Pens and Projects on CodePen (#2)</title>
      <dc:creator>MD3BM</dc:creator>
      <pubDate>Thu, 07 Apr 2022 20:02:57 +0000</pubDate>
      <link>https://dev.to/md3bm/best-pens-and-projects-on-codepen-2-4p2g</link>
      <guid>https://dev.to/md3bm/best-pens-and-projects-on-codepen-2-4p2g</guid>
      <description>&lt;p&gt;Hi everyone...&lt;/p&gt;

&lt;p&gt;I just back again with the 2nd part of &lt;a href="https://dev.to/md3bm/series/17578"&gt;the Best Pens and Projects on CodePen series&lt;/a&gt;, Which contains a huge and distinctive content of codes, templates, ready-made projects for front-ends, and various web elements.&lt;/p&gt;

&lt;p&gt;You can check the previous parts of the Best Pens and Projects on CodePen series below:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://dev.to/md3bm/best-pens-and-projects-on-codepen-1-1dil"&gt;Best Pens and Projects on CodePen (#1)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: All ownership and reuse rights are reserved for their respective owners.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's start .. --&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Top Pens and Projects on CodePen (Part 2)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  auto dark mode with SVG blend modes
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/patrickhill/embed/gORWmZr?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Context menu with Feather icons
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/havardob/embed/YzwzQgm?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Dreaming of Jupiter - Three.js
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/isladjan/embed/zYqLxeG?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Accordion FAQ Menu By &lt;a class="mentioned-user" href="https://dev.to/itsrehanraihan"&gt;@itsrehanraihan&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/itsrehanraihan/embed/GRyNzxZ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  augmented-ui social media picture-of-code thing
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/propjockey/embed/dyVMgBg?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  3D Carousel
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/ykadosh/embed/ZEJLapj?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  #Codevember 10 - Musical Particles
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/seanfree/embed/RorjpB?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Night &amp;amp; Day
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/ste-vg/embed/oNgrYOb?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Read also: The best &lt;a href="https://www.md3bm.com/2024/02/best-pens-on-codepen-p7.html"&gt;ready-made HTML codes&lt;/a&gt; | CSS | Javascript on CodePen (Part 7)&lt;/p&gt;

&lt;h3&gt;
  
  
  Order button animation
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/aaroniker/embed/oNgPOwo?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Music Player 2.0
&lt;/h3&gt;

&lt;p&gt;An amazing and beautiful music player in phone mockup.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/emilcarlsson/embed/WdRRMX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Side Sliding Menu CSS
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/EduardL/embed/jObzJB?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Tiles with animated : hover
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/chrisgrabinski/embed/nrpGRG?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Animated Tab Bar v.2
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/abxlfazl/embed/OJbEbxL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Codepen Shortcut List
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/iiCe89/embed/gMYVYQ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Instagram re-design
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/TurkAysenur/embed/qeNvRM?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS Only Playground
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/ekrof/embed/YqmXdQ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Easy Ionic Side Menu Transitions
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/jcoulterdesign/embed/jWWroX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;br&gt;
Read also: &lt;a href="https://www.md3bm.com/2023/10/best-pens-and-projects-on-codepen-p6.html"&gt;The best HTML, CSS and JS codes ready on CodePen (Part 6)&lt;/a&gt;&lt;br&gt;

&lt;h2&gt;
  
  
  Last words
&lt;/h2&gt;

&lt;p&gt;This was the 2nd part of the Top Pens and Projects on CodePen series presented by md3bm, which will be followed by other parts that will include Pens codes and awesome and distinctive ready-made projects for inspiration and to be used in developing your web projects.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>codepen</category>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>Best Pens and Projects on CodePen (#1)</title>
      <dc:creator>MD3BM</dc:creator>
      <pubDate>Sun, 03 Apr 2022 17:48:51 +0000</pubDate>
      <link>https://dev.to/md3bm/best-pens-and-projects-on-codepen-1-1dil</link>
      <guid>https://dev.to/md3bm/best-pens-and-projects-on-codepen-1-1dil</guid>
      <description>&lt;p&gt;Hi everyone...&lt;/p&gt;

&lt;p&gt;If you are a web developer or front-end developer, you have certainly heard about Codepen, which is one of the most famous websites that specialized in editing and testing HTML, CSS, and Javascript codes and projects online.&lt;br&gt;
Which contains a huge and distinctive content of codes, templates, ready-made projects for front-ends, and various web elements.&lt;/p&gt;

&lt;p&gt;So in my blog on Dev.to, I'll share with you the top and best pens and Projects on CodePen in a series of articles, the first part of which will start from this article, which will include amazing codes and pens that will greatly and amazingly help you in developing your web projects and your websites. And everyone working in the field of web development and programming.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: All ownership and reuse rights are reserved for their respective owners.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's start .. --&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Top Pens and Projects on CodePen (Part 1)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  responsive &lt;code&gt;&amp;lt;!-- No Div --&amp;gt;&lt;/code&gt; car
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/abxlfazl/embed/NWrOBzg?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Animated Continuous Sections with GSAP Observer
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/GreenSock/embed/XWzRraJ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Project Management Dashboard UI
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/aybukeceylan/embed/OJRNbZp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Stranger Things Intro
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/wbobeirne/embed/pEjqGR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Confetti Button
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/coopergoeke/embed/wvaYMbJ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  SVG Text Outline Animation - GSAP
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/BrianCross/embed/yLVjzwp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Expanding flex cards
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/ibrahimjabbari/embed/MWErVGm?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Scroll Rocket
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/kitjenson/embed/LYejBjJ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Rocket Logo -- Loading Animation
&lt;/h3&gt;

&lt;p&gt;An amazing animated icon in CSS&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/coopergoeke/embed/abdogVj?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Foolishly Responsive Accordion
&lt;/h3&gt;

&lt;p&gt;A beautiful Foolishly Responsive Accordion style.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/aardrian/embed/MWrvEKN?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  MorphSVGPlugin from GreenSock
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/GreenSock/embed/WQjRXE?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Card Slider
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/aybukeceylan/embed/yLaqqOL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Full-Screen Vertical Scroll Snap
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/argyleink/embed/yLovWjz?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Layered pinning - ScrollTrigger
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/GreenSock/embed/zYpdvZR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Periodic Table of the Elements
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/aardrian/embed/NmoQdN?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Last words
&lt;/h2&gt;

&lt;p&gt;This was the first part of Top Pens and Projects on CodePen presented by md3bm, which will be followed by other parts that will include Pens codes and awesome and distinctive ready-made projects for inspiration and to be used in developing your web projects and websites.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>codepen</category>
      <category>html</category>
      <category>css</category>
    </item>
  </channel>
</rss>
