Css sticky position: Как на самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ position: sticky Π²Β CSS β€” Π’Π΅Π±-стандарты

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как на самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ position: sticky Π²Β CSS β€” Π’Π΅Π±-стандарты

Π£ position: sticky ΡƒΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ нСплохая браузСрная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°, Π½ΠΎΒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π°ΠΊ ΠΈΒ Π½Π΅Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ это свойство.

У этого Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Β Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ этого свойства. И всС просто успСли Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎΒ Π½Ρ‘ΠΌ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΒ ΠΊΠΎΠ½Ρ†Π° Π½Π΅Β ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΏΠΎΒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ это свойство Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π˜Β Ρ‚ΡƒΡ‚ появляюсь я!

Я полагаю, Ρ‡Ρ‚ΠΎ Π²Ρ‹Β Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с позиционированиСм Π²Β CSS, Π½ΠΎΒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

Π•Ρ‰Ρ‘ Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ сущСствовало Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° позиционирования: static, relative, absolute ΠΈ fixed.

ОсновноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ static ΠΈ relative, absolute ΠΈ fixed Π²Β Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ мСсто ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π²Β ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (DOM). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ с позициСй static ΠΈ relative ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ своё СстСствСнноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Β ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, в то врСмя ΠΊΠ°ΠΊ absolute ΠΈ fixed Β«Π²Ρ‹Ρ€Ρ‹Π²Π°ΡŽΡ‚ΡΡΒ» ΠΈΠ·Β ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° и становятся ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ.

НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ sticky ΠΏΠΎΡ…ΠΎΠΆΠ΅ на всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ значСния сразу. Π―Β ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽ это Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

ΠœΠΎΡ‘ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство с «липким» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌΠ‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

Π”ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ из вас ΠΈΠ³Ρ€Π°Π»ΠΈΡΡŒ с «липким» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’Π°ΠΊ Π±Ρ‹Π»ΠΎ и у мСня, ΠΏΠΎΠΊΠ° Π²Β ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я нС осознал, Ρ‡Ρ‚ΠΎ совсСм нС понимаю это свойство.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ знакомствС с position: sticky всС быстро ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ элСмСнт Π·Π°Π»ΠΈΠΏΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра достигаСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

.some-component {
    position: sticky;
    top: 0;
}

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π°Β ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅Ρ‚. Когда всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, то элСмСнт ΠΈΒ ΠΏΡ€Π°Π²Π΄Π° Π·Π°Π»ΠΈΠΏΠ°Π΅Ρ‚. Но когда Π½Π΅Β Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ρ‚ΠΎΒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ элСмСнт пСрСстаёт Π·Π°Π»ΠΈΠΏΠ°Ρ‚ΡŒ. Как Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΆΠΈΠ²Ρ‘Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ CSS, ΠΌΠ½Π΅ Π±Ρ‹Π»ΠΎ Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ в сути ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ИмСнно поэтому ΡΒ Ρ€Π΅ΡˆΠΈΠ» Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Β«Π»ΠΈΠΏΠΊΠΎΠ΅Β» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

«Липкая» Ρ€Π°Π·Π²Π΅Π΄ΠΊΠ°Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

Во врСмя своих экспСримСнтов я замСтил, Ρ‡Ρ‚ΠΎ Ссли элСмСнт с position: sticky являСтся СдинствСнным Ρ€Π΅Π±Ρ‘Π½ΠΊΠΎΠΌ своСго родитСля-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ, то этот Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» элСмСнт Π½Π΅Β Π·Π°Π»ΠΈΠΏΠ°Π΅Ρ‚.

<!-- НЕ Π ΠΠ‘ΠžΠ’ΠΠ•Π’!!! -->
<style>
    .sticky {
        position: sticky;
        top: 0;
    }
</style>
<div>
    <div>
        НСкий ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚
    </div>
</div>

Когда я добавлял большС элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΡŒ родитСля-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ всё Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ оТидалось.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ происходит?

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° кроСтся Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСмСнт с position: sticky ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Β ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится. ΠΒ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Β ΠΌΠΎΡ‘ΠΌ случаС ΠΎΠ½Β Π±Ρ‹Π» СдинствСнным Ρ€Π΅Π±Ρ‘Π½ΠΊΠΎΠΌ, ΡƒΒ Π½Π΅Π³ΠΎ Π½Π΅Β Π±Ρ‹Π»ΠΎ элСмСнтов-Π±Ρ€Π°Ρ‚ΡŒΠ΅Π², ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½Β ΠΌΠΎΠ³ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ.

Как на самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ position: sticky Π²Β CSSΠ‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

Β«Π›ΠΈΠΏΠΊΠΎΠ΅Β» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ состоит ΠΈΠ·Β Π΄Π²ΡƒΡ… основных частСй: Β«Π»ΠΈΠΏΠΊΠΎΠ³ΠΎΒ» элСмСнта ΠΈΒ Β«Π»ΠΈΠΏΠΊΠΎΠ³ΠΎΒ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Β«Π›ΠΈΠΏΠΊΠΈΠΉΒ» элСмСнт — это элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹Β Π·Π°Π΄Π°Π»ΠΈ position: sticky. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости достигнСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

top: 0px.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

.some-component {
    position: sticky;
    top: 0px;
}

Β«Π›ΠΈΠΏΠΊΠΈΠΉΒ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Β β€” это HTML-элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» элСмСнт. Π­Ρ‚ΠΎ максимальная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ наш элСмСнт.

Когда Π²Ρ‹Β Π·Π°Π΄Π°Ρ‘Ρ‚Π΅ элСмСнту position: sticky, Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ автоматичСски становится Β«Π»ΠΈΠΏΠΊΠΈΠΌΒ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ! ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ это Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ! ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости для элСмСнта. Β«Π›ΠΈΠΏΠΊΠΈΠΉΒ» элСмСнт Π½Π΅Β ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΉΡ‚ΠΈ Π·Π°Β ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ своСго Β«Π»ΠΈΠΏΠΊΠΎΠ³ΠΎΒ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

В этом ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Β ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» элСмСнт Π½Π΅Β Π·Π°Π»ΠΈΠΏΠ°Π»: ΠΎΠ½Β Π±Ρ‹Π» СдинствСнным Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнтом ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Β CodePen.

ПониманиС Β«Π»ΠΈΠΏΠΊΠΎΠ³ΠΎΒ» ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠ‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

Как я и говорил, position: sticky Π²Π΅Π΄Ρ‘Ρ‚ сСбя Π½Π΅Β Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ позиционирования. Но, с другой стороны, ΡƒΒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ сходства. ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ:

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ (ΠΈΠ»ΠΈ статичноС)Β β€” Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» элСмСнт ΠΏΠΎΡ…ΠΎΠΆ на элСмСнт со статичСским ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сохраняСт свою Π΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π²Β DOM (остаётся Π²Β ΠΏΠΎΡ‚ΠΎΠΊΠ΅). ЀиксированноС — ΠΊΠΎΠ³Π΄Π° элСмСнт Π·Π°Π»ΠΈΠΏΠ°Π΅Ρ‚, Ρ‚ΠΎΒ Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΡƒΒ Π½Π΅Π³ΠΎ Π·Π°Π΄Π°Π½Ρ‹ стили position: fixed, остаётся Π½Π°Β Ρ‚ΠΎΠΉΒ ΠΆΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ в области видимости и вырываСтся ΠΈΠ·Β ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅Β β€” Π²Β ΠΊΠΎΠ½Ρ†Π΅ доступной для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ области элСмСнт останавливаСтся и остаётся ΠΏΠΎΠ²Π΅Ρ€Ρ… Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π²Π΅Π΄Ρ‘Ρ‚ сСбя Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ спозиционированный элСмСнт Π²Β ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ с position: relative.

Π—Π°Π»ΠΈΠΏΠ°Π΅Ρ‚ Π²Π½ΠΈΠ·Ρƒ?!Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

