Elemente Flex CSS
Orice element plasat direct într-un container flex devine element flex, fără altă intervenție.
Acestea sunt proprietățile disponibile pentru elementele flex:
order— stabilește locul în care apare un element în ordinea de afișare din containerflex-grow— stabilește cât de mult se extinde un element față de elementele vecineflex-shrink— stabilește cât de mult se micșorează un element față de elementele vecineflex-basis— îi dă unui element lungimea de la care porneșteflex— combinăflex-grow,flex-shrinkșiflex-basisîntr-o singură formă prescurtatăalign-self— aliniază un anumit element din interiorul containerului
Proprietatea CSS order
Ordinea din cod și ordinea vizuală pot fi diferite: elementul flex care apare primul în cod nu trebuie să apară neapărat primul în aspect. În interiorul containerului flex, order decide succesiunea.
Trebuie să primească un număr, iar acest număr este implicit 0.
Exemplu
Fiecare element de mai jos are o valoare order care îi stabilește locul în aspect:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS order Property</title>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The order Property</h1>
<div class="flex-container">
<div style="order: 3">1</div>
<div style="order: 2">2</div>
<div style="order: 4">3</div>
<div style="order: 1">4</div>
</div>
</body>
</html>
Proprietatea CSS flex-grow
Numărul dat proprietății flex-grow spune cât de mult se extinde un element față de elementele vecine.
Aici este valid doar un număr, iar valoarea implicită este 0.
Exemplu
Aici, al treilea element crește de patru ori mai repede decât cele două elemente vecine:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS flex-grow Property</title>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex-grow Property</h1>
<div class="flex-container">
<div style="flex-grow: 1">1</div>
<div style="flex-grow: 1">2</div>
<div style="flex-grow: 4">3</div>
</div>
</body>
</html>
Proprietatea CSS flex-shrink
Numărul dat proprietății flex-shrink spune cât de mult se micșorează un element față de elementele vecine.
Din nou este valid doar un număr, dar de data aceasta valoarea implicită este 1.
Exemplu
Aici, al treilea element se micșorează de două ori mai mult decât toate celelalte:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS flex-shrink Property</title>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex-shrink Property</h1>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex-shrink: 2">3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
</body>
</html>
Proprietatea CSS flex-basis
Lungimea inițială a unui element vine de la flex-basis.
Exemplu
Aici, al treilea element pornește de la o lungime de 250 de pixeli:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS flex-basis Property</title>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex-basis Property</h1>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex-basis: 250px">3</div>
<div>4</div>
</div>
</body>
</html>
Proprietatea CSS flex
În loc de trei declarații separate pentru flex-grow, flex-shrink și flex-basis, poți scrie o singură formă prescurtată, flex.
Exemplu
Aici, al treilea element poate crește (1), nu se poate micșora (0) și pornește de la o lungime de 150 de pixeli:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS flex Shorthand Property</title>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex Property</h1>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex: 1 0 150px">3</div>
<div>4</div>
</div>
</body>
</html>
Proprietatea CSS align-self
Proprietatea align-items a containerului stabilește o aliniere implicită. Pentru un anumit element din interiorul containerului flex, align-self suprascrie această valoare implicită.
Align-self center
Aici, al treilea element stă la mijlocul containerului:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS align-self center</title>
<style>
.flex-container {
display: flex;
height: 200px;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The align-self Property</h1>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="align-self: center">3</div>
<div>4</div>
</div>
</body>
</html>
Align-self flex-start și flex-end
Aici, al doilea element se mută în partea de sus a containerului, iar al treilea în partea de jos:
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS align-self flex-start and flex-end</title>
<style>
.flex-container {
display: flex;
height: 200px;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The align-self Property</h1>
<div class="flex-container">
<div>1</div>
<div style="align-self: flex-start">2</div>
<div style="align-self: flex-end">3</div>
<div>4</div>
</div>
</body>
</html>
Proprietățile elementelor Flex CSS
Toate proprietățile elementelor flex, în ordine alfabetică:
align-self— aliniază un element flex, suprascriind proprietateaalign-itemsa containerului său flexflex— formă prescurtată care acoperăflex-grow,flex-shrinkșiflex-basisflex-basis— îi dă unui element flex lungimea inițialăflex-grow— stabilește cât de mult se extinde un element flex față de celelalteflex-shrink— stabilește cât de mult se micșorează un element flex față de celelalteorder— stabilește locul în care apar elementele flex în succesiunea din container