Flexbox
Text
Tables
Floats
.flex-container {
display: flex
}
OR
.flex-container {
display: inline-flex
}.flex-container {
flex-direction: row || column;
}.flex-container {
flex-wrap: nowrap || wrap || wrap-reverse;
}.flex-container {
flex-flow: row wrap; /* direction row, wrap items */
}.flex-container {
justify-content: flex-start || flex-end || center ||
space-between || space-around;
}.flex-container {
align-items: flex-start || flex-end || center ||
stretch || baseline;
}.flex-container {
align-content: flex-start || flex-end || center ||
stretch;
}.flex-item {
order: 1;
}.flex-item {
flex-grow: 0; /* default is 0 */
flex-shrink: 1; /* default is 1 */
}.flex-item {
flex-basis: 150px; /* Can use any size suffix,
note that %'s don't work in iOS */
}.flex-item {
flex: 0 1 auto; /* shortand: flex-grow flex-shrink
flex-basis */
}.flex-item {
align-self: auto || flex-start || flex-end
|| center || baseline || stretch;
}display: grid
grid-template-columns
grid-temaplate-rows
grid-template-areas
grid-column-gap
grid-row-gap
grid-template-gap
grid-gap
.grid-container {
display: grid
}
.grid-container {
display: grid
grid-template-columns: 150px 150px 150px 150px 150px
grid-template-rows: repeat(3, 150px);
}
.grid-container {
display: grid
grid-template-columns: repeat(5, 150px);
grid-template-rows: repeat(3, 150px);
grid-gap: 10px;
}
grid-column-start
grid-column-end
grid-row-start
grid-row-end
grid-area
span
.item-c {
grid-column-start: 5;
grid-column-end: 6;
grid-row-start: 1;
grid-row-end: 2;
background-color: orange;
}
.item-a {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 4;
background-color: green;
}
.item-b {
grid-column-start: 3;
grid-column-end: 5;
grid-row-start: 2;
grid-row-end: 4;
background-color: blue;
}.item-c {
grid-column: 5 / 6;
grid-row: 1 / 2;
background-color: orange;
}
.item-a {
grid-column: 1 / 2;
grid-row: 1 / span 3;
background-color: green;
}
.item-b {
grid-column: 3 / 5;
grid-row: 2 / span 2;
background-color: blue;
}.item-c {
grid-area: 1 / 5 / 2 / 6;
background-color: orange;
}
.item-a {
grid-area: 1 / 1 / 4 / 2;
background-color: green;
}
.item-b {
grid-area: 2 / 3 / 4 / 5;
background-color: blue;
}
/* <row-start> / <column-start> / <row-end> / <column-end> */
/* counter-clockwise starting at the top */.item-a {
grid-area: header;
}
.item-b {
grid-area: main;
}
.item-c {
grid-area: aside;
}
.item-d {
grid-area: footer;
}
.grid-container {
grid-template-columns: repeat(4, 150px);
grid-template-rows: repeat(4, 120px);
grid-template-areas:
"header header header header"
"main main main aside"
"main main main aside"
"footer footer footer footer";
}.items {
color: white;
background: darkslategray;
padding: 15px;
}
.boat img {
width: 250px;
}
.logo img {
width: 120px;
}
.item-1 {
grid-area: one;
background: blue;
}
.item-2 {
grid-area: two;
}
.item-3 {
grid-area: three;
}
.item-4 {
grid-area: four;
padding: 0;
}
.item-5 {
grid-area: five;
background: red;
padding-top: 25px;
text-align: center;
font-size: 20px
}
.item-6 {
grid-area: six;
}
.item-7 {
grid-area: seven;
}
.item-8 {
grid-area: eight;
padding: 0px;
background: none;
}.grid-container {
display: grid;
grid-template-columns: repeat(7, 120px);
grid-template-rows: repeat(7, 80px);
grid-gap: 10px;
grid-template-areas:
". one . . . . ."
"eight one six six six six ."
"seven one six six six six ."
"seven four four five five five five"
"seven four four two two three ."
"seven four four two two three ."
". four four . . three .";
}<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Grid Crazy</title>
<link rel="stylesheet" href="./main.css">
</head>
<body>
<div class="grid-container">
<div class="item-1 items">1</div>
<div class="item-4 items img-1"><img src="./img.png"></div>
<div class="item-5 items">This is where item five resides</div>
<div class="item-6 items">6</div>
<div class="item-7 items">7</div>
<div class="item-8 items img-2"><img src="./logo.png"></div>
<div class="item-2 items">2</div> <!-- line 16 -->
<div class="item-3 items">3</div> <!-- line 17 -->
</div>
</body>
</html>fr unit
auto
max-content
min-content
auto-fill
minmax()
.grid-container {
display: grid;
width: 750px;
grid-template-columns: 150px 1fr 2fr;
}
/* a column with min width of 200px, max of 250px, and two columns of 1fr */
grid-template-columns: minmax(200px, 250px) 1fr 1fr;.container{
grid-template-columns: 40px 50px auto 50px 40px;
grid-template-rows: 25% 100px auto;
}.grid-container {
display: grid;
grid-template-columns: repeat(9, 1fr);
grid-template-rows: repeat(3, 150px) 2fr
}grid-template-columns: minmax(max-content, 300px) 1fr 150px;body {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(25ch, 1fr));
}.item-a {
grid-column: 1 / -1;
grid-row: 1;
}Change how many columns or rows
Change where the items are placed
@media all and (min-width: 53.125em) {
.new-item {
grid-column: 1 / 7;
grid-row: 1 / 2;
}
}
.new-item
grid-column: 1 / -1;
grid-row: 1;
}@media all and (min-width: 75em) {
.new-item {
grid-column: 1 / 4;
grid-row: 1 / 2;
}
}.new-item
grid-column: 1 / -1;
grid-row: 1;
}@supports not (display: grid) {
div {
display: flex;
}
}Mozilla's Grid Waffle