<?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: Deepak Devanand</title>
    <description>The latest articles on DEV Community by Deepak Devanand (@deepakdevanand).</description>
    <link>https://dev.to/deepakdevanand</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%2F580152%2F2045bac7-ac40-4437-b87f-e43a3f5eb981.jpeg</url>
      <title>DEV Community: Deepak Devanand</title>
      <link>https://dev.to/deepakdevanand</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deepakdevanand"/>
    <language>en</language>
    <item>
      <title>Leaflet Map - Dark Theme</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Sun, 21 May 2023 05:05:00 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/leaflet-map-dark-theme-5ej0</link>
      <guid>https://dev.to/deepakdevanand/leaflet-map-dark-theme-5ej0</guid>
      <description>&lt;p&gt;&lt;a href="https://leafletjs.com/index.html"&gt;Leaflet.js&lt;/a&gt; is arguably the best client-side map-rendering library. While there's a plethora of &lt;a href="https://wiki.openstreetmap.org/wiki/Raster_tile_providers"&gt;OpenStreet Map tile providers&lt;/a&gt;, none of the &lt;em&gt;free&lt;/em&gt; basemap layer have a dark-themed map (&lt;em&gt;tiles&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;By applying &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/filter"&gt;css filter&lt;/a&gt; property on specific leaflet classes, we can have a "hacky" dark map.&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="nc"&gt;.leaflet-layer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.leaflet-control-zoom-in&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.leaflet-control-zoom-out&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.leaflet-control-attribution&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;invert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;hue-rotate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;180deg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;brightness&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;95%&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;contrast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;90%&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;ul&gt;
&lt;li&gt;
&lt;code&gt;invert(100%)&lt;/code&gt; completely inverts the color, essentially adding dark background to the map.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;hue-rotate(180deg)&lt;/code&gt; is optional, but converts the predominant blue color (&lt;em&gt;large roads&lt;/em&gt;) on the map to red.&lt;/li&gt;
&lt;/ul&gt;

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

</description>
      <category>leaflet</category>
      <category>map</category>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Pulse —CSS Animation</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Fri, 11 Nov 2022 15:27:53 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/pulse-css-animation-43h</link>
      <guid>https://dev.to/deepakdevanand/pulse-css-animation-43h</guid>
      <description>&lt;p&gt;A pulsating circular element in the UI is an indicator of something real-time. Adding such an element next to charts with constantly updating data is a fine visual cue.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Box Shadow: Cast shadow around the element
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;  &lt;span class="c"&gt;/* offset-x | offset-y | blur-radius | spread-radius | color 
  */&lt;/span&gt;
  &lt;span class="nt"&gt;box-shadow&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt; &lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt; &lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt; &lt;span class="err"&gt;1&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt; &lt;span class="nt"&gt;rgba&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="err"&gt;0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Scale3d: Resize the element in 3D space
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;  &lt;span class="nt"&gt;scale3d&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;sx&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;sy&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;sz&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

</description>
      <category>css</category>
      <category>webdev</category>
      <category>design</category>
    </item>
    <item>
      <title>KPI Cards UI - Border-left</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Sun, 11 Sep 2022 03:23:48 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/kpi-cards-ui-border-left-899</link>
      <guid>https://dev.to/deepakdevanand/kpi-cards-ui-border-left-899</guid>
      <description>&lt;p&gt;The KPI (Key Performance Indicator) cards are common in dashboard UIs where summary stats are shown, for a quick glance at the overall health of the monitored process.&lt;/p&gt;

&lt;p&gt;By including left borders on the cards, we can provide a sublime visual hook to the user, as well as keeping the UI clean and uncluttered.&lt;/p&gt;

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

</description>
      <category>css</category>
      <category>webdev</category>
      <category>design</category>
    </item>
    <item>
      <title>CSS Box-Shadow Material</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Tue, 06 Sep 2022 15:04:59 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/css-box-shadow-material-25jf</link>
      <guid>https://dev.to/deepakdevanand/css-box-shadow-material-25jf</guid>
      <description>&lt;p&gt;The CSS &lt;code&gt;box-shadow&lt;/code&gt; property is used for casting shadow around an element. Using specific offsets various depth effects can be achieved such as the famous material elements.&lt;/p&gt;

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

</description>
      <category>css</category>
      <category>webdev</category>
      <category>design</category>
    </item>
    <item>
      <title>CSS Subtle Slideup Reveal Animation</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Sun, 04 Sep 2022 09:42:25 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/css-subtle-slideup-reveal-animation-4ojd</link>
      <guid>https://dev.to/deepakdevanand/css-subtle-slideup-reveal-animation-4ojd</guid>
      <description>&lt;p&gt;Within the document, there are sections that if animated just a bit, could enhance the overall visual appeal of the design. One such animation is a simple, slide-up reveal that guides the user's attention unobtrusively.&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="nc"&gt;.reveal&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;animation&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;.5s&lt;/span&gt; &lt;span class="n"&gt;revealup&lt;/span&gt; &lt;span class="n"&gt;ease&lt;/span&gt; &lt;span class="n"&gt;infinite&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;@keyframes&lt;/span&gt; &lt;span class="nt"&gt;revealup&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nt"&gt;from&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;translatey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-15%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;translatey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-25%&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;&lt;iframe height="600" src="https://codepen.io/deepakdevanand/embed/ZEoEJYQ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>design</category>
    </item>
    <item>
      <title>Java Frappe: Optional&lt;T&gt;</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Sun, 07 Aug 2022 14:10:18 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/java-frappe-optional-4oo5</link>
      <guid>https://dev.to/deepakdevanand/java-frappe-optional-4oo5</guid>
      <description>&lt;p&gt;The Optional object in Java (&lt;code&gt;java.util.Optional&lt;/code&gt;) is a container object which may or may not have a value. Designed specifically to handle the &lt;code&gt;null&lt;/code&gt; case in a safe and explicit way, the optionals help write more readable code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Typical Usage
&lt;/h2&gt;

&lt;p&gt;1) When returning an object that might be &lt;code&gt;null&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;   &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;Optional&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Employee&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;findEmployeeByName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
     &lt;span class="nc"&gt;Employee&lt;/span&gt; &lt;span class="n"&gt;employee&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;findEmployee&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
     &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nc"&gt;Optional&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ofNullable&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;employee&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
   &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2) To fallback upon receiving &lt;code&gt;null&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Return a default object&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Employee&lt;/span&gt; &lt;span class="n"&gt;employee&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;findEmployeeByName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"John"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                      &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;orElse&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Employee&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Unknown"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Return after a pipeline of operators&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt; &lt;span class="nc"&gt;Integer&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;findEmployeeByName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"John"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                      &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;map&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;Employee:&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;getSalary&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                      &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;orElse&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run a callback if value exists&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt; &lt;span class="n"&gt;findEmployeeByName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"John"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ifPresent&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;employee&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;kafkaTemplate&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;send&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"employee-key"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;employee&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"employee-topic"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="o"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Return an exception&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt; &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;opDouble&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;orElseThrow&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;IOException:&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
 &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Exception "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
 &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;By default returns &lt;code&gt;NoSuchElementException&lt;/code&gt;, if no value exists within the Optional.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>oop</category>
    </item>
    <item>
      <title>Flexbox - Override 'justify-content' on Child Items</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Sat, 25 Dec 2021 13:45:45 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/flexbox-override-justify-content-on-child-items-12c2</link>
      <guid>https://dev.to/deepakdevanand/flexbox-override-justify-content-on-child-items-12c2</guid>
      <description>&lt;p&gt;There are times when we want to place a specific child item out of flexbox context, so we have granular control on its placement relative to its parent. &lt;code&gt;justify-self&lt;/code&gt; doesn't seem to work, contrast to its sibling &lt;code&gt;align-self&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.w3.org/TR/css-flexbox-1/#abspos-items"&gt;flexbox layout specification&lt;/a&gt; talks about absolutely-positioned children:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As it is out-of-flow, an absolutely-positioned child of a flex container does not participate in flex layout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Taking this into account, we can let flex items of choice opt-out flexbox layout, and be positioned using &lt;code&gt;position:absolute&lt;/code&gt; property.&lt;/p&gt;

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

</description>
      <category>css</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Navbar - Underline Menu Items on Hover</title>
      <dc:creator>Deepak Devanand</dc:creator>
      <pubDate>Sat, 25 Dec 2021 13:11:21 +0000</pubDate>
      <link>https://dev.to/deepakdevanand/navbar-underline-menu-items-on-hover-2l9i</link>
      <guid>https://dev.to/deepakdevanand/navbar-underline-menu-items-on-hover-2l9i</guid>
      <description>&lt;p&gt;The navbar, especially horizontal navbar, guides the user help find content fast, by providing 'umbrella' links. One of the interactions on menu item hover, is the simple underline effect.&lt;/p&gt;

&lt;p&gt;We can use the &lt;code&gt;border-bottom&lt;/code&gt; css property to create such an effect.&lt;/p&gt;

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

</description>
      <category>css</category>
      <category>codepen</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