Π’Β Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Ρ‹Β Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

position: sticky Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ элСмСнт ΠΊΒ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ страницы. Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

.component {
    position: sticky;
    top: 0;
}

ИмСнно для Ρ‚Π°ΠΊΠΈΡ… сцСнариСв ΠΈΒ Π±Ρ‹Π» создан этот Ρ‚ΠΈΠΏ позиционирования. Π”ΠΎΒ Π΅Π³ΠΎ появлСния Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Ρ€ΡŽΠΊ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript.

Но вы с тСм ТС успСхом ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это свойство для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»Π΅ΠΏΠΈΡ‚ΡŒ элСмСнт ΠΊΒ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΡ‚Π΅Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Β«Π»ΠΈΠΏΠΊΠΎΠ΅Β» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΒ ΠΏΡ€ΠΈ скроллС он всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π»ΠΈΠΏΠ°Ρ‚ΡŒ ΡƒΒ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ края. И когда ΠΌΡ‹Β Π΄ΠΎΠΉΠ΄Ρ‘ΠΌ Π΄ΠΎΒ ΠΊΠΎΠ½Ρ†Π° Β«Π»ΠΈΠΏΠΊΠΎΠ³ΠΎΒ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° наш элСмСнт остановится на своСй СстСствСнной ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ для элСмСнтов, находящихся в самом ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

HTML

<main>
    <header>HEADER</header>
    <div>MAIN CONTENT</div>
    <footer>FOOTER</footer>
</main>

CSS

.main-footer {
    position: sticky;
    bottom: 0;
}
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Β CodePen.

Π’Β Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΡΒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ для сводных Ρ‚Π°Π±Π»ΠΈΡ†. И, ΡΒ Π΄ΡƒΠΌΠ°ΡŽ, ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΏΡ€ΠΈΡ‘ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«Π»ΠΈΠΏΠΊΡƒΡŽΒ» Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Π²Β Ρ„ΡƒΡ‚Π΅Ρ€Π΅.

БраузСрная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

  • Β«Π›ΠΈΠΏΠΊΠΎΠ΅Β» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ поддСрТиваСтся всСми основными соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: старый-Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ IE.
  • Для Safari потрСбуСтся прСфикс -webkit
position: -webkit-sticky; /* Safari */
position: sticky;
Π‘ΠΎΠ»Π΅Π΅Β 86% Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ sticky ΠΏΠΎΒ Π΄Π°Π½Π½Ρ‹ΠΌ Can IΒ Use.

Π’Β Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

Π’ΠΎΡ‚ и всё. Я надСюсь, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΒ ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. Π―Β Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½, Ссли Π²Ρ‹Β ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ этим постом ΠΈΒ ΠΏΠΎΠ°ΠΏΠ»ΠΎΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠΈ посты ΠΎΒ CSSΠ‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку

  • New CSS Logical Properties!
  • Becoming aΒ CSS Grid Ninja!
  • The New Responsive Design Evolution
  • The Best Way toΒ RTL Websites with Sass!
  • CSS Architecture for Multiple Websites With Sass

sticky β€” CSS β€” Π”ΠΎΠΊΠ°

  1. ΠšΡ€Π°Ρ‚ΠΊΠΎ
  2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€
  3. Как ΠΏΠΎΠ½ΡΡ‚ΡŒ
  4. Как ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ
  5. Подсказки
  6. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅
    1. Π›Π΅Π½Π° Π Π°ΠΉΠ°Π½ совСтуСт

ΠšΡ€Π°Ρ‚ΠΊΠΎ

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠšΡ€Π°Ρ‚ΠΊΠΎ»

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с position: sticky Β«ΠΏΡ€ΠΈΠ»ΠΈΠΏΠ°Π΅Ρ‚Β» ΠΊ экрану ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ встрСтится с Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠŸΡ€ΠΈΠΌΠ΅Ρ€»

Π‘Π΄Π΅Π»Π°Π΅ΠΌ Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Β«Π»ΠΈΠΏΠΊΠΈΠΉΒ» Π±Π»ΠΎΠΊ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· <section>:

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΌΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅

Как ΠΏΠΎΠ½ΡΡ‚ΡŒ

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠšΠ°ΠΊ ΠΏΠΎΠ½ΡΡ‚ΡŒ»

Π‘Π»ΠΎΠΊΠΈ с Β«Π»ΠΈΠΏΠΊΠΈΠΌΒ» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠ°ΠΊ position: relative ΠΈ position: fixed ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Пока Π±Π»ΠΎΠΊ Π½Π΅ достиг ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ расстояния ΠΎΡ‚ края ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎΠ½ Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ спозиционированный. Когда Π±Π»ΠΎΠΊ достигнСт этой Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚ΠΎ станСт вСсти сСбя, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ position: fixed. А ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ встрСтится с ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΌ ΠΊΡ€Π°Π΅ΠΌ родитСля, Ρ‚ΠΎ снова Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя, ΠΊΠ°ΠΊ position: relative.

Как ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠšΠ°ΠΊ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ»
.block {  position: sticky;  top: 15px;}
          .block {
  position: sticky;
  top: 15px;
}

Для Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Β«Π»ΠΈΠΏΠΊΠΎΒ» ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ

position: sticky ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Π»ΠΎΠΊ Β«ΠΏΡ€ΠΈΠ»ΠΈΠΏΠ½Π΅Ρ‚Β» Π½Π° расстоянии 15 пиксСлСй ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ края ΠΎΠΊΠ½Π°.

Подсказки

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ»

πŸ’‘ Если Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всю высоту Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° (Ссли ΠΎΠ½ ΠΎΠ΄ΠΈΠ½ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ»ΠΈ просто самый высокий срСди сосСдних элСмСнтов), Ρ‚ΠΎ position: sticky Π½Π΅ сработаСт.

πŸ’‘ ΠŸΡ€ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ скроллС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свойства top ΠΈ bottom, ΠΏΡ€ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ β€” left ΠΈ right.

πŸ’‘ position: sticky ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ родитСля с overflow: scroll ΠΈΠ»ΠΈ overflow: auto.

πŸ’‘ Если элСмСнту ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ большСС число пиксСлСй, Ρ‡Π΅ΠΌ позволяСт Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Ρ‚ΠΎ элСмСнт сразу встанСт ΠΊ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π½ΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π±Π»ΠΎΠΊΠ° Π½Π΅ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠΠ° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅»

Π›Π΅Π½Π° Π Π°ΠΉΠ°Π½ совСтуСт

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «Π›Π΅Π½Π° Π Π°ΠΉΠ°Π½ совСтуСт»

πŸ›  Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠ³ΠΎ позиционирования ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½ΡƒΡŽ ΡˆΠ°ΠΏΠΊΡƒ β€” Ссли ΠΎΠ½Π° являСтся нСпосрСдствСнным наслСдником body, Ρ‚ΠΎ, ΡƒΠΊΠ°Π·Π°Π² шапкС position: sticky, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΡˆΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ экрана, Π° ΠΏΡ€ΠΈ скроллС страницы β€” Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ свСрху.

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π½Π°ΠΌ ΠΏΡƒΠ»-рСквСст!

Π’ΠΎ врСмя ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Ρ‰Ρ‘ Ρ€Π°Π·?

←

top, left, right, bottom

alt + ←

β†’

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ налоТСния

alt + β†’

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CSS

  • Π‘Π»ΠΎΠ³ Hubspot
  • HubSpot.com

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

    О Π½Π΅Ρ‚! ΠœΡ‹ Π½Π΅ смогли Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ.

    ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ, ΠΈ ΠΌΡ‹ постараСмся.

    Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство CSS position: sticky?

    Π’ CSS Π΅ΡΡ‚ΡŒ сотни свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшний Π²ΠΈΠ΄ вашСй Π²Π΅Π±-страницы. Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… являСтся свойство CSS position, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π²Π°ΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты страницы. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, создаСтС Π»ΠΈ Π²Ρ‹ свой сайт с нуля ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠ°ΠΊ Bootstrap CSS, это свойство ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ Тизнь ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

    БущСствуСт мноТСство Ρ‚ΠΈΠΏΠΎΠ² полоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ статичСскоС, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, фиксированноС, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΈ фиксированноС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ этом постС ΠΌΡ‹ рассмотрим Π»ΠΈΠΏΠΊΠΈΠΉ Ρ‚ΠΈΠΏ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΈΠ΅ элСмСнты Π½Π° своих страницах.

    Π’ этом постС ΠΌΡ‹ рассмотрим:

    • какая позиция CSS: sticky
    • ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт Π² HTML
    • ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт Π² Bootstrap CSS
    • Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

    НачнСм.

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ позиция CSS: липкая?

    По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ элСмСнты HTML ΡΠ²Π»ΡΡŽΡ‚ΡΡ статичСскими. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° страницС Π² соотвСтствии с Ρ‚Π΅ΠΌ, Π³Π΄Π΅ находится элСмСнт Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. НапримСр, элСмСнт div, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ послС элСмСнта Π°Π±Π·Π°Ρ†Π° Π² HTML-Ρ„Π°ΠΉΠ»Π΅, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½ΠΈΠΆΠ΅ ΠΏΠΎ страницС. 0009

    Π‘ΠΌ. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Pen css position: sticky: dix ΠΎΡ‚ HubSpot (@hubspot) Π½Π° CodePen.

    Однако, Ссли для элСмСнта ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ фиксированноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CSS, Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ страницу Π²Π½ΠΈΠ·.

    ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹ΠΉ элСмСнт позиционируСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ своСго Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ полоТСния Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ HTML Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ пСрСсСчСт ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² области просмотра (Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° страницС). Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ элСмСнт «застрСваСт» Π½Π° мСстС, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ своСго Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта. Π­Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° смСщСния опрСдСляСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ свСрху, справа, снизу ΠΈΠ»ΠΈ слСва Π² свойствС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ CSS.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π—Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Internet Explorer ΠΈ Edge 15 (Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ вСрсии) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ этот Ρ‚ΠΈΠΏ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Safari Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ для этого трСбуСтся Π²Π΅Π±-ΠΊΠΈΡ‚ поставщика. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ это Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования фиксированного позиционирования Π½ΠΈΠΆΠ΅.

    Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт Π² HTML

    Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ вашСго Π²Π΅Π±-сайта Π½Π°Π΄ панСлью Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ страницу достаточно Π΄Π°Π»Π΅ΠΊΠΎ Π²Π½ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² самом Π²Π΅Ρ€Ρ…Ρƒ экрана, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ фиксированной Π½Π° 10 пиксСлСй свСрху.

    Π’ΠΎΡ‚ CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали Π±Ρ‹ для создания элСмСнта div, отстоящСго ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ края экрана Π½Π° 10 пиксСлСй (плюс Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойства ΠΏΠΎΠ»Π΅ΠΉ ΠΈ отступов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ красивым).

    Π‘ΠΌ. ПолоТСниС ΠΏΠ΅Ρ€Π° css: Π»ΠΈΠΏΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ HubSpot (@hubspot) Π½Π° CodePen.

    Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт Π² Bootstrap

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΈΠΏΠΊΠΈΡ… элСмСнтов Π² Bootstrap Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся ΠΎΡ‚ описанного Π²Ρ‹ΡˆΠ΅ процСсса. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² Bootstrap Π΅ΡΡ‚ΡŒ сокращСниС для быстрой настройки полоТСния элСмСнта. Π­Ρ‚ΠΈ классы быстрого позиционирования:

    • class=»ΡΡ‚атичСская позиция»
    • class=»ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ позиция»
    • class=»Π°Π±ΡΠΎΠ»ΡŽΡ‚ная позиция»
    • class=»Ρ„иксированноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅»
    • class=»position-sticky»
    • класс=»Ρ фиксированным Π²Π΅Ρ€Ρ…ΠΎΠΌ»
    • class=»Ρ„иксированноС Π΄Π½ΠΎ»
    • class=»Π»ΠΈΠΏΠΊΠΈΠΉ Π²Π΅Ρ€Ρ…»

    ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ для фиксированного позиционирования Π² вашСм HTML ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, насколько Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ, Π½ΠΈΠΆΠ½Π΅Π³ΠΎ, Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ элСмСнта Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ элСмСнт Π² своСм CSS. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ класс .sticky-top, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² свой CSS.

    Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΡƒΡŽ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Bootstrap. Для Π½Π°Ρ‡Π°Π»Π° создайтС панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Bootstrap Π±Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ позиционирования. Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ .sticky-top Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ класса элСмСнта Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π² свой HTML.

    3931884765625″ data-theme-id=»39533″ data-default-tab=»css,result» data-slug-hash=»YzvdEwb» data-editable=»true» data-user=»hubspot»> Π‘ΠΌ. ПолоТСниС ΠΏΠ΅Ρ€Π° css: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΡ‚ HubSpot (@hubspot) Π½Π° CodePen.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π»ΠΈΠΏΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

    ΠŸΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ свойства sticky Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ошибками.

    НапримСр, Ссли ваш элСмСнт Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΈΠΏΠ°Π΅Ρ‚, Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΊ своСму HTML. Если Π²Ρ‹ помСстили элСмСнт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π»ΠΈΠΏΠΊΠΈΠΌ стилСм полоТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ, ΠΎΠ½ Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΈΠΏΠ½Π΅Ρ‚.

    Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π»ΠΈΠΏΠΊΠΎΠ³ΠΎ элСмСнта (ΠΈΠ»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт) являСтся СдинствСнной ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΈΠΏΠ½ΡƒΡ‚ΡŒ, Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ элСмСнтами. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ваш Π»ΠΈΠΏΠΊΠΈΠΉ элСмСнт Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ СдинствСнным ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ.

    Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π½Π°Π΄ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ панСлью Bootstrap, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ навигационная панСль ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части экрана, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π΅ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ.

    Π’ΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот CSS:

    .position-Π»ΠΈΠΏΠΊΠΈΠΉ { свСрху: 0; }

    ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ HTML-ΠΊΠΎΠ΄ Π½Π΅Π²Π΅Ρ€Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ липкая панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² элСмСнт div. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ навигационная панСль Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ.

    Π‘ΠΌ. ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Pen css: Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° (ошибка) ΠΎΡ‚ HubSpot (@hubspot) Π½Π° CodePen.

    ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ HTML-ΠΊΠΎΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт div, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ нСсколько Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΠΈΠΏΠΊΡƒΡŽ панСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ элСмСнты Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Π°Π±Π·Π°Ρ†Π°.

    Π‘ΠΌ. ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Pen css: Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° (исправлСно) ΠΎΡ‚ HubSpot (@hubspot) Π½Π° CodePen.

    Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

    Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства CSS position Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ страницС. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнта зависСло ΠΎΡ‚ полоТСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ внСшнСго ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ фиксированноС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Π½ΠΈΠΆΠ½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°: этот пост Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² ΠΌΠ°Π΅ 2020 Π³ΠΎΠ΄Π° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

    Π’Π΅ΠΌΡ‹: ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ CSS

    НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этим постом!

    БвязанныС ΡΡ‚Π°Ρ‚ΡŒΠΈ

    • Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ тСкст с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS [+ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°]

      22 дСкабря 2022 Π³.

    • hubspot.com/website/css-overflow»>

      ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ CSS: Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

      19 дСкабря 2022 Π³.

    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠΏΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CSS

      19 дСкабря 2022 Π³.

    • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ спСцифика CSS ΠΈ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

      14 дСкабря 2022 Π³.

    • Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π² CSS

      12 дСкабря 2022 Π³.

    • 11 способов Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Div ΠΈΠ»ΠΈ тСкст Π² Div Π² CSS

      14 ноября 2022 Π³.

    • hubspot.com/website/best-html-css-editor»>

      14 Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π° HTML ΠΈ CSS Π½Π° 2022 Π³ΠΎΠ΄

      19 сСнтября, 2022 Π³.

    • Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ пошаговоС руководство ΠΏΠΎ Π±Π»ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ CSS

      31 августа 2022 Π³.

    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра CSS

      29 августа 2022 Π³.

    • Как Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π² CSS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Text-Align

      24 августа 2022 Π³.

    ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ CSS: липкая | ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ… Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ для HTML5, CSS3 ΠΈ Ρ‚. Π΄.

    ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

    Поиск

    ?

    ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ CSS: липкая

    — Π’Π”

    • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ использованиС
      94,29% + 2,58% Π·Π½Π°ΠΊ Ρ€Π°Π²Π½ΠΎ 96,87%

    БохраняСт ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов ΠΊΠ°ΠΊ «фиксированноС» ΠΈΠ»ΠΈ Β«ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅Β» Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠΊΠ½Π΅ просмотра. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ элСмСнт «зависаСт» ΠΏΡ€ΠΈ нСобходимости Π²ΠΎ врСмя ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

    Chrome
    1. 4 — 22: Π½Π΅ поддСрТиваСтся
    2. 23 — 36: ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
    3. 37 — 51: Π½Π΅ поддСрТиваСтся
    4. 52 — 55: ΠΈΠ½Π²Π°Π»ΠΈΠ΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
    5. 56 — 90: ΠŸΠ°Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    6. 917 —
    7. 56 — 90: ΠŸΠ°Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

    8. 917 —
    9. 56 — 90: ΠŸΠΠ Π’Π˜ΠΠ›Π¬ΠΠΠ―. 107: поддСрТиваСтся
    10. 108: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    11. 109 — 111: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    EDGE
    1. 02% — Not supported»> 12 — 15: НС поддСрТиваСтся
    2. 16 — 18: частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    3. 79 — 90: ΠŸΠΠ Π’Π˜ΠΠ›Π¬ΠΠΠ― ΠŸΠžΠ”Π”Π•Π Π–Π 108: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΎ
    Safari
    1. 3.1 — 6: Π½Π΅ поддСрТиваСтся
    2. 6.1 — 7: частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    3. 7.1 — 12,1: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½Π½Ρ‹ΠΉ
    4. 13 — 16.1: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»
    5. 16.1: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»
    6. 4 4.1024 4.1024 4024 4.
    Firefox
    1. 2 — 25: Not supported
    2. 26 — 31: Disabled by default
    3. 32 — 58: Partial support
    4. 77% — Supported»> 59 — 106: Supported
    5. 107: Supported
    6. 108 — 109: Supported
    Opera
    1. 9 — 38: Π½Π΅ поддСрТиваСтся
    2. 39 — 41: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
    3. 42 — 77: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    4. 78 — 91: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½
    5. 92: 70004
    6. 3333333333333333333. 11192923.E923.ES 10: Π½Π΅ поддСрТиваСтся
    7. 11: Not supported
    Chrome for Android
    1. 108: Supported
    Safari on iOS
    1. 3.2 — 5.1: Not supported
    2. 02% — Partial support, requires this prefix to work: -webkit-«> 6 — 7.1: Partial support
    3. 8 — 12.5: Supported
    4. 13 — 16.1: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΎ
    5. 16.2: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    6. 16,3: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΎ
    Samsung Internet
    1. 4 — 5,4: Π½Π΅ поддСрТиваСтся
    2. 6.2 — 18,0: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»
    3. 11.0: ΠŸΠΎΠ΄ΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½
    4. 49999999444444444444444449.09.0198 Opera Mini
      1. ALL: Π½Π΅ поддСрТиваСтся
      Opera Mobile
      1. 10 — 12,1: Π½Π΅ поддСрТиваСтся
      2. 72: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
      UC Browser For For For For For For For For For For For Android
      906661061069069.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *