Grid c: Π€ΠΈΡΠΊΠΈ XAML-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Grid / Π₯Π°Π±Ρ
WPF | Grid
Grid
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 16.01.2016
ΠΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΉ ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΡΠΎΡΡΡ
Π·Π°Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ RowDefinitions, Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ColumnDefinitions:
<Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions>
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° Π·Π°Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° RowDefinition
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π³. ΠΡΠΈ ΡΡΠΎΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π’ΠΎ Π΅ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Π³ΡΠΈΠ΄Π΅ 3 ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠΎΠ»Π±Π΅Ρ Π·Π°Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ColumnDefinition
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π΄Π΅ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ 3 ΡΡΠΎΠ»Π±ΡΠ°. Π’Π Π΅ΡΡΡ Π² ΠΈΡΠΎΠ³Π΅
Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° 3Ρ
3.
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ Grid, Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Grid.Column ΠΈ
Grid.Row, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Ρ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΈ ΡΡΡΠΎΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΡΠ°ΡΡΡΠ½ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ², ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Grid.ColumnSpan ΠΈ Grid.RowSpan, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
<Window x:Class="LayoutApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:LayoutApp" mc:Ignorable="d" Title="Grid"> <Grid ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions> <Button Grid.Column="0" Grid.Row="0" Content="Π‘ΡΡΠΎΠΊΠ° 0 Π‘ΡΠΎΠ»Π±Π΅Ρ 0" /> <Button Grid.Column="0" Grid.Row="1" Content="ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ²" Grid.ColumnSpan="3" /> <Button Grid.Column="2" Grid.Row="2" Content="Π‘ΡΡΠΎΠΊΠ° 2 Π‘ΡΠΎΠ»Π±Π΅Ρ 2" /> </Grid> </Window>
ΠΡΡΠΈΠ±ΡΡ ShowGridLines="True"
Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Grid Π·Π°Π΄Π°Π΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ΅ΡΠΊΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ False.
Π’ΠΎ Π΅ΡΡΡ Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½Π°:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ²
ΠΠΎ Π΅ΡΠ»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π°Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΡ Π±ΡΠ»ΠΈ ΡΠ°Π²Π½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ, ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΡ
Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠΎΠ»Π±ΡΡ ΠΏΠΎ ΡΠΈΡΠΈΠ½Π΅, Π° ΡΡΡΠΎΠΊΠΈ — ΠΏΠΎ Π²ΡΡΠΎΡΠ΅.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ
ΠΠ΄Π΅ΡΡ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌ Π½ΡΠΆΠ½ΠΎ
<ColumnDefinition /> <RowDefinition />
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ , Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
<ColumnDefinition /> <RowDefinition />
Π’Π°ΠΊΠΆΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ , Π΄ΡΠΉΠΌΠ°Ρ , ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΈΠ»ΠΈ ΡΠΎΡΠΊΠ°Ρ :
ΠΏΠΈΠΊΡΠ΅Π»ΠΈ | px |
Π΄ΡΠΉΠΌΡ | in |
ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ | cm |
ΡΠΎΡΠΊΠΈ | pt |
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
<ColumnDefinition /> <RowDefinition />
ΠΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠΆΠ΅ Π·Π°Π΄Π°ΡΡΡΡ Π΄Π²Π° ΡΡΠΎΠ»Π±ΡΠ°, Π²ΡΠΎΡΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΠΈΠ½Ρ Π² ΡΠ΅ΡΠ²Π΅ΡΡΡ ΠΎΡ ΡΠΈΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ:
<ColumnDefinition /> <ColumnDefinition />
ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΡΡ, ΡΠ°Π²Π½ΡΡ *, ΡΠΎ Π΄Π°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠ΅Π΅ΡΡ ΠΌΠ΅ΡΡΠΎ. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ
ΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ², Π²ΡΡΠΎΡΠ° ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π²Π½Π° *, ΡΠΎ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π΅Π»ΠΈΡΡΡ ΠΏΠΎΡΠΎΠ²Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² (0.25*) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ (ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ * Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ 1*) ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π΅Π»ΠΈΡΡΡ
Π½Π° ΡΡΠΌΠΌΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΡΠΈ ΡΡΠΎΠ»Π±ΡΠ°:
<ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition />
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΌΠΌΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΡΠ°Π²Π½Π° 1* + 0.5* + 1.5* = 3*. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π³ΡΠΈΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΠΈΠ½Ρ 300 Π΅Π΄ΠΈΠ½ΠΈΡ, ΡΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠΈΡΠΈΠ΅Π½Ρ 1* Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ
300 / 3 = 100 Π΅Π΄ΠΈΠ½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠΈΠ½Ρ Π² 100 Π΅Π΄ΠΈΠ½ΠΈΡ, Π²ΡΠΎΡΠΎΠΉ — 100*0.5=50 Π΅Π΄ΠΈΠ½ΠΈΡ, Π° ΡΡΠ΅ΡΠΈΠΉ — 100 * 1.5 = 150 Π΅Π΄ΠΈΠ½ΠΈΡ.
ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΈΠΏΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡ ΡΠΈΡΠΈΠ½Ρ/Π²ΡΡΠΎΡΡ Π³ΡΠΈΠ΄Π° ΠΎΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠΈΡΠΈΠ½Π°/Π²ΡΡΠΎΡΠ° ΡΡΠΎΠ»Π±ΡΠΎΠ²/ΡΡΡΠΎΠΊ Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΈ
Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π²ΡΠ΅Π΅ΡΡ ΠΌΠ΅ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ/ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Ρ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ:
UniformGrid
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ UniformGrid, ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ:
<UniformGrid Rows="2" Columns="2"> <Button Content="Left Top" /> <Button Content="Right Top" /> <Button Content="Left Bottom" /> <Button Content="Right Bottom" /> </UniformGrid>
CSS Grid ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ / Π₯Π°Π±Ρ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Grid?
Grid ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΠΉΡΡ Π½Π°Π±ΠΎΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ β ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΡ, Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² ΡΠ΅ΡΠΊΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ
Π 2020 Π³ΠΎΠ΄Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 94 %
Grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΎΠ±ΡΡΠ²Π»ΡΡ display: grid ΠΈΠ»ΠΈ display: inline-grid Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ, Π²ΡΠ΅ ΠΏΡΡΠΌΡΠ΅ Π΄Π΅ΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ°Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΊΠΈ.
<body>
<div>
<div>
<h2>Header</h2>
</div>
<div>
<h2>Navbar</h2>
</div>
<div>
<h2>Article</h2>
</div>
<div>
<h2>Ads</h2>
</div>
</div>
</body>
.row {
display: grid;
margin: auto;
grid-template-rows: 60px 1fr ;
grid-template-columns: 20% 1fr 15%;
grid-gap: 10px;
width: 1000px;
height: 1000px;
justify-items: center;
justify-content: space-between;
grid-template-areas:
"header header header"
"nav article ads";
}
grid-template-rows β ΡΡΠΎ CSS ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΏΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ grid rows.
CSS ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-row
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΈΠ»ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΡΠ΅ΡΠΊΠΈ. Π―Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ² grid-row-start ΠΈ grid-row-end.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ CSS grid-gap
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ Π΄Π»Ρ grid-row-gap
ΠΈ grid-column-gap
, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΠΆΠ΅Π»ΠΎΠ±Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΊΠΈ.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-areas
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ΅ΡΠΊΠΈ ΡΡΡΠ»Π°ΡΡΡ Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-area.
ΠΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΈ ΡΡΠ΅ΠΉΠΊΠΈ. Π’ΠΎΡΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΡΡΡΡ ΡΡΠ΅ΠΉΠΊΡ. Π‘Π°ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΠΊΠΈ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-area
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅ΡΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
.header{
grid-area: header;
}
.nav{
grid-area: nav;
}
.article{
grid-area: article;
}
.ads{
grid-area: ads;
}
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ°ΠΉΡΠ° Ρ CSS Grid:
ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π³ΡΠΈΠ΄-ΠΎΠ±Π»Π°ΡΡΠΈ Π² grid-template-areas
.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΌΠ΅Π½ΠΈΠΌ Π½Π° ΡΡΠΎ:
grid-template-areas:
"nav header header"
"nav article ads";
}
Π’ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½:
ΠΡΠΈΠ΄Ρ Ρ ΠΌΠ΅Π΄ΠΈΠ° Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΈΠ»ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½ Π³ΡΠΈΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΆΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ CSS Grid ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΌΠ΅Π΄ΠΈΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ASCII-Π³ΡΠ°ΡΠΈΠΊΠ΅ ΠΈ ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΌΠ΅Π΄ΠΈΠ° Π·Π°ΠΏΡΠΎΡ.
@media all and (max-width: 575px) {
.row {
grid-template-areas:
"header"
"article"
"ads"
"nav";
grid-template-rows: 80px 1fr 70px 1fr ;
grid-template-columns: 1fr;
}
}
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΠ΅ Π΄Π΅Π»ΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ grid-template-areas
.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π²Π΅ΡΡ ΡΡΠΊΡ CSS Grid Layout Π°ΠΉΡΠ±Π΅ΡΠ³Π°. ΠΠ½ΠΎΠ³Π΄Π° ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΠΈΠΌ Π³Π»Π°Π·Π°ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΊΠΈ ΡΠ΄Π°Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ CSS Grid. ΠΡΠΎ ΡΠ°Π·ΡΡΠ² Π²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². Π ΠΌΠ½Π΅ ΡΡΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ.
Π― Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π΅Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ²Π΅ΡΡΡΠ΅, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²Π°ΠΌ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΈΡΠ΅ΡΠ΅ Π²Ρ Π½Π° React, Angular, Vue (Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ²ΠΎΠ΅). GridβΡ ΠΏΡΠΈΡΠ»ΠΈ Π½Π°Π΄ΠΎΠ»Π³ΠΎ.
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ CSS Grid (3 ΡΠ°ΡΡΡ): Grid-ΠΎΠ±Π»Π°ΡΡΠΈ / Π₯Π°Π±Ρ
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ! ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«Understanding CSS Grid: Grid Template AreasΒ» Π°Π²ΡΠΎΡΠ° Rachel Andrew
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ CSS Grid, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΠ΅ΡΠΊΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ grid-Π»ΠΈΠ½ΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-template-areas
Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠ΅ΡΠΊΠ΅ ΠΈ Π²ΡΡΡΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π‘ΡΠ°ΡΡΠΈ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΈΠΈ:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΠ°ΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CSS Grid. ΠΠΎ ΠΏΠΎΡΠΎΠΉ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°Ρ Rachel Andrew Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π² Π΄ΡΡΠ³ΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°Ρ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π°Π½Π½ΡΡ ΡΡΠ°ΡΡΡ ΡΡΠΎΠΈΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΡΠΎΡΠΊΡ Π·ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° 'grid-template-areas'
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-areas
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° (Π·Π°ΠΊΠ»ΡΡΡΠ½Π½Π°Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΡΠ΅ΡΠΊΠΈ. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-areas
ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ grid-template-rows
ΠΈ grid-template-columns
, Π»ΠΈΠ±ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΠΌΠ°ΠΊΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠΎΡΠ° Π²ΡΠ΅Ρ
ΡΡΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠΊΠ° Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ β ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΡΡ ΠΈ Π΄Π²Π° ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΡΠ΅ΠΊΠ°. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΡΡΡΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π½ΠΈΠΌΠ°ΡΡ:
grid-template-areas: "one one two two"
"one one two two"
"three three four four"
"three three four four";
Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΠ΅ΡΠΊΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΡΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ grid-area
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΡΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Ρ
ΠΎΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ test
Π² ΠΎΠ±Π»Π°ΡΡΡ ΡΠ΅ΡΠΊΠΈ one
, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ CSS:
.test {
grid-area: one;
}
Π£Π²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ CodePen, ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΡΠ΅ΡΡΡΡΡ ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ grid-ΠΎΠ±Π»Π°ΡΡΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° `grid-area’ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠΊΠ΅ Π² Π½ΡΠΆΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅.
ΠΡΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Grid-ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Firefox, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΠ΅ΡΠΊΠΈ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ β ΠΈ Π²ΡΡ ΡΡΠΎ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ Π»ΠΈΠ½ΠΈΡΠΌ ΡΠ΅ΡΠΊΠΈ.
ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ 'grid-template-areas'
Π£ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ». ΠΡ Π½Π΅ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΊΡ.
ΠΡΠ°Π²ΠΈΠ»ΠΎ β1: ΠΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ Π²ΡΡ ΡΠ΅ΡΠΊΡ
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ ΡΠ΅ΡΠΊΡ, ΡΠΎ Π΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠ°ΠΆΠ΄Π°Ρ Π΅Ρ ΡΡΠ΅ΠΉΠΊΠ°.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅ΠΉΠΊΡ ΠΏΡΡΡΠΎΠΉ, ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ, Π½Π΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ ΠΈΡ
ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ ('.'
ΠΈΠ»ΠΈ '...'
).
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-template-areas
Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
grid-template-areas: "one one two two"
"one one two two"
". . four four"
"three three four four";
ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ «three» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΅ΡΠΊΠΈ.
ΠΡΠ°Π²ΠΈΠ»ΠΎ β2: ΠΠ΄Π½ΠΎ ΠΈΠΌΡ β ΠΎΠ΄Π½Π° ΠΎΠ±Π»Π°ΡΡΡ
ΠΠ±Π»Π°ΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠ°Π·Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡ Π½Π° ΡΠ΅ΡΠΊΠ΅, Π·Π°Π΄Π°Π² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ three
:
grid-template-areas: "one one three three"
"one one two two"
"three three four four"
"three three four four";
ΠΡΠ°Π²ΠΈΠ»ΠΎ β3: Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ
ΠΠ΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ‘L’ ΠΈΠ»ΠΈ ‘T’-ΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ β ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ Π²ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Π³ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
grid-template-areas: "one one two two"
"one one one one"
"three three four four"
"three three four four";
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-template-areas
ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΊ ΡΠ΅ΡΠΊΠΈ. ΠΡΠΎ Π΄Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π²ΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΡΡΡΠΏΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅ΠΉΠΊΠ°ΠΌΠΈ, Π° ΠΏΡΡΡΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π²ΡΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ Ρ ΡΡΠ΅Π΅ΠΊ Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΡΡΡΡΡ ΡΡΠ΅Π΅ΠΊ, ΡΡΠΎΠ±Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π»ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΈ ΡΡΠΎΠ»Π±ΡΡ:
grid-template-areas: "one one two two"
"one one two two"
".... .... four four"
"three three four four";
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ Π² ΠΎΠ΄Π½Ρ Π»ΠΈΠ½ΠΈΡ, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
grid-template-areas: "one one two two" "one one two two" "three three four four" "three three four four";
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² 'grid-template-areas'
ΠΈ 'grid-area'
ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ grid-Π»ΠΈΠ½ΠΈΡΠΌ. Π’ΠΎ Π΅ΡΡΡ, ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ grid-Π»ΠΈΠ½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² CodePen Π½ΠΈΠΆΠ΅. Π Π½ΡΠΌ Ρ ΡΠΎΠ·Π΄Π°Π»Π° ΡΠ΅ΡΠΊΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅. ΠΠΎ Π² ΡΡΠΎΡ ΡΠ°Π· Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° grid-Π»ΠΈΠ½ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-column-start
, grid-column-end
, grid-row-start
ΠΈ grid-row-end
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΡΠ°ΡΡΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΈΠΈ Β«ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ CSS Grid (2 ΡΠ°ΡΡΡ): Grid-ΠΠΈΠ½ΠΈΠΈΒ», ΡΠΎ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-area
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅.
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΡ ΠΆΠ΅ ΠΌΠ°ΠΊΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ Π»ΠΈΠ½ΠΈΠΉ, Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
grid-row-start
grid-column-start
grid-row-end
grid-column-end
.one {
grid-area: 1 / 1 / 3 / 3;
}
.two {
grid-area: 1 / 3 / 3 / 5;
}
.three {
grid-area: 3 / 1 / 5 / 3;
}
.four {
grid-area: 3 / 3 / 5 / 5;
}
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-area
ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅ΡΠ° Π»ΠΈΠ½ΠΈΠΉ, ΡΠ°ΠΊ ΠΈ ΠΈΡ
ΠΈΠΌΠ΅Π½Π°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 'grid-area'
Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ Π»ΠΈΠ½ΠΈΠΉ
ΠΡΠ»ΠΈ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ grid-area
ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ° Π»ΠΈΠ½ΠΈΠΉ, ΡΠΎ Π»ΠΈΠ½ΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π²ΡΡΠ΅.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ Π²Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π½ΠΎΠΌΠ΅ΡΠ°, ΠΎΠ½ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ auto
, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΊ (ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ CSS Π·Π°Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-row-start: 3
, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π½Π° auto
. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠ½ Π½Π° 3 ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΠΎΠΌ ΡΡΠ΅ΠΊΠ΅, ΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΊ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ.
grid-area: 3;
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 'grid-area'
Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π»ΠΈΠ½ΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ Π² Grid-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ), ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-area
ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΡΡΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΈ Π΅ΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΠ΅Π½Π° Π»ΠΈΠ½ΠΈΠΉ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΈΡ
Π½ΠΎΠΌΠ΅ΡΠ°.
ΠΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π° Π»ΠΈΠ½ΠΈΠΉ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΡ
ΠΏΡΠΎΠΏΡΡΠΊΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-area
ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠΌΠ΅ΡΠΎΠ².
ΠΠΈΠΆΠ΅ Ρ ΡΠΎΠ·Π΄Π°Π»Π° ΡΠ΅ΡΠΊΡ Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° grid-area
Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΠΎΠΏΡΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅):
.grid {
display: grid;
grid-template-columns:
[one-start three-start] 1fr 1fr
[one-end three-end two-start four-start] 1fr 1fr [two-end four-end];
grid-template-rows:
[one-start two-start] 100px 100px
[one-end two-end three-start four-start] 100px 100px [three-end four-end];;
}
.two {
grid-area: two-start / two-start / two-end;
}
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΈΠΌΡ Π»ΠΈΠ½ΠΈΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-column-end
. Π ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-column-end
Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΈ Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-column-start
. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
Π΄Π²ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅, ΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ, ΠΏΠΎ ΡΡΡΠΈ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° auto
, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΊ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π»ΠΈΠ½ΠΈΠΉ.
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠΏΡΡΡΠΈΡΡ ΡΡΠ΅ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-row-end
. ΠΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΈ grid-row-start
ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ auto
.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ CodePen-ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠ°Π·Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-area
Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
ΠΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-area
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-template-areas
ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ, Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎ ΠΊΡΠ°ΡΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΠΈ Ρ ΠΎΠ±Π»Π°ΡΡΠΈ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ°Π½Π΅Π΅ ΠΎΠ±Π»Π°ΡΡΡ, ΡΠΊΠ°Π·Π°Π² Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π»ΠΈΠ½ΠΈΡΠΌ:
.one {
grid-row-start: one;
grid-row-end: one;
grid-column-start: one;
grid-row-end: one;
}
ΠΡΠ»ΠΈ ΠΈΠΌΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ (-start)
, ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΠΌΡ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (-end)
, β ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°Π΄Π°ΡΠΌ grid-area: one
, ΠΌΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠ΅ ΠΎΠ½ΠΈ Π² ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ one
, Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡΡ ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ².
ΠΡΠΈΠ½ΡΠΈΠΏ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π² Grid-ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΠ½ΡΠΉ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π»Π° Π² ΠΌΠΎΠΈΡ ΡΡΠ°ΡΡΡΡ Β«ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π² CSS GridΒ» ΠΈ Β«Editorial Design Patterns With CSS Grid And Named ColumnsΒ».
ΠΠ°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ 'grid-template-areas'
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-template-areas
, ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Ρ Π²Π°Ρ ΠΎΡΡΠ°ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π° ΡΠ΅ΡΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ.
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ CodePen-ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ»Π° Π΅Π³ΠΎ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ grid-Π»ΠΈΠ½ΠΈΠΈ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΡΡΡΠΎΠΊ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ΅ΡΡΡΡΠΌ Π»ΠΈΠ½ΠΈΡΠΌ ΠΏΠΎ ΠΊΡΠ°ΡΠΌ ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π»ΠΈΠ½ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΡΡΡΡΠΈΠΊΡΠ°ΠΌΠΈ -start
ΠΈ -end
, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, grid-ΠΎΠ±Π»Π°ΡΡΡ, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ one
, ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ one-start
ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ one-end
.
Π’Π°ΠΊΠΆΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π½Π΅ΡΠ²Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π»ΠΈΠ½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΠΊΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ΅ΡΠΊΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠΊΠ°Ρ , Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΡΠΉ Π½Π° ΡΠ΅ΡΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π»ΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 'grid-template-areas'
Π² Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅
Π― ΡΠ°ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ grid-template-areas
ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΡΠΌΠΎ ΠΈΠ· CSS ΡΠΎΡΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ
ΡΠΎΡΠΊΠ°Ρ
ΠΏΡΡΡΠΌ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-template-areas
, ΠΈΠ½ΠΎΠ³Π΄Π° Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° ΠΌΠ°ΠΊΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΊΠΎΠ»ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΠ΅ΡΠ°. ΠΠ°Π»Π΅Π΅, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π° 600px Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° grid-template-areas
, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΠΊΠ΅Ρ Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ. ΠΡΠΈΡΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ, ΠΊΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡ Π½Π° ΡΡΠΎΡ ΠΊΠΎΠ΄, ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ°ΠΊΠ΅Ρ.
.wrapper {
background-color: #fff;
padding: 1em;
display: grid;
gap: 20px;
grid-template-areas:
"hd"
"bd"
"sd"
"ft";
}
@media (min-width: 600px) {
.wrapper {
grid-template-columns: 3fr 1fr;
grid-template-areas:
"hd hd"
"bd sd"
"ft ft";
}
}
header { grid-area: hd; }
article {grid-area: bd; }
aside { grid-area: sd; }
footer { grid-area: ft; }
ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΡΠ±ΠΎΠΉ, ΠΊΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΡΠ°ΠΉΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Tab ΠΈΠ»ΠΈ ΠΊΡΠΎΠΌΠ΅ ΡΠΊΡΠ°Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈ ΠΎΠ·Π²ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° Π·Π°Π΄Π°Π½Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΡΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
Π Π΅Π·ΡΠΌΠΈΡΡΡ
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π² ΡΡΠΎΠΌ ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² grid-template-areas
ΠΈ grid-area
ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅. Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² ΠΌΠ°ΠΊΠ΅ΡΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄.
CSS Grid Layout. ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ / Π₯Π°Π±Ρ
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ. Π€Π΅Π²ΡΠ°Π»Ρ-ΠΠ°ΡΡ 2017 Π³ΠΎΠ΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ , ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ HTML ΠΈ CSS ΡΠ΅ΠΌ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»ΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ CSS. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ CSS Grid Layout Π±Π΅Π· ΡΠ»Π°Π³ΠΎΠ² Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ : Firefox 52, Chrome 57, Opera 44, Safari 10.1. ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΎΡΡΠ°Π»ΡΡ ΠΏΠΎΠ·Π°Π΄ΠΈ, Π΄ΡΠΌΠ°Ρ, Π²Ρ Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ΡΡ. Π’ΠΎΡΠ½Π΅Π΅ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ CSS Grid Layout ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ β ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π·Π½Π°ΡΠΈΠΌΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π·Π° ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ ΠΏΡΡΡ Π»Π΅Ρ. ΠΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². Π ΡΡΠΎ ΠΊΡΡΡΠΎ.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Flexible Box Layout
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: Β«Π‘ΡΠΎΠΏ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ flexbox, Π·Π°ΡΠ΅ΠΌ ΠΌΠ½Π΅ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ gridβΡ?Β». ΠΠΎΠΏΡΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΡΠΌΠ΅ΡΡΠ΅Π½. CSS Grid Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ Flexbox ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Flexbox ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ flex ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΄ΠΎΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΈ ΠΈΠ»ΠΈ Π²Π΄ΠΎΠ»Ρ ΠΏΠΎΠΏΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠΈ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ flex ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π·Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΡΡΡ . CSS Grid Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ Π² Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΠΎΠ±ΠΎΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ . ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ Tab Atkins.
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ (Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π²). CSS Grid ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΠΌΠ΅Π½ΡΡ ΡΠ°ΠΌ HTML. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Π½Π° Flexbox ΠΈ CSS Grid.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ CSS Grid, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ² ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π²ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
Grid container β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΡ ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ grid Π»ΠΈΠ½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° grid ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ½ΡΡΡΠΈ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π΅ΡΡΡ Π΄Π²Π° Π½Π°Π±ΠΎΡΠ° grid Π»ΠΈΠ½ΠΈΠΉ: ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ², Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΡ ΡΡΡΠΎΠΊ.
Grid lines β ΡΡΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΡΠΈ Π»ΠΈΠ½ΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎ ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡ ΡΡΠΎΠ»Π±ΡΠ° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΠ²ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠΌΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π»ΡΡΠ΅ Π² ΡΡΠΈΠ»ΡΡ . ΠΡΠΌΠ΅ΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠ°ΠΆΠ½ΡΠΉ Π½ΡΠ°Π½Ρ, Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΠΎΡΠΏΡΠΈΠΈΠΌΡΠΈΠ² ΠΊ ΡΠ΅ΠΆΠΈΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΡΠ°Π±ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ, ΡΠΎ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ Π»ΠΈΠ½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
Grid track β ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΌΠ΅ΠΆΠ½ΡΠΌΠΈ grid Π»ΠΈΠ½ΠΈΡΠΌΠΈ, Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ.
Grid cell β ΡΡΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ°Ρ Π½Π΅Π΄Π΅Π»ΠΈΠΌΠ°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΈ grid ΡΡΡΠΎΠΊΠΈ ΠΈ grid ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.
Grid area β ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²Π½ΡΡΡΠΈ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ grid ΡΡΠ΅Π΅ΠΊ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΡ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ΅ΡΠ²ΡΠΉ CSS Grid ΠΌΠ°ΠΊΠ΅Ρ
ΠΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ. ΠΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ grid ΠΌΠ°ΠΊΠ΅Ρ. ΠΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ. ΠΠΈΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 150px 1fr 150px
ΠΈ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 50px auto 50px
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: 1fr
, auto
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΡΡΠΎ Π·Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
1fr
β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²Π²Π΅Π΄Π΅Π½Π½Π°Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠ½Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ Π² ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ
ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (px
, em
, rem
, Π΄Ρ.) ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ calc()
. ΠΡΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ½Π° ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΡ fr
, Π±ΡΠ»ΠΈ ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ.
auto
β Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Ρ
ΠΈΡΡΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΡΡΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ fr
. ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅, auto
Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°Π½ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°Π½ fr
. ΠΠ± ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²ΡΡΠ΅.
ΠΠ»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΡΡΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°:
grid-template-columns: 150px 1fr auto;
grid-template-rows: 50px auto 50px;
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
grid-template: 50px auto 50px / 150px 1fr auto;
Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π½Π° gridβΠ°Ρ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π²ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ. ΠΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠ³ΠΎΠ²: header
, nav
, aside
, article
, footer
. ΠΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½. Π’ΠΎΠ»ΡΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅, Π΄Π°ΠΆΠ΅ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: Β«Π― Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ, Ρ ΡΠ°ΠΊ Ρ
ΠΎΡΡ. Π― ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Ρ ΡΠ°ΠΊ Π½Π΅ ΠΌΠΎΠ³ΡΒ». Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ CSS Grid Layout ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ΅ΠΌΠΈΡΡΡΡ ΠΊ Π½ΡΠ»Ρ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Π΅ΡΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ CSS Grid Layout. ΠΠ΅ΡΠ²ΠΎΠ΅ grid-template-areas
. ΠΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, ΠΌΡ ΡΡΠ°Π·Ρ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅. ΠΡΠΎΡΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-area
. ΠΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π² ΠΊΠ°ΠΊΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ grid ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ grid-template-areas
:
grid-template-areas: "header header"
"nav main"
"footer ."
ΠΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ΄ΡΡΠΈΡ
ΠΏΠΎΠ΄ΡΡΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² .
(ΡΠΎΡΠΊΠ°) ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ Π΅Π³ΠΎ ΠΎΡΡΠ΅Π½Π΄Π΅ΡΠΈΡ ΠΊΠ°ΠΊ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΎΠΊΠ΅Π½, ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: Π½Π° Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ grid ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈ Π² Π½Π΅Π΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ grid ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
ΠΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ grid-area
, Π±ΡΠ°ΡΠ·Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΡΠ΅.
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
- CSS Grid Layout Module Level 1
- How to create a simple layout with CSS Grid Layouts
- Grid by Example ΠΎΡ Rachel Andrew
- ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ CSS Grid Layout ΠΎΡ Jen Simmons
- Π Π΅ΡΡΡΡ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π‘SS Grid Layout ΠΎΡ Mozilla
- Jen Simmons ΠΏΡΠΎ CSS Grid CSS Grid Layout
- ΠΠΎΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎ CSS Grid Layout
- ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΠΎΠ΄Π½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ (ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΈΡ Π°Π²ΡΠΎΡΡΠΊΠΈΡ , ΡΠ°ΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ²) ΠΏΠΎ CSS Grid Layout Π½Π° css-live.ru
ΠΠΌΠ΅ΡΡΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π²Π΅ΡΡ ΡΡΠΊΡ CSS Grid Layout Π°ΠΉΡΠ±Π΅ΡΠ³Π°. Π― Π½Π°ΡΠ°Π» ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° CSS Grid Layout Π΅ΡΠ΅ ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈ Π·Π° ΡΠ»Π°Π³Π°ΠΌΠΈ. ΠΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠΎΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡ ΠΎΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ. ΠΠ½ΠΎΠ³Π΄Π° ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΠΈΠΌ Π³Π»Π°Π·Π°ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΊΠΈ ΡΠ΄Π°Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ CSS Grid. ΠΡΠΎ ΡΠ°Π·ΡΡΠ² Π²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². Π ΠΌΠ½Π΅ ΡΡΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ.
Π― Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π΅Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ²Π΅ΡΡΡΠ΅, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²Π°ΠΌ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΈΡΠ΅ΡΠ΅ Π²Ρ Π½Π° React, Angular, Vue (Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ²ΠΎΠ΅). GridβΡ ΠΏΡΠΈΡΠ»ΠΈ Π½Π°Π΄ΠΎΠ»Π³ΠΎ.
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»Ρ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ grid ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠ°Π·Π½ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ .
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΡΡΡΠΈΡΡ CSS Grid Π·Π° 5 ΠΌΠΈΠ½ΡΡ β ΠΌΠΈΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠ°
CSS Grid β ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ. Π Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ ΠΏΠΎ Π³Π»Π°Π²Π½ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ.
Grid Layout β ΠΎΡΠ½ΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ² Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΡΡΠΎ Π²Π°ΠΌ Π»ΡΠ±ΠΎΠΉ Π²Π΅ΡΡΡΠ°Π»ΡΡΠΈΠΊ ΡΠΊΠ°ΠΆΠ΅Ρ. Π Π²ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ CSS Grid ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠ°. Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Bootstrap. Π ΡΡΠΎΠΌ Π³ΠΎΠ΄Ρ Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ²Β (Safari, Chrome, Firefox, Edge), ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΠ±ΠΎΠΉ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΡΡ Ρ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π±ΡΠ΄Ρ ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π·Π°ΡΡΠΎΠ½Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠΎΠ΅Ρ Π°Π»ΠΈ!
ΠΠ²ΡΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ CSS Grid ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±Π΅ΡΡΠΊΠ° (parent) ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ (children). ΠΠ±Π΅ΡΡΠΊΠ° β ΡΡΠΎ ΡΠ΅ΡΠΊΠ°, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ parent Ρ ΡΠ΅ΡΡΡΡ children:
<div> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> </div>
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±Π΅ΡΡΠΊΠ΅ div ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΊΠΈ:
.wrapper { display: grid; }
ΠΠ°, ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²ΠΈΠ΄ Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΈ. ΠΠΎΠΊΠ° 6 div ΠΏΡΠΎΡΡΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π΄ΡΡΠ³ Π½Π°Π΄ Π΄ΡΡΠ³ΠΎΠΌ:
ΠΠ΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠΈΠ»ΠΈ, Π½ΠΎ ΠΏΡΡΡΡ ΠΎΠ½ΠΈ Π²Π°Ρ Π½Π΅ ΠΏΡΡΠ°ΡΡ: ΡΡΠΈΠ»ΠΈ ΠΈ CSS ΡΡΡΠ΅ΠΊΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΎΠΏΡΠΈΠΊΠ°ΡΠ°ΡΡΡΡ Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΠΌΠΎΠΉ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ 2 ΡΡΡΠΎΠΊΠΈ ΠΈ 3 ΡΡΠΎΠ»Π±ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ grid-template-column ΠΈ grid-template-row:
.wrapper { display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 50px 50px; }
ΠΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ Ρ grid-template-columns ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ: 2 Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Β grid-template-rows β ΡΡΠΎ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΡΠΈ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΠ΅ΠΉΠΊΠ°ΠΌ ΡΠΈΡΠΈΠ½Ρ Π² 50px, Π° ΡΡΠΎΠ»Π±ΡΡ β Π΄Π»ΠΈΠ½Ρ Π² 100px. ΠΠΌΠ΅Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ ΡΠ²ΡΠ·Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π° Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΈ. ΠΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ:
.wrapper { display: grid; grid-template-columns: 200px 50px 100px; grid-template-rows: 100px 30px; }
ΠΠΎΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π² ΡΠΌΠ΅. ΠΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΡΠΎΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ° ΡΠ°ΠΊ:
Π Π²ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠ΅ΡΠΊΠ΅ β ΡΡΠΎ ΡΠΆΠ΅ Π·Π°Π΄Π°ΡΠ° ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΡΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ΅ΡΠΊΡ 3Ρ 3, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅:
.wrapper { display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 100px; }
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ:
ΠΠ΅Π΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅ΡΠΊΠΈ 3Ρ 2, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈ Π΅Π΅ ΠΊΠ°ΠΊ 3Ρ 3. ΠΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ 6 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΌΡ ΠΏΠΎΠΏΡΠΎΡΡΡ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ. Π§ΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΡΠ°Π»Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ 3 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ grid-row ΠΈ grid-column:
.item1 { grid-column-start: 1; grid-column-end: 4; }
ΠΡ Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ item1 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΆΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π² 4-ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, item1 Π·Π°ΠΉΠΌΠ΅Ρ Π²ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ, ΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ:
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π²Π°Ρ ΡΠ΅ΡΠ·Π°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΊΠΎΠ΄Π΅ 4 ΡΡΠΎΠ»Π±ΡΠ°, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΠΈΡ 3? ΠΡ ΡΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ: ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π΅ ΠΎ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΡΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ², Π° ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΡ ΠΈΡ Π»ΠΈΠ½ΠΈΡΡ . ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π² ΡΠ΅ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π²ΠΈΠ΄Π½Ρ. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π·Π°Π½ΡΠ²ΡΠΈΠΉ Π²ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠ΄Π²ΠΈΠ½ΡΠ» ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π½ΠΈΠ·, ΡΠ΅ΠΌ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ» Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎ Π½Π° ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ CSS Grid Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ. ΠΠΎΡ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΉ ΠΈ ΡΠ΄ΠΎΠ±ΠΎΠ²Π°ΡΠΈΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΡΠ΅:
.item1 { grid-column: 1 / 4; }
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ ΡΡΡΡ Π½Π°ΡΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ. ΠΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅:
.item1 { grid-column-start: 1; grid-column-end: 3; } .item3 { grid-row-start: 2; grid-row-end: 4; } .item4 { grid-column-start: 2; grid-column-end: 4; }
Π Π²ΠΎΡ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π² ΠΈΡΠΎΠ³Π΅. ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ΅ΡΠΊΡ ΡΠ°ΠΊΠΎΠΉ:
ΠΠΎΡ ΠΈ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Grid Layout Π² CSS!
CSS-ΡΠ΅ΡΠΊΠ°
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
ΠΠ΅Π½Ρ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ
ΠΡΠ°Π²Π°Ρ
ΠΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ»
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
Π‘Π΅ΡΠΊΠ°
ΠΠΎΠ΄ΡΠ»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ΡΠΊΠΈ CSS ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ°ΠΊΠ΅ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠΊΠΈ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ
ΡΡΠΎΠ»Π±ΡΡ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠΎΠ² ΠΈ
ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ .
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΠΊΠΈ
ΠΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ
HTML-ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ display
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π°
ΡΠ΅ΡΠΊΠ° ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΠ΅ΡΠΊΠ° .
ΠΡΠ΅ ΠΏΡΡΠΌΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ΅ΡΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΊΠΈ .
Π‘ΡΠΎΠ»Π±ΡΡ ΡΠ΅ΡΠΊΠΈ
ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ .
Π‘ΡΡΠΎΠΊΠΈ ΡΠ΅ΡΠΊΠΈ
ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ .
ΠΠ°Π·ΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠΊΠΎΠΉ
ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠΌ / ΡΡΡΠΎΠΊΠΎΠΉ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ .
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π·ΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²:
ΡΠ΅ΡΠΊΠ°-ΡΡΠΎΠ»Π±Π΅Ρ-ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ
ΡΠ΅ΡΠΊΠ°-ΡΡΡΠΎΠΊΠ°-ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ
ΡΠ΅ΡΠΊΠ°-ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-column-gap ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ:
.ΡΠ΅ΡΠ΅ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
ΡΠ΅ΡΠΊΠ°-ΡΡΠΎΠ»Π±Π΅Ρ-Π·Π°Π·ΠΎΡ: 50 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-row-gap ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ:
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
ΡΠ΅ΡΠΊΠ°-ΡΡΡΠΎΠΊΠ°-ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ: 50 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-gap ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ Π΄Π»Ρ grid-row-gap ΠΈ
ΡΠ΅ΡΠΊΠ°-ΡΡΠΎΠ»Π±Π΅Ρ-Π·Π°Π·ΠΎΡ ΠΠ±ΡΠ΅ΠΊΡΡ:
.ΡΠ΅ΡΠ΅ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
grid-gap: 50px 100px;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-gap ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ
ΡΠ°Π·ΡΡΠ² ΡΡΠΎΠ»Π±ΡΠ° Π² ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
grid-gap: 50px;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΠΈΠ½ΠΈΠΈ ΡΠ΅ΡΠΊΠΈ
Π‘ΡΡΠΎΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² .
Π‘ΡΡΠΎΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ .
Π‘ΠΌ. ΠΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ΅ΡΠΊΠΈ:
ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠΊΠΈ Π² ΡΡΡΠΎΠΊΡ ΡΡΠΎΠ»Π±ΡΠ° 1 ΠΈ Π΄Π°ΠΉΡΠ΅ Π΅ΠΌΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ ΡΡΠΎΠ»Π±ΡΠ° 3:
.item1 {
Π½Π°ΡΠ°Π»ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΡΠ΅ΡΠΊΠΈ: 1;
ΡΠ΅ΡΠΊΠ°-ΡΡΠΎΠ»Π±Π΅Ρ-ΠΊΠΎΠ½Π΅Ρ: 3;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΅ΡΠΊΠΈ Π½Π° ΡΡΡΠΎΠΊΡ 1 ΠΈ Π΄Π°ΠΉΡΠ΅ Π΅ΠΌΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ 3:
.ΠΏΠΎΠ·.1 {
Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ ΡΠ΅ΡΠΊΠΈ: 1;
ΡΠ΅ΡΠΊΠ°-ΠΊΠΎΠ½Π΅Ρ ΡΡΠ΄Π°: 3;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
.
c # — Π’Π°Π±Π»ΠΈΡΠ° ΡΠ΅ΡΠΊΠΈ Π² WPF
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.
c # — ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ°Ρ ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΡΠ΅ΡΠΊΠ΅
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠ Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.
CSS Grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
Π‘Π΅ΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
Π§ΡΠΎΠ±Ρ HTML-ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π» ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ΅ΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° grid ΠΈΠ»ΠΈ inline-grid .
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠ΅ΡΠΊΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΠΊΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΡΡΡΠΎΠΊ.
Π‘Π΅ΡΠΊΠ°-ΡΠ°Π±Π»ΠΎΠ½-ΡΡΠΎΠ»Π±ΡΡ Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-columns
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΡΠ΅ΡΠΊΠΈ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΡΠΈΠ½Ρ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» 4 ΡΡΠΎΠ»Π±ΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΈΡΠΈΠ½Ρ 4 ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ»ΠΈ Β«Π°Π²ΡΠΎΒ», Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠΈΡΠΈΠ½Ρ.
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅ΡΠΊΡ ΠΈΠ· 4 ΡΡΠΎΠ»Π±ΡΠΎΠ²:
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
ΡΡΠΎΠ»Π±ΡΡ-ΡΠ°Π±Π»ΠΎΠ½-ΡΠ΅ΡΠΊΠΈ: Π°Π²ΡΠΎ Π°Π²ΡΠΎ Π°Π²ΡΠΎ Π°Π²ΡΠΎ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π±ΠΎΠ»Π΅Π΅ 4 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠ΅ΡΠΊΠ΅ ΠΈΠ· 4 ΡΡΠΎΠ»Π±ΡΠΎΠ², ΡΠ΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-columns
ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΡΠΈΡΠΈΠ½Ρ) ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π»Ρ 4 ΡΡΠΎΠ»Π±ΡΠΎΠ²:
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
ΡΠ΅ΡΠΊΠ°-ΡΠ°Π±Π»ΠΎΠ½-ΡΡΠΎΠ»Π±ΡΡ: 80 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ 200 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ 40 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-rows
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ grid-template-rows
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΡΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΡΠΎΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ:
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
ΡΠ΅ΡΠΊΠ°-ΡΠ°Π±Π»ΠΎΠ½-ΡΡΡΠΎΠΊΠΈ: 80 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ 200 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ justify-content
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ justify-content
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΈ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ±ΡΠ°Ρ ΡΠΈΡΠΈΠ½Π° ΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ justify-content ΠΈΠΌΠ΅Π»ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
justify-content: ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
justify-content: ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΠΎΠΊΡΡΠ³;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
justify-content: ΠΏΡΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.ΡΠ΅ΡΠΊΠ°-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
justify-content: center;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ align-content
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ align-content
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ
Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠ²Π½ΡΠΉΡΠ΅ Π²ΡΡ ΡΠ΅ΡΠΊΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ±ΡΠ°Ρ Π²ΡΡΠΎΡΠ° ΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΡΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ align-content ΠΈΠΌΠ΅Π»ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Ρ
.ΡΠ΅ΡΠΊΠ°-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
Π²ΡΡΠΎΡΠ°: 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: ΡΠ΅Π½ΡΡ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
Π²ΡΡΠΎΡΠ°: 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
Π²ΡΡΠΎΡΠ°: 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: ΠΏΡΠΎΠ±Π΅Π» Π²ΠΎΠΊΡΡΠ³;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.ΡΠ΅ΡΠΊΠ°-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
Π²ΡΡΠΎΡΠ°: 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: ΠΏΡΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
Π²ΡΡΠΎΡΠ°: 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: Π½Π°ΡΠ°Π»ΠΎ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΡΠΈΠΌΠ΅Ρ
.grid-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ {
Π΄ΠΈΡΠΏΠ»Π΅ΠΉ: ΡΠ΅ΡΠΊΠ°;
Π²ΡΡΠΎΡΠ°: 400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ;
Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ: ΠΊΠΎΠ½Π΅Ρ;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
.