loader

Cвойство position задаёт способ позиционирования элемента в документе. Совместно со свойствами left, right, top, bottom элементу задаётся его местоположение на странице. position указывает тип метода позиционирования, используемого для элемента (static, relative, absolute, fixed, или sticky).

Static

Значение по умолчанию. Статичное позиционирование. Любой элемент, добавленный на страницу, будет иметь это значение и будет расположен в нормальном потоке документа согласно контексту форматирования родительского элемента. Свойства left, right, top, bottom и z-index игнорируются.


Relative

Элемент позиционируется так же, как и статичный, но его отображение может быть смещено относительно своего начального положения при помощи свойств left, right, top, bottom. Это смещение чисто визуальное и не затрагивает положение соседних элементов, кроме случая, когда элемент выходит за границы родителя, имеющего возможность прокрутки.


Absolute

Способ позиционирования, кажущийся наиболее понятным. Мы просто задаём абсолютное позиционирование и при помощи свойств left, right, top, bottom регулируем положение элемента. Есть ряд особенностей такого позиционирования:



  • Элемент убирается из основного потока документа. То есть перестаёт влиять на положение окружающих элементов и на размер родителя. Можно представить себе, что элемент уходит на слой выше и перестаёт взаимодействовать со всеми элементами, кроме своих потомков.
  • Элемент позиционируется относительно ближайшего позиционированного предка. То есть браузер идёт вверх по дереву элементов и ищет ближайшего опорного родителя. И затем располагает наш элемент относительно этого родителя.
  • Если элемент был блочным и занимал всю ширину своего родителя, то теперь его ширина будет определяться шириной контента.

Fixed

Иногда требуется позиционировать элемент не относительно родителя, а относительно окна браузера. Для решения подобной задачи подходит position: fixed. Свойство так же, как и предыдущее, работает с указанием смещения left, right, top, bottom. У такого способа позиционирования есть ряд особенностей:



  • Элемент убирается из основного потока документа. То есть перестаёт влиять на положение окружающих элементов и на размер родителя. Можно представить себе, что элемент уходит на слой выше и перестаёт взаимодействовать со всеми элементами, кроме своих потомков.
  • Элемент позиционируется относительно окна браузера, за исключением случаев, если один из родителей имеет значения свойств transform, perspective или filter, отличные от none. В этом случае блок становится опорным, и позиционирование будет производиться уже относительно него, а не окна браузера.

Sticky

Элемент позиционируется в нормальном потоке так же, как и статичный, а затем смещается при помощи свойств left, right, top, bottom относительно ближайшего родителя, имеющего прокрутку. Это свойство применяется, когда нам нужно зафиксировать какой-либо элемент не сразу, а при прокрутке родителя до какого-то известного положения.

position հատկությունը նշում է, թե ինչպես է տարրը տեղադրվում փաստաթղթում: left, right, top, bottom հատկությունների հետ մեկտեղ տարրին սահմանվում է իր գտնվելու վայրը էջում։ position սահմանում է տարրի համար օգտագործվող դիրքավորման մեթոդի տեսակը (static, relative, absolute, fixed, կամ sticky).

Static

Հանդիսանում է ստանդարտ արժեք: Ստատիկ դիրքավորում: Էջին ավելացված ցանկացած տարրին կսահմանվի այս արժեքը և այն կտեղադրվի փաստաթղթի բնականոն ընթացքում՝ համաձայն մայր տարրի ձևաչափման համատեքստի: left, right, top, bottom և z-index հատկությունները անտեսվում են.


Relative

Տարրը տեղադրված է նույն կերպ, ինչ ստատիկ տարրը, բայց դրա ցուցադրումը կարող է փոխվել սկզբնական դիրքի համեմատ, երբ օգտագործվում են left, right, top, bottom հատկությունները: Այս տեղաշարժը զուտ տեսողական է և չի ազդում հարակից տարրերի դիրքի վրա, բացառությամբ այն դեպքերի, երբ տարրը դուրս է գալիս իր ծնող տարրի սահմաններից, որը ունի scroll-ի հնարավորություն:


Absolute

Դիրքավորման մեթոդը, որն առավել հասկանալի է թվում: Մենք պարզապես սահմանում ենք բացարձակ դիրքավորում և օգտագործում ենք left, right, top, bottom հատկությունները տարրի դիրքը կարգավորելու համար: Նման դիրքավորման մի շարք առանձնահատկություններ կան`



  • Տարրը հեռացվում է փաստաթղթի հիմնական հոսքից: Այսինքն, այն դադարում է ազդել շրջակա տարրերի դիրքի և ծնող տարրի չափսերի վրա: Կարելի է պատկերացնել, որ տարրը տեղաշարժվում է մեկ շերտ վերև և դադարում է փոխազդել բոլոր տարրերի հետ, բացի իրեն պատկանող տարրերից:
  • Տարրը տեղակայված է մոտակա դիրքավորված խնող տարրի համեմատ: Այսինքն, բրաուզերը ըստ հերթականության փնտրում է մոտակա դիրքավորված տարրը: Եվ հետո մեր տարրը տեղադրում է այդ ծնող տարրի համեմատ:
  • Եթե ​​տարրը բլոկ էր և զբաղեցնում էր իր ծնող տարրի ամբողջ լայնությունը, ապա դրա լայնությունն այժմ որոշվելու է բովանդակության լայնությամբ:

Fixed

Երբեմն պահանջվում է տեղավորել տարրը ոչ թե ծնող տարրի, այլ դիտարկիչի պատուհանի համեմատ: position: fixed հատկությունը հարմար է նման խնդրի լուծման համար։ Այս հատկությունը, ինչպես և նախորդները, աշխատում է left, right, top, bottom հատկությունները սահմանելով։ Դիրքորոշման այս մեթոդն ունի մի շարք առանձնահատկություններ՝



  • Տարրը հեռացվում է փաստաթղթի հիմնական հոսքից: Այսինքն, այն դադարում է ազդել շրջակա տարրերի դիրքի և ծնող տարրի չափսերի վրա: Կարելի է պատկերացնել, որ տարրը տեղաշարժվում է մեկ շերտ վերև և դադարում է փոխազդել բոլոր տարրերի հետ, բացի իրեն պատկանող տարրերից:
  • Տարրը տեղադրվում է բրաուզերի պատուհանի համեմատ, բացառությամբ այն դեպքերի, երբ ծնողներից մեկին սահմանված է transform, perspective կամ filter հատկությունների none-ից բացի այլ արժեք: Այս դեպքում բլոկը դառնում է հենման բլոկ, և դիրքավորումը կկատարվի դրա համեմատ, այլ ոչ թե բրաուզերի պատուհանի:

Sticky

Տարրը տեղադրվում է նորմալ հոսքի մեջ այնպես, ինչպես ստատիկ տարրը, և այնուհետև տեղաշարժվում է left, right, top, bottom հատկությունների շնորհիվ՝ մոտակա ծնողի նկատմամբ, որն ունի scroll-i հնարավորություն: Այս հատկությունն օգտագործվում է այն ժամանակ, երբ մենք պետք է որոշ տարր տեղադրենք ոչ թե անմիջապես, այլ երբ ծնող տարրը տեղափոխում ենք որևէ սահմանված դիրք:

Синтаксис

Գրելաձև

position: static;
position: relative;
position: absolute;
position: fixed;
position: sticky;

Пример

Օրինակ

See the Pen Untitled by Erik Egnatosyan (@SansaciaCodenyx) on CodePen.

⇓Результат данного примера показан на рисунке⇓

⇓Այս օրինակի արդյունքը ցույց է տրված նկարում⇓

wbr image
Поддержка браузера дляԲրաուզերի աջակցությունը position элемента տարրին
Browser IE Edge Chrome Firefox Safari Opera
Version 6+ 12+ 4+ 2+ 3.1+ 10+
Notes