Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   наследный display (https://javascript.ru/forum/dom-window/15187-naslednyjj-display.html)

ksa 16.02.2011 11:56

Цитата:

Сообщение от Sonkkorh
он наследуется, если не указан явно. в данном случае у span он явно не указан.

Нет.
спан как был строчным тат и останется.

<div style='display: block;'>
   <span>one<span>
   <span>two<span>
</div>


Спаны не стали блочными... ;)
Т.ч. всё это "наследование" в твоих мечтах... :)

Sonkkorh 16.02.2011 12:14

ок, но как тогда определить виден ли элемент на странице или нет?
идти вверх по родителям и проверять у всех display?

ksa 16.02.2011 12:49

Цитата:

Сообщение от Sonkkorh
идти вверх по родителям и проверять у всех display?

Чем не вариант! :)

Sonkkorh 16.02.2011 12:50

думал есть способ проще

ksa 16.02.2011 12:51

Вот чего еще нашел :)
Цитата:

Определяем видимость элемента на странице

Для того чтобы в JS проверить виден ли объект, нужно проверить его offsetHeight, если он равен 0 (ноль), то элемент скрыт.
http://pontyk.com.ua/2010/08/14/opre...a-na-stranice/

Kolyaj 16.02.2011 13:17

Цитата:

Сообщение от Sonkkorh
как тогда определить виден ли элемент на странице или нет?

if (el.offsetWidth) {
    alert('Элемент виден.');
}

bushstas 20.02.2011 13:58

ну у всех элементов у которых display=none clientHeight=0

просто проверяй если clientHeight==0 то соответственно у элемента display=none

поправьте меня если я не прав или если у элемента может быть по какой то другой причине clientHeight равен 0

хотя наверное если задать через стиль высота равную 0 ))) но думаю не везде это сработает

Aetae 20.02.2011 17:08

Может и используется. Например чтоб делать такие чтуки:
<div style="border-top:25px solid white; border-bottom:15px solid white; border-right:15px solid black; width:0; height:0; font-size:0; float:left"></div>
<div style="border-top:15px solid white; border-bottom:25px solid white; border-left:15px solid black; width:0; height:0; font-size:0; float:left"></div>


Часовой пояс GMT +3, время: 21:16.