Свойства смещения CSS и статическое положение

#css #positioning

#css #позиционирование

Вопрос:

Являются ли свойства смещения (слева, сверху, снизу, справа) только для нестатических позиций?

Могут ли они быть применены к статически расположенному элементу? Если да, то чем они отличаются от применения к нестатически расположенным элементам?

Комментарии:

1. Эти свойства смещения применяются только к расположенным элементам (элементам, для свойства position которых установлено значение absolute, fixed или relative).

Ответ №1:

для смещения элемента его положение должно быть position:relative

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

Когда элемент смещен, а не перемещен?

при фактическом использовании смещения position: relative; элемент не удаляется из потока, и действительно, пространство, которое элемент занимал бы, если бы он оставался статичным (по умолчанию), по-прежнему зарезервировано для него, поэтому вы просто сместили его с исходного положения. Любой следующий за ним элемент появится там, где он появился бы, даже если бы вы не смещали его предшественника — как в этом примере

Перемещение, а не смещение

Однако, если вы действительно хотите переместить элемент, то его необходимо удалить из потока, чтобы для него не было зарезервировано места, и тогда вы используете position:absolute; or fixed .. в этом разница

Краткие сведения

  • static используется по умолчанию, и вы просто используете поля для его перемещения, при этом будут игнорироваться координаты и z-индекс

  • relative это зарезервированное пространство, координаты будут смещать его от исходного пространства

  • absolute элемент будет удален из потока, а координаты будут вычислены в соответствии с его содержащим блоком, который является ближайшим относительно расположенным предком (или body элементом, если не существует относительно расположенных предков)

  • fixed не имеет содержащего блока, т. е. вы не можете указать, по отношению к какому элементу он должен быть расположен, он просто зафиксируется по отношению к области просмотра

и, наконец, элемент не будет принимать a, z-index если его позиция по умолчанию является статической, поэтому position: relative; без применения каких-либо координат аналогично static , но это полезно для z-индексации и является содержащим блоком для абсолютно позиционированных элементов

Комментарии:

1. Теперь я понимаю absolute. Я собираюсь дать этому усвоиться, прежде чем пытаться понять остальное. Спасибо вам

Ответ №2:

Нет особого смысла применять их к position: static элементам, поскольку они статичны.

Чтобы сдвинуть статический элемент на определенную величину, вы можете изменить его position свойство на position: relative; .

Теперь вы можете перемещать его с помощью top , left и т.д.

Существует еще несколько типов position , а именно position: fixed и position: absolute .

fixed элемент фиксируется на экране, и на него не влияет прокрутка, поэтому он как будто приклеен к монитору компьютера. Установка его top и т.д. задает положение.

absolute позиционирует элемент относительно документа и игнорирует все правила компоновки. Установка его положения определяет, где оно расположено в документе.

Комментарии:

1. вы, вероятно, имели в виду положение: статическое; положение: относительное; дисплей не имеет этих значений… Но что произойдет, если я присвою свойство смещения статически расположенному элементу?? совсем ничего??

2. Вы можете изменить его на position: relative , и тогда смещения сместят его. Что вы пытаетесь сделать?

Ответ №3:

Они могут быть применены к элементам absolute и fixed position, которые по сути одинаковы, но fixed всегда использует окно документа в качестве привязки. Вы также можете применить их к относительно расположенным элементам, и в этом случае они представляют собой смещение от того, что лучше всего описать как встроенное позиционирование по умолчанию.