48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474

Где можно прочитать про свойство offsetParent?

26.06.2014, 16:33. Показов 1798. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите, где можно прочитать про свойство offsetParent?

MDN не предлагать, так как там некорректное описание
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.06.2014, 16:33
Ответы с готовыми решениями:

Где можно прочитать про мультитриггеры
Подскажите, где можно прочитать про мультитриггеры. В особенности интересует их реализация в Expression Blend

Где можно про это прочитать?
Вообще, есть несколько проблем: 1. Как убрать контур у фигуры на определённом участке? 2. Как сменить ВСЕ цвета у элементов управление?...

Где можно прочитать про АТД и структуру на С++?
Не нашла такого раздела здесь Литература C++ где можно подробнее узнать по этой теме?( сайты, книжки, видеоуроки и т.п.) Срочно нужно...

14
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
26.06.2014, 16:53
http://www.w3schools.com/jquer... parent.asp

Добавлено через 19 секунд
В спеке точно корректное%)
0
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
26.06.2014, 16:55  [ТС]
Цитата Сообщение от mixenik Посмотреть сообщение
http://www.w3schools.com/jquery/css_offsetparent.asp
The offsetParent() method returns the first positioned parent element.

это по вашему корректное описание? ))
0
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
26.06.2014, 17:00
А что вам еще нужно?

Добавлено через 17 секунд
если он именно это иделает
0
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
26.06.2014, 17:10  [ТС]
Цитата Сообщение от mixenik Посмотреть сообщение
А что вам еще нужно?
если он именно это иделает
Ну, во-первых: если нет позиционированных предков, то он возвращает элемент body, во-вторых, если определяется offsetParent в таблице, то в качестве контейнера может выступать <td>, <th> или <table>, в-третьих если в качестве offsetParent выступает body, то offsetTop и offsetLeft высчитывается относительно верхнего и левого края области просмотра окна браузера, а не относительно элемента body
0
Все элементарное - сложно
133 / 118 / 50
Регистрация: 14.04.2014
Сообщений: 509
26.06.2014, 17:15
The offsetParent attribute must return the result of running these steps:

If any of the following holds true return null and terminate this algorithm:

The element does not have an associated CSS layout box.
The element is the root element.
The element is the HTML body element.
The element's computed value of the 'position' property is 'fixed'.
Return the nearest ancestor element of the element for which at least one of the following is true and terminate this algorithm if such an ancestor is found:

The computed value of the 'position' property is not 'static'.
It is the HTML body element.
The computed value of the 'position' property of the element is 'static' and the ancestor is one of the following HTML elements: td, th, or table.
Return null.
Текст со спека

Добавлено через 1 минуту
сам спек
1
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
26.06.2014, 17:39  [ТС]
почитал, но не нашел там про это: если в качестве offsetParent выступает body, то offsetTop и offsetLeft высчитывается относительно верхнего и левого края области просмотра окна браузера, а не относительно элемента body
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
26.06.2014, 18:25
Цитата Сообщение от Justff Посмотреть сообщение
почитал, но не нашел там про это: если в качестве offsetParent выступает body, то offsetTop и offsetLeft высчитывается относительно верхнего и левого края области просмотра окна браузера, а не относительно элемента body
разумеется, такого бреда там нет

<body> - это точно такой же тег, как и все прочие теги, являющиеся оффсетным родителем
абсолютно для всех тегов offsetTop и offsetLeft отсчитываются относительно верхней и левой границы оффсетного родителя

упомянутая вами "область просмотра окна браузера" - несуществующая (т.е. кем-то выдуманная, и вами повторенная) категория

что до вышенаписанного вами про таблицу... то ничего "особливого" в этом нет
для тега внутри ячейки таблицы упомянутые вами теги <td>, <th> или <table> действительно являются последовательными оффсетными родителями (только вы пропустили <tr> и <tbody>|<thead>|<tfoot>)

стандартная конструкция, определяющая абсолютные координаты любого тега (tag в коде):
JavaScript
1
2
var l = t = 0; while (tag.OffsetParent)
   l += tag.offsetLeft, t += tag.offsetTop, tag = tag.offsetParent;
если чуть видоизменить код (для информативности), то вы сможете увидеть всю цепочку оффсетных родителей
JavaScript
1
2
3
var p = [], l = t = 0; while (tag.OffsetParent)
   p.push (tag), l += tag.offsetLeft, t += tag.offsetTop, tag = tag.offsetParent;
alert (p.join ('\n');
0
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
26.06.2014, 18:29  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
<body> - это точно такой же тег, как и все прочие теги, являющиеся оффсетным родителем
абсолютно для всех тегов offsetTop и offsetLeft отсчитываются относительно верхней и левой границы оффсетного родителя
ну тогда установите рамку в 1px для элемента body и margin: 10px;, а, например абзацу, расположенному внутри body, задайте margin-top: 20px; offsetTop абзаца будет = 31px, и напротив, если вместо body использовать позиционированный элемент с теми же свойствами, то offsetTop абзаца будет 20px

объясните пожалуйста, как в таком случае , если: "<body> - это точно такой же тег, как и все прочие теги" расстояние вычисляется не от края самого элемента body, а от края области просмотра окна браузера?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
26.06.2014, 18:52
да пожалуйста:
HTML5
1
2
3
4
5
6
7
<!doctype html>
<body style="margin: 10px; border: 1px solid #000">
<p id="myTAG" style="margin-top: 20px">txt</p>
</body>
<script>
alert (document.getElementById ('myTAG').offsetTop); // ïîêàçûâàåò 31
</script>
и
HTML5
1
2
3
4
5
6
7
<!doctype html>
<div style="margin: 10px; border: 1px solid #000">
<p id="myTAG" style="margin-top: 20px">txt</p>
</div>
<script>
alert (document.getElementById ('myTAG').offsetTop); // ТОЖЕ ïîêàçûâàåò 31
</script>
а объяснение простое: вы провели свой эксперимент в браузере Internet Explorer и не указали доктайпа

извините, но это называется особенностью (багом) конкретного браузера, но никак не имеет отношения к стандартизированному определению свойства

Не по теме:


если лично у вас от выпитой бутылки пива начинают дрожать руки и подёргиваться голова, то неужели из-за этого в энциклопедическом термине "Пиво" должно быть написано, что оно "является средством для инициирования тремора верхних конечностей"? :)

0
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
26.06.2014, 19:14  [ТС]
kalabuni
Цитата Сообщение от kalabuni Посмотреть сообщение
а объяснение простое: вы провели свой эксперимент в браузере Internet Explorer и не указали доктайпа
вы не очень внимательно прочитали, то что я написал, и из-за невнимательности сделали этот вывод


я написал: "div позиционированный", а не простой, так как если простой, то результат понятно будет таким же, как и если абзац будет в body.

Смотрите на пример:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Название документа</title>
  <style>
    body { margin: 10px; border: 1px solid #000; }
    div { margin: 10px; border: 1px solid #000; position: absolute; top: 60px; }
    p { margin-top: 20px; }
  </style>
</head>
<body>
 
  <p id="myTAG">txt</p>
 
  <div>
    <p id="myTAG2">txt</p>
  </div>
 
  <script>
    alert(document.getElementById('myTAG').offsetTop);  // показывает 30
    alert(document.getElementById('myTAG2').offsetTop); // показывает 20
  </script>
 
</body>
</html>
в первом случае расстояние вычисляется не от края самого элемента body, а от начала края области в которой отображается веб-страница.
во втором случае расстояние вычисляется от края элемента div.

отсюда: если: "<body> - это точно такой же тег, как и все прочие теги", то расстояние должно вычисляться от края элемента body, а не от края области просмотра окна браузера.

Поэтому я и попросил вас объяснить, почему расстояние вычисляется по разному, а не от края самого элемента body.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
26.06.2014, 19:59
перепишите строки ##7 и 8 вот так:
CSS
1
2
body {margin: 0; padding: 10px; border: 1px solid #000}
div  {margin: 0; padding: 10px; border: 1px solid #000; position: absolute; top: 60px}
и посмотрите - что получится

вывод: ничего особливого в теге <body> с точки зрения определения свойства offsetParent нет
1
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
26.06.2014, 23:54  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
вывод: ничего особливого в теге <body> с точки зрения определения свойства offsetParent нет
если так, то да, но все же, если body имеет внешний отступ, то разница есть

Добавлено через 2 часа 42 минуты
и последний вопрос, почему если offsetTop или offsetLeft вычисляется у строчных элементов, то расстояние = 1px (при отсутствии любых отступов и рамок)
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
27.06.2014, 02:29
Цитата Сообщение от Justff Посмотреть сообщение
почему если offsetTop или offsetLeft вычисляется у строчных элементов, то расстояние = 1px (при отсутствии любых отступов и рамок)
немного не понял
дайте пример, где единичка "выскакивает"
1
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 474
27.06.2014, 05:01  [ТС]
да все, разобрался уже =) этот 1 пиксель у offsetTop у строчных элементов из-за межстрочного интервала
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2014, 05:01
Помогаю со студенческими работами здесь

Где можно прочитать про работу с bmp
где можно прочитать про работу с bmp ? Гуглил и толком ничего не нашел. Интересует следующее считывание исходного RGB-изображения ,...

Ссылки с параметрами - где можно про них прочитать?
Проблема такая: Ссылки с параметрами - где можно про них прочитать? Допустим по этой ссылке нужно сформировать запрос и вывести...

Где можно прочитать про стандарт X Window System
Кто-нибудь знает, где прочитать про стандарт X Window System

Где можно прочитать про перевод структуры в массив
Здравствуйте! Подскажите где можно прочитать про перевод структуры в массив? У меня такая работа: #include &lt;fstream&gt; ...

Где можно прочитать про строительство графиков этих функций?
Дали две функции, как строить их графики нигде не могу найти. Подскажите, где можно узнать как их построить. 1. x2 - |8*x + 1| 2....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru