Css Grids

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

grid-gap

A shorthand property for the grid-row-gap and grid-column-gap properties

grid-row

A shorthand property for the grid-row-start and the grid-row-end properties

grid-area

After creating an areas template for your grid container, as shown in the previous challenge, you can place an item in your custom area by referencing the name you gave it. To do this, you use the grid-areaproperty on an item like this: .item1 { grid-area: header; } This lets the grid know that you want the item1class to go in the area named header. In this case, the item will use the entire top row because that whole row is named as the header area.

grid-area

Either specifies a name for the grid item, or this property is a shorthand property for the grid-row-start, grid-column-start, grid-row-end, and grid-column-end properties

justify-self

In CSS Grid, the content of each item is located in a box which is referred to as a cell. You can align the content's position within its cell horizontally using the justify-self property on a grid item. By default, this property has a value of stretch, which will make the content fill the whole width of the cell. This CSS Grid property accepts other values as well: start: aligns the content at the left of the cell, center: aligns the content in the center of the cell, end: aligns the content at the right of the cell.

grid-row

Of course, you can make items consume multiple rows just like you can with columns. You define the horizontal lines you want an item to start and stop at using the grid-rowproperty on a grid item.

grid-template-columns

Simply creating a grid element doesn't get you very far. You need to define the structure of the grid as well. To add some columns to the grid, use the grid-template-columnsproperty on a grid container as demonstrated below: .container { display: grid; grid-template-columns: 50px 50px; } This will give your grid two columns that are 50px wide each. The number of parameters given to the grid-template-columnsproperty indicates the number of columns in the grid, and the value of each parameter indicates the width of each column.

grid-column-gap

So far in the grids you have created, the columns have all been tight up against each other. Sometimes you want a gap in between the columns. To add a gap between the columns, use the grid-column-gapproperty like this: grid-column-gap: 10px; This creates 10px of empty space between all of our columns.

justify-items (Is Horizontal also css grid version)

Sometimes you want all the items in your CSS Grid to share the same alignment. You can use the previously learned properties and align them individually, or you can align them all at once horizontally by using justify-itemson your grid container. This property can accept all the same values you learned about in the previous two challenges, the difference being that it will move all the items in our grid to the desired alignment.

grid-template-areas

Specifies how to display columns and rows, using named grid items

grid-template-rows

Specifies the size of the rows in a grid layout

auto-fit

auto-fitworks almost identically to auto-fill. The only difference is that when the container's size exceeds the size of all the items combined, auto-fillkeeps inserting empty rows or columns and pushes your items to the side, while auto-fitcollapses those empty rows or columns and stretches your items to fit the size of the container. Note If your container can't fit all your items on one row, it will move them down to a new one.

grid-gap

grid-gap is a shorthand property for grid-row-gap and grid-column-gap from the previous two challenges that's more convenient to use. If grid-gap has one value, it will create a gap between all rows and columns. However, if there are two values, it will use the first one to set the gap between the rows and the second value for the columns.

align-self(non-flexbox)

Just as you can align an item horizontally, there's a way to align an item vertically as well. To do this, you use the align-self property on an item. This property accepts all of the same values as justify-self from the last challenge. start: aligns the content at the left of the cell, center: aligns the content in the center of the cell, end: aligns the content at the right of the cell.

grid-area

The grid-areaproperty you learned in the last challenge can be used in another way. If your grid doesn't have an areas template to reference, you can create an area on the fly for an item to be placed like this: item1 { grid-area: 1/1/2/4; } This is using the line numbers you learned about earlier to define where the area for this item will be. The numbers in the example above represent these values: grid-area: horizontal line to start at / vertical line to start at / horizontal line to end at / vertical line to end at; So the item in the example will consume the rows between lines 1 and 2, and the columns between lines 1 and 4.

Auto-fill

The repeat function comes with an option called auto-fill. This allows you to automatically insert as many rows or columns of your desired size as possible depending on the size of the container. You can create flexible layouts when combining auto-fillwith minmax. In the preview, grid-template-columnsis set to repeat(auto-fill, minmax(60px, 1fr)); When the container changes size, this setup keeps inserting 60px columns and stretching them until it can insert another one. Note If your container can't fit all your items on one row, it will move them down to a new one.

grid-template-rows

To adjust the rows manually, use the grid-template-rowsproperty in the same way you used grid-template-columnsin previous challenge.

Use grid-column to Control Spacing

To control the amount of columns an item will consume, you can use the grid-columnproperty in conjunction with the line numbers you want the item to start and stop at. Here's an example: grid-column: 1 / 3; This will make the item start at the first vertical line of the grid on the left and span to the 3rd line of the grid, consuming two columns.

Display: Grid;

Turn any HTML element into a grid container by setting its displayproperty to grid. This gives you the ability to use all the other properties associated with CSS Grid. Note In CSS Grid, the parent element is referred to as the container and its children are called items.

align-items (Is vertical also css grid version)

Using the align-items property on a grid container will set the vertical alignment for all the items in our grid.

repeat function

When you used grid-template-columns and grid-template-rows to define the structure of a grid, you entered a value for each row or column you created. Lets say you want a grid with 100 rows of the same height. It isn't very practical to insert 100 values individually. Fortunately, there's a better way - by using the repeat function to specify the number of times you want your column or row to be repeated, followed by a comma and the value you want to repeat. Here's an example that would create the 100 row grid, each row at 50px tall. grid-template-rows: repeat(100, 50px); You can also repeat multiple values with the repeat function, and insert the function amongst other values when defining a grid structure. Here's what I mean: grid-template-columns: repeat(2, 1fr 50px) 20px; This translates to: grid-template-columns: 1fr 50px 1fr 50px 20px; Note 1 fr 50 px is repeated twice followed by 20px. Use repeat to remove repetition from the grid-template-columns property.

grid-row-gap

You can add a gap in between the rows of a grid using grid-row-gapin the same way that you added a gap in between columns in the previous challenge.

grid-template-areas

You can group cells of your grid together into an area and give the area a custom name. Do this by using grid-template-areason the container like this: grid-template-areas: "header header header" "advert content content" "footer footer footer"; --------------------------------- display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; grid-gap: 10px; ---------------------------------- The code above merges the top three cells together into an area named header, the bottom three cells into a footerarea, and it makes two areas in the middle row; advertand content. Note Every word in the code represents a cell and every pair of quotation marks represent a row. In addition to custom labels, you can use a period (.) to designate an empty cell in the grid.

Changing rows and cols

You can use absolute and relative units like pxand emin CSS Grid to define the size of rows and columns. You can use these as well: fr: sets the column or row to a fraction of the available space, auto: sets the column or row to the width or height of its content automatically, %: adjusts the column or row to the percent width of its container. Here's the code that generates the output in the preview: grid-template-columns: auto 50px 10% 2fr 1fr; This snippet creates five columns. The first column is as wide as its content, the second column is 50px, the third column is 10% of its container, and for the last two columns; the remaining space is divided into three sections, two are allocated for the fourth column, and one for the fifth.


Ensembles d'études connexes

Chapter 29: Modernism in Europe, 1900 to 1945

View Set

أسئلة عشوائية - تاريخ الأردن

View Set

Unit 3: The hominid line (bipedalism & non honing chewing) ANTH 111

View Set

Chapter 4: "Netflix in Two Acts: The Making of an E-Commerce Giant and the Uncertain Future of Atoms to Bits"

View Set

Abnormal Psychology Unit 1 Book Review

View Set

VT 140: Introduction to Livestock Industry

View Set

Chapter 17 Multiple Choice Questions

View Set