Расположите элемент HTML относительно его контейнера с помощью CSS

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

183
задан Peter Mortensen 28 May 2016 в 09:51
поделиться

3 ответа

Вы правы, что расположение CSS является способом пойти. Вот быстрая информация:

position: relative будет расположение элемент относительно [1 111] сам. , Другими словами, элементы размечаются в нормальном потоке, тогда он удален из нормального потока и смещения любыми значениями, которые Вы определили (вершина, право, нижняя часть, уехало). Важно отметить, что, потому что это удалено из потока, другие элементы вокруг этого не сместятся с ним (используйте отрицательные поля вместо этого, если Вы хотите это поведение).

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

Для демонстрации:

<div id="container">
   <div id="box"> </div>
</div>
#container {
  position: relative;
}

#box {
  position: absolute;
  top: 100px;
  left: 50px;
}

В том примере, верхний левый угол #box составил бы 100 пкс вниз и 50 пкс, оставленных верхнего левого угла #container. Если бы #container не имел position: relative, устанавливают, координаты [1 110] были бы относительно верхнего левого угла порта представления браузера.

Hope, которая помогает.

369
ответ дан Shaya Ulman 23 November 2019 в 06:00
поделиться

Необходимо явно установить положение родительского контейнера наряду с положением дочернего контейнера. Типичный способ сделать, который является чем-то вроде этого:

div.parent{
    position: relative;
    left: 0px;  /* stick it wherever it was positioned by default */
    top: 0px;
}

div.child{
    position: absolute;
    left: 10px;
    top: 10px;
}
19
ответ дан Abhishek Pandey 23 November 2019 в 06:00
поделиться

Абсолютное расположение располагает элемент относительно своего самого близкого расположенного предка. Так помещает position: relative на контейнер, затем для дочерних элементов, top и left будет относительно верхнего левого из контейнера, пока дочерние элементы имеют position: absolute. Больше информации доступно в спецификация .

CSS 2.1
3
ответ дан Jim 23 November 2019 в 06:00
поделиться