<?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: boopalan</title>
    <description>The latest articles on DEV Community by boopalan (@boopalan-s).</description>
    <link>https://dev.to/boopalan-s</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%2F3944354%2Fbdb03afb-fdcb-41f0-83ba-f88d55bd67b1.png</url>
      <title>DEV Community: boopalan</title>
      <link>https://dev.to/boopalan-s</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/boopalan-s"/>
    <language>en</language>
    <item>
      <title>Animations and Transforms</title>
      <dc:creator>boopalan</dc:creator>
      <pubDate>Fri, 29 May 2026 17:40:04 +0000</pubDate>
      <link>https://dev.to/boopalan-s/animations-and-transforms-1m7b</link>
      <guid>https://dev.to/boopalan-s/animations-and-transforms-1m7b</guid>
      <description>&lt;p&gt;&lt;strong&gt;Css animations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CSS provides keyframes to create animated effects in the webpages. Inside the keyframe we can define the rules to the flow of the animation to the elements. &lt;/p&gt;

&lt;p&gt;The keyframes syntax will look like&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="k"&gt;@keyframe&lt;/span&gt; &lt;span class="n"&gt;Name_of_the_Animations&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nt"&gt;here&lt;/span&gt; &lt;span class="nt"&gt;you&lt;/span&gt; &lt;span class="nt"&gt;can&lt;/span&gt; &lt;span class="nt"&gt;define&lt;/span&gt; &lt;span class="nt"&gt;the&lt;/span&gt; &lt;span class="nt"&gt;animations&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;inside the keyframes we have to define each step, here each step means from the beginning to ending of the animation competition. We are able to add several stages, for example how the initial stage the element wants to animate and how it looks in the middle of the animation, how it wants to appear, and finally how it wants to end. Not only with these steps we can add more and more steps in between the starting and ending and also we can be able to do as many as possible steps to attract animation. &lt;/p&gt;

&lt;p&gt;Here you can say the animation first we use the percentages.&lt;/p&gt;

&lt;p&gt;We want to define the steps of what our element wants to do at the exact moment of the whole animation duration.&lt;/p&gt;

&lt;p&gt;Definitely the 0% and 100% will the starting and the ending of the &lt;br&gt;
animations. Suppose if you want to add any particular change at the middle of the animation it wants definite at the 50%. &lt;/p&gt;

&lt;p&gt;lets we try the pulsing animation&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;.btn&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;MovingRightToLeft&lt;/span&gt; &lt;span class="m"&gt;7s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;animation-iteration-count&lt;/span&gt;&lt;span class="p"&gt;:&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="n"&gt;MovingRightToLeft&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;0&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&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="err"&gt;20&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.2&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
&lt;span class="err"&gt;50&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.4&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
&lt;span class="err"&gt;60&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
&lt;span class="err"&gt;75&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt;&lt;span class="p"&gt;);}&lt;/span&gt;
&lt;span class="err"&gt;50&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&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="p"&gt;}&lt;/span&gt;


&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"btn"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Animation properties &lt;/p&gt;

&lt;p&gt;animation-name : keyframe name&lt;br&gt;
the keyframe name must be defined if you give a random keyframe name it does not work.&lt;br&gt;&lt;br&gt;
we can be able to define more the one animation &lt;/p&gt;

&lt;p&gt;animation-duration : how long you want to animate it, mostly here developers use seconds to define the duration time, eg: 2s is equivalent to 2 seconds.&lt;/p&gt;

&lt;p&gt;Animation-delay : when it want to start to progressing the animation, &lt;/p&gt;

&lt;p&gt;animation-iteration-count : how many time you want do that animation for you object, you can define here n countable time, and  even infinite &lt;/p&gt;

&lt;p&gt;animation-timing-function: how the animation progresses through the duration of each cycle; there are some of the types in the animation-timing-function and they are linear, ease-in-out, ease-out, ease-in&lt;/p&gt;

&lt;p&gt;animation-direction: helps to define the animation direction does the animation want to play only in the forward direction or reverse direction otherwise play in an alternate(both reverse and the forward)&lt;/p&gt;

&lt;p&gt;animation-fill-mode: it helps to define what styles are applied to an element before the animation starts (during a delay) and after the animation finishes.&lt;/p&gt;

&lt;p&gt;this is the one the animation given in the MND documentation&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="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;"grow"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;welcome&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;


&lt;span class="nc"&gt;.grow&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="c"&gt;/* animation: name duration timing-function delay iteration-count direction fill-mode; */&lt;/span&gt;
&lt;span class="nl"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grow-animation&lt;/span&gt; &lt;span class="m"&gt;3s&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="n"&gt;grow-animation&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;0&lt;/span&gt;&lt;span class="o"&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="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;100&lt;/span&gt;&lt;span class="o"&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="m"&gt;70px&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;Transform property&lt;/p&gt;

&lt;p&gt;This property helps to allow you to visually alter the elements by rotating, scaling, skewing and moving them in 2D or 3D spaces. &lt;/p&gt;

&lt;p&gt;This transform provides some core functions to implement the visual altars.&lt;/p&gt;

&lt;p&gt;translate(x-axis, y-axis) : using this property we can be able to translate the object to give a and y axis coordinates, it starts from the current position of the object to make move the element appear in the give coordinates &lt;/p&gt;

&lt;p&gt;or otherwise you can do it only any one of the direction&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;translate(x,y)
translateX() only one the x-axis
translateY() only one the y-axis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;rotate(angle) it will tilt the object to the defined angle in this function.&lt;/p&gt;

&lt;p&gt;Scale(x,y) it helps to make to grow the element or shrink the elements&lt;/p&gt;

&lt;p&gt;similarly like translate you can do it only any one of the direction&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;scale(x,y)
scaleX() only one the x-axis
scaleY() only one the y-axis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>beginners</category>
      <category>css</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>CSS part-2</title>
      <dc:creator>boopalan</dc:creator>
      <pubDate>Wed, 27 May 2026 16:10:52 +0000</pubDate>
      <link>https://dev.to/boopalan-s/css-part-2-386j</link>
      <guid>https://dev.to/boopalan-s/css-part-2-386j</guid>
      <description>&lt;p&gt;&lt;strong&gt;Padding properties&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similarly padding acts like margins but rather than giving the space outside the elements it provides spaces inside the elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;padding: 10px;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;it act all the four sites of the elements &lt;/p&gt;

&lt;p&gt;In case if you need to add any one side you can do it by specifying which one side you want to add, it will provide the padding to respective sides you specified&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;padding-top: 10px;
padding-left: 10px;
padding-bottom: 10px;
padding-right: 10px;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In specific scenario if you need to specify all the four sides with distincts padding it will help&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;padding: 5px 10px 15px 20px;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to add same padding on the vertically and same padding on the horizontal side this will help to do it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;padding: 5px 20px; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the same horizontal padding you want to adjust the right and left with it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;padding 10px 5px 20px;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Border properties&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By border property we can adjust the width, color and styles by specifying with your requirements. We have to give the width of the border and style the border with a specific colour.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;border: 1px solid green;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are several styles we can add to the borders that are &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Double&lt;/li&gt;
&lt;li&gt;Solid&lt;/li&gt;
&lt;li&gt;Group&lt;/li&gt;
&lt;li&gt;Inside&lt;/li&gt;
&lt;li&gt;Outside&lt;/li&gt;
&lt;li&gt;dotted&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also provides to do to this three specific properties either any one of these sites we can specify here&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;border-right-width:2px;
border-right-color:red;
border-right-style:dotted;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this way we can apply for all the four side with each one side distinct styles&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding comments to the style sheet&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In many cases the code grows much larger. In those scenarios we may sometimes forget why we define them instead of making confusition, comments that will help us identify immediately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*
comment
*/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Display property&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For responsiveness in media queries we will use display property highly, by changing the display properties we were able to decide which division wanted to display in the screens throughout this property. &lt;/p&gt;

&lt;p&gt;! important &lt;br&gt;
This property breaks all the previous class behaviours and implement what we finally defined here &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pseudo class&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How to access the first child and Last child&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;li&amp;gt;apple&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;pear&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;mango&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;banana&amp;lt;/li&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First child &lt;br&gt;
It will select the first child in the list of same elements&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;li:first-child{
color : red;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To select the last child of the&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;li:last-child {
color: green;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Colours&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;_Hexadecimal _&lt;br&gt;
It contains # at the beginning and followed by six digits of numbers in the base-16. &lt;br&gt;
Syntax look like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#RRGGBB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It ranges from the 00 to FF&lt;br&gt;
If you want to specify the green by using the end of the range in the green palace and make the remaining positions by 00&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;color: #00ff00;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;RGB &lt;br&gt;
Here we will specify the color inside the rgb between the range of 0 to 255,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;color: rgb(255,0,0);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rgba&lt;br&gt;
It is same as the rgb but additionally we will pass the transparency to it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;color : rgba (0,0,255, 0.5)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Box shadow&lt;/strong&gt;&lt;br&gt;
It will help to specify the shadows around the elements &lt;/p&gt;

&lt;p&gt;Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;box-shadow : horizontal offset vertical offset, blear radius, density spread color;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mostly not all the bowsers support this box-shadow to support the mozilla and shafari &lt;br&gt;
We have to use this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;–webkit-box-shadow: horizontal offset vertical offset, blear radius, density spread color;
–moz-box-shadow: horizontal offset vertical offset, blear radius, density spread color;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>CSS</title>
      <dc:creator>boopalan</dc:creator>
      <pubDate>Tue, 26 May 2026 16:57:14 +0000</pubDate>
      <link>https://dev.to/boopalan-s/css-5edp</link>
      <guid>https://dev.to/boopalan-s/css-5edp</guid>
      <description>&lt;p&gt;&lt;strong&gt;Units&lt;/strong&gt;&lt;br&gt;
it helps to define the properties metrics &lt;/p&gt;

&lt;p&gt;px: it is the default, eg10px&lt;br&gt;
vw: it take the whole view width of the screen, eg 100vm&lt;br&gt;
vh: it take the whole view height of the screen, eg 100vh&lt;br&gt;
%: it occupies the defined ration in the screen, or in the parent’s. Eg 50%&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Typography:&lt;/strong&gt;&lt;br&gt;
line-heigth: In a paragraph, it helps to define the hight between the first and second line to the whole paragraph&lt;br&gt;
letter-spacing: helps to spaced add between the two letters,&lt;br&gt;
word-spacing: similarly like the letter-spacing, but it add spaces between the words&lt;br&gt;
text-intent: in news letter, articles we can be able to see the initial intents to the paragraph, that same thing can be done with the help this property in the web page. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Selectors *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;universal selector &lt;br&gt;
it will reset all the default css properties to all the elements in the html tags&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* {
    padding : 0px;
    margin: 0px;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;element selector &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;we can be able to select the html tags directly in the css, and defining all the properties to it will reflected in the  pages&lt;br&gt;
eg&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body {
    margin : 10px;
    padding : 5px:
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;class selector &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;we will add the class attribute to the html tags and then we select the class in CSS using class selector and define the properties to them&lt;/p&gt;

&lt;p&gt;example &lt;/p&gt;

&lt;p&gt; select the .para class and add the properties in css &lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.para {
    word-spacing : 20px;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;id selector&lt;/p&gt;

&lt;p&gt;it do same as the class selector but instead in a different attribute called id &lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p id="”para”"&gt; select the .para class and add the properties in css &lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#para {
    word-spacing : 20px;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;note class selector want to select in the . Prefix and the id selector want to select in the # prefix&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Font properties&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;font-family : here we can be able to select the font family&lt;br&gt;
font-style: the we can be able to change the style like, italic, bold,&lt;br&gt;
font-size: here we can define the font style in the px or in other units&lt;br&gt;
color: just like the the name of the property it for color, similarly like the units color also have some different units.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Opacity property&lt;/strong&gt; &lt;br&gt;
it make the opacity property having tags to transparency. We give the value in the 0:1 ratio. &lt;br&gt;
Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;div {
    opacity : 0.5 // half transparency
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Text properties&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;text-decoration: we can be able to add the decoration for the text like the underscore, overline, line through the text.&lt;br&gt;
Text-transfrom: using the text transform property, we can can the lowers to upper, upper to lowers and more.&lt;br&gt;
Vertical-align: some time there will have some need to add the subscript and super script for the letter, on that scenarios we can use it&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;List properties&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;list-style: it helps to specify the list look like to a circle, disc, square, and more&lt;br&gt;
list-style-image: instead using the build in styles we can be able to set an custom image to act as an list style.&lt;br&gt;
List-style-type: some time we have some need to use the different list style, instead of defaults on those scenario it helps to use the roman, alpha, greek, latin, this property supports for the both upper and the lowers cases fort this list style types.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Margin property&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;margin: 10 px;&lt;/code&gt; it adds 10 px margin all the sides&lt;/p&gt;

&lt;p&gt;instead if you want to define any one side, you can be able to specify which one particular side only want to add margin&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;margin-top
margin-left
margin-right
margin-bottom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if you in the situation of adding both the right and left where same width, and the top and bottom where same width, you can be able to use it&lt;br&gt;
&lt;code&gt;margin : vertical px horizontal px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;otherwise both the top and bottom(horizontally) same size and the left and right are in the different size we can use this &lt;/p&gt;

&lt;p&gt;&lt;code&gt;margin top px, horizontal px right px&lt;/code&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>css</category>
      <category>frontend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>HTML</title>
      <dc:creator>boopalan</dc:creator>
      <pubDate>Fri, 22 May 2026 16:49:08 +0000</pubDate>
      <link>https://dev.to/boopalan-s/html-2cgc</link>
      <guid>https://dev.to/boopalan-s/html-2cgc</guid>
      <description>&lt;p&gt;What is HTML?&lt;br&gt;
    HTML stands for Hyper Text Markup Language.&lt;/p&gt;

&lt;p&gt;What is meant by Markup Language?&lt;br&gt;
    It does not mean by a programming language, rather than programming it actually defines and gives structures for the contents in the web pages, by using them we define how each and every contents want to appear in the browser whenever we open any web pages.&lt;br&gt;
How to identify it was a html and it has the annotations for the web content. By defining .html at the end of the filename any one can identify a html&lt;br&gt;
How does it work?&lt;br&gt;
    In html everything is tags, it only knows tags, if we say anything to do it, we want to define that in the specific html tags.&lt;/p&gt;

&lt;p&gt;How will tags look?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;tagname&amp;gt;&lt;/span&gt; content &lt;span class="nt"&gt;&amp;lt;/tagname&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Whenever we define anything in html we want to use the tags, there are several tags available in the html, each one was created for specific use cases, mostly every tag have starting and ending tags, some could not have ending tags. The ending tag looks exactly like the starting tag but it begins with slash(“/”) to ensure it was an ending tag.&lt;br&gt;
Suppose if we want to define something in the web page means we want to use the correct tag for what we are going to define in the html page. For example to define paragraph we would have to use &lt;/p&gt;
&lt;p&gt; tag, here we want to define first stating tag &lt;/p&gt;
&lt;p&gt; what was we want to put it inside the paragraph and after the content must we have to use the ending tag &lt;/p&gt;, it looks like exactly like this &lt;p&gt; this is the blog for the html page &lt;/p&gt;.&lt;br&gt;
creating the first html file.&lt;br&gt;
    for that first open a folder where you want to create the html file, the create file with .html extension and open it in a text editor,&lt;br&gt;
every html file begin with the  tag&lt;br&gt;
inside the  tag use the  tag, if we define anything inside body tag that will be displayed in the html page, for instance we will define a paragraph inside the body tag&lt;br&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is a paragraph.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;if we save it and open it the file in the browser we will see the paragraph inside  what we have written in the &lt;/p&gt;
&lt;p&gt; tag&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%2F8yl85oy6p4v9vn2w4zbi.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%2F8yl85oy6p4v9vn2w4zbi.png" alt=" "&gt;&lt;/a&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%2F9cg9psp2j8kwcq0n4ito.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%2F9cg9psp2j8kwcq0n4ito.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;there are several tags are use for define many things make appear in html&lt;/p&gt;

&lt;p&gt;some of them are &lt;code&gt;h1&lt;/code&gt;, &lt;code&gt;p&lt;/code&gt;, &lt;code&gt;button&lt;/code&gt;, &lt;code&gt;table&lt;/code&gt; and more&lt;/p&gt;

&lt;p&gt;&lt;code&gt;h1&lt;/code&gt; tag is used to ensure it was the heading of the page and it appears larger and bolder then the p tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;this is the heading of the page&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;button&lt;/code&gt; is used to define button in the page,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&amp;gt;&lt;/span&gt;click me&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;table&lt;/code&gt; helps to create table in the page&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Emil&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Tobias&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Linus&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;best practice for writing html&lt;/p&gt;

&lt;p&gt;Use semantic tags:&lt;br&gt;
  using appropriate tags such as header, footer, section, nav, will improve the structure and the accessibility of the our web page, Also it helps other use to understand other developer to understand we the tags are use&lt;/p&gt;

&lt;p&gt;Include alt text for images:&lt;br&gt;
  Always using the alt attribute for the image helps accessibility.&lt;/p&gt;

&lt;p&gt;Minimize the inline styles and scripts:&lt;br&gt;
 To keep our html cleaner and accessible using separate external css and javascript files instead of using inline style and script tags.&lt;/p&gt;

&lt;p&gt;Ref :&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Markup_language" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Markup_language&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/html/html_intro.asp" rel="noopener noreferrer"&gt;https://www.w3schools.com/html/html_intro.asp&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>git and gitlab</title>
      <dc:creator>boopalan</dc:creator>
      <pubDate>Thu, 21 May 2026 15:19:53 +0000</pubDate>
      <link>https://dev.to/boopalan-s/git-and-gitlab-3opo</link>
      <guid>https://dev.to/boopalan-s/git-and-gitlab-3opo</guid>
      <description>&lt;p&gt;&lt;strong&gt;git&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Why do we need git?&lt;/p&gt;

&lt;p&gt;GIT is one of the Distributed version control systems.&lt;/p&gt;

&lt;p&gt;Every company will have a lot of developers, they do many changes. Here the problem is that sharing the valid code to another developer, without git developers, focuses on many issues and the game changer comes from Linus Torvalds. &lt;/p&gt;

&lt;p&gt;Throughout this, developers are able to move forward and backward the versions whenever needed, so they can easily fix bugs and solve them immediately , it increases productivity. &lt;/p&gt;

&lt;p&gt;Multiple developers work on the same code base at any time. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GITLAB&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web based devops platform &lt;/li&gt;
&lt;li&gt;Software development life cycle&lt;/li&gt;
&lt;li&gt;- Analysis&lt;/li&gt;
&lt;li&gt;- Plan&lt;/li&gt;
&lt;li&gt;- Design&lt;/li&gt;
&lt;li&gt;- Develop&lt;/li&gt;
&lt;li&gt;- Test&lt;/li&gt;
&lt;li&gt;- Deploy&lt;/li&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Installing git on linux&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clone a repo using git &lt;/p&gt;

&lt;p&gt;Companies will have remote repositories, there is no guarantee all of them will use the same code hosting system but there will not be many differences between them. &lt;/p&gt;

&lt;p&gt;To add the changes in the git&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add filename

Or 

git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check the changes in git&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To commit the changes in git&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; “message”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To push the changes in the gitlap&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will ask the credentials &lt;/p&gt;

&lt;p&gt;To skip credentials&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git rest remote-url origin https://&amp;lt;username&amp;gt;:&amp;lt;token&amp;gt;/gitlab.com/&amp;lt;repo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
  </channel>
</rss>
