Кувалдин Артем
                    Разработчик интерфейсов
                
 
        – устанавливает способ позиционирования элемента относительно окна браузера или других объектов на веб-странице.
– положение бокса вычисляется относительно позиции, которую блок занимал бы в нормальном потоке.
– для задания смещения используются свойства top | right | bottom | left.
div { position: relative; }
.top { top: 10px; }
.right { right: 10px; }
.bottom { bottom: 10px; }
.left { left: 10px; }
.bottom-right { bottom: 10px; right: 10px; }
.top-left { top: 10px; left: 10px; }div {position: relative;}
.top { top: -10px; }
.right { right: -10px; }
.bottom { bottom: -10px; }
.left { left: -10px; }
.bottom-right { bottom: -10px; right: -10px; }
.top-left { top: -10px; left: -10px; }div {
    right: -20px;
    left: -20px;
}.parent {
    direction: rtl;
}
.rtl,
.ltr {
    right: -20px;
    left: -20px;
}.box1 {
    top: -20px;
    bottom: -20px;
}
.box2 {
    top: 20px;
    bottom: 20px;
}.box1 {
    top: 50%;
    left: 50%;
}
.box2 {
    bottom: 50%;
    right: 50%;
}
.wrap { height: 300px; }| width: auto | по содержимому или всё пространство | 
| width: 50% | от ширины родителя | 
| height: auto | по содержимому | 
| height: 50%; | от высоты родителя, если его высота отлична от auto | 
| padding: 50% | от ширины родителя | 
| margin: 50% | от ширины родителя | 
– прямоугольник, относительно которого считаются позиция и размеры бокса элементов.
При таком позиционировании блок выводится из потока, при этом сам блок образует новый содержащий блок.
    wrapper
    box1
    box2
.box {
    position: absolute;
}Позиционируется относительно первого предка, у которого position ≠ static (содержащий блок). Если такого нет – позиционируется относительно корневого элемента.
.box {
    position: absolute;
    top: 0;
    left: 0
}Позиционируется относительно первого предка, у которого position ≠ static (содержащий блок). Если такого нет – позиционируется относительно корневого элемента.
.wrap {
    position: relative;
}
.box {
    position: absolute;
    top: 0;
    left: 0
}.box1 {
    position: absolute;
    right: 0;
    bottom: 0;
}
.box2 {
    position: absolute;
    top: 0;
    left: 0;
}.box1 {
    position: absolute;
    top: 10px;
    right: 20px;
    bottom: 30px;
    left: 40px;
}Можно задавать значения в %. Раccчитываются относительно размеров содержащего блока.
.box1 { position: absolute;
    top: 0;
    right: 50%;
    bottom: 50%;
    left: 0;
}
.box2 { position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 50%;
}| width/height: auto | по содержимому или координатам | 
| width/height: 50% | от ширины/высоты содержащего блока | 
| padding: 50% | от ширины содержащего блока | 
| margin: 50% | от ширины содержащего блока | 
Содержащий блок у fixed элементов – это всегда вьюпорт. Во всех случаях.
    wrapper
    fixed
.fixed {
    position: fixed;
    width: 50%;
    top: 100px;
    left: 100px;
}Элемент отображается как относительно спозиционированный до тех пор, пока не пересечёт специальную границу и тогда он ведёт себя как position fixed.
    - A
- Andrew W.K.
- Apparat
    - B
- Battle
- ...
.dt {
    position: sticky;
    top: 0;
}Если элементы находятся в равных условиях – элемент, который находится ниже в потоке, будет выше по оси Z.
box1
box2
box3
.box2, .box3 {
    margin-top: -20px;
}Каждый элемент может находиться как ниже, так и выше других объектов веб-страницы, их размещением по z-оси и управляет z-index.
.box {
    position: relative; /*absolute | fixed*/
    /*z-index: n; где n ∈ Z | auto*/
    z-index: 1;
}
 
        Элементы с общими родителями, перемещающиеся на передний или задний план вместе, известны как контекст наложения.
Условия создания контекста наложения:
Нельзя расположить элемент из одного контекста ноложения между элементами другого контекста
red box
green box text!
blue box
    red
green
blue.red {
    position: relative;
    /*z-index: auto;*/
}
    red
green
blue.red {
    opacity: .99;
}
   red
green
blue.red { position: relative;
    z-index: 0;
}
.green { position: relative;
    z-index: 1;
}
   red
green
blue.red {
    position: relative;
    z-index: 0;
}
.green {
    position: relative;
    z-index: -1;
}
   red
green
blue.wrap { opacity: 0.99; }
.red {
    position: relative;
    z-index: 999;
}
.green {
    position: relative;
    z-index: 0;
}
red
green
blue.red {
    position: relative;
    z-index: 999;
}
.green {
    position: relative;
    z-index: -999;
}
 
        Подсветка строк и колонок в таблице.
td { position: relative; }
td::after {
    position: absolute;
    left: 0;
    top: -5000px;
    width: 100%;
    height: 10000px;
    z-index: -1;
    content: '';
}
.box {
    /*float: left | right | none*/
    float: left;
}
    float-left
    Текст или inline-элементы
    float-right
Текст или
    inline-элементы
.float-left {
    float: left;
}
.float-right {
    float: right;
}float-left
    Текст или inline-элементы
float-right
Текст или
    inline-элементы
.float-left {
    float: left;
}
.float-right {
    float: right;
}.box {
    /*clear: left | right | both*/
    clear: left;
}Применение этого свойства сдвигает элемент вниз до тех пор, пока не закончатся float'ы слева/справа/с обеих сторон.
.wrapper {
    clear: left;
}.wrapper {
    clear: right;
}.wrapper {
    clear: both;
}– это регион страницы, в котором блоки размещаются в привычном для блоков порядке. Элементы из разных блочных контекстов форматирования никак не могут повлиять на положение друг друга на странице.
.wrapper1 {
    overflow: hidden;
}.wrapper2 {
    overflow: hidden;
}float: left;
box
.box {
   overflow: hidden;
}
    float: left;
    float: left;
b1
b2
b3
b4
div { float: right }left
right
center.left { float: left }
.right { float: right }
.center { overflow: hidden }
body { width: 50% }
 
           
       