Skip to main content

WDS75 - Becoming Greedy in CSS(Part 3)

In the last article, we learned about some important terms related to CSS Grids including grid container and grid items. Now in next few articles, we are going to learn various properties of this grid elements. Let's begin...

display

It defines the element as a grid container and creates a new grid formatting for its elements.
Available values:
  • grid - Creates a block-level grid
  • inline-grid - Creates an inline-level grid
  • subgrid - This is used to create nested grids. In this case, your grid container is itself a grid item of parent grid.
.container{
    display: grid;
}

grid-template-columnsgrid-template-rows

It defines the columns and rows of the grid with the space-separated list of values. Here values will decide the size of each row/column and space between them represent a grid line.
Available values:
  •  - Indicates the length and can be in percentage, px or any other valid unit
  •  - Optional name of that line
If you do not provide the names of lines CSS will automatically give them numerical names starting with 1.
.container{
  display: grid;
  grid-template-columns: 40px 50px auto 50px 40px;
  grid-template-rows: 25% 100px auto;
}
But you can definitely give names to this lines whatever you wish...
.container{
  display: grid;
  grid-template-columns: [col1] 40px [col2] 50px [col3] auto [col4] 50px [col5] 40px [col6];
  grid-template-rows: [row1] 25% [row2] 100px [row3] auto [row4];
}
Both of the above codes will generate the following CSS Grid layout:

If you have repeating parts, instead of writing completely you can use the following syntax:
.container{
    grid-template-rows: repeat(4, 25px [row]) 5%;
}
Which is same as:
.container{
    grid-template-rows: 25px [row] 25px [row] 25px [row] 25px [row] 5%;
}
There is also something known as fr unit which allows you to divide entire space into fractions. For example, the below code will divide entire with of container into 4 equal parts:
.container{
    grid-template-rows: 1fr 1fr 1fr 1fr;
}
Also, it is important to note that when you mention the length of some element in px, it's size will remain fix but this is not the case for fr. Say, total width is 320px and you have 3 '1fr' elements and 1 '20px' element then you will get total 4 elements with sizes 100px, 100px , 100px and 20px. If you resize it to 110px then you will get 4 elements with 30px , 30px , 30px and 20px.

That's all for today. In the next article, we will continue learning properties related to CSS grids.
Till then #keepCoding.

Comments

Popular posts from this blog

Python Project - 1 (Password Locker)

Hello reader, this is my first post on this blog. I created this blog for various purposes including First and most importantly improve my coding Help others to learn various concepts in programming  To complete my hobby of blogging So, I am starting various series simultaneously, hope I will able to continue them. In this " Python Project " series, I will create simple python projects and will give step by step procedure to do that. I think you should first try to complete code yourself, then if you get stuck anywhere, feel free to check steps, refer complete code or comment for more help. Let's begin... Idea and Need: You probably have accounts on many different websites. It is a bad habit to have the same password and it is difficult to remember all passwords. So it is a good idea to use "Password Manager Software". So why not create it yourself? So let's see what steps you should follow... Steps: We have to create a menu which has the

WDS85 - Animate the CSS(Part 3)

In the last two articles, we learned about animations in CSS and various ways to customize them with the help of iterations and animation delays. Now in today's article, we are going to learn more about them so that to customize them even more. Let's begin... Reverse Directions and Alternate Cycles The animation-direction property in CSS decides whether we want to play animation forward, backward or in alternate cycles. Following values are possible: normal - This is the default. Animation plays as normal(forward). reverse - The animation plays in reverse direction that is backward. alternate - The animation first plays forward and then backward. alternate-reverse - The animation first plays backward and then forward. Speed Curve of Animation Just like we used various ways to customize transitions in CSS some articles before, same functions can be used to change the speed of the animation. The animation-timing-function property specifies the speed curve o

WDS84 - Animate the CSS(Part2 )

In the last article, we learned about animations in CSS. We learned about the important  @keyframes rule and also seen one example to use it in which we changed the background-color property of div using rules defined in keyframes. Now let's dive deep to learn more about it. Changing Two Properties Simultaneously In the example of the previous article, we just changed background-color using keyframes rule. Let's see the example in which we are changing background-color as well as the position of the div element. To work this properly we are going to position property of div value relative so that we can change it using keyframes. @keyframes myAnimation { 0 % { background-color : blue ; left : 0px ; top : 0px ;} 25 % { background-color : red ; left : 200px ; top : 0px ;} 50 % { background-color : yellow ; left : 200px ; top : 200px ;} 75 % { background-color : green ; left : 0px ; top : 200px ;} 100 % { background-