Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Странное поведение <p>
p {margin: 0;padding: 10px 0;border: 1px solid red;}
</style>
<p>
<div>Текст</div>
</p>
В итоге, вместо того, чтобы див был в теге p, последний делится на 2 самостоятельных и обрамляет див сверху и снизу! А если стили для p приписать в его style-свойство вместо описания в теге style или отдельном css-файле, он будет лишь сверху дива. Но опять-таки, див почему-то не внутри p...
Как понимать такую ситуацию?
----- Yuriy
JustUserR
Отправлено: 07 Февраля, 2010 - 00:51:55
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Yuriy пишет:
Но опять-таки, див почему-то не внутри p...
Все зависит от того какие параметры у самого div-a - ведь если внутри p не установлно overflow:hidden и не установлена жесткая привязка - то div может находится и за его пределами за счет сдвигов типа margin или relative-position и так далее
Вероятно в данном случае это эффект от padding-а и увеличенного размера данного div-а
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Yuriy
Отправлено: 07 Февраля, 2010 - 01:16:03
Частый гость
Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007 Откуда: Азов
Помог: 0 раз(а)
JustUserR пишет:
Все зависит от того какие параметры у самого div-a
Стоп-стоп... Я привёл полный код. Никаких параметров и ничего лишнего здесь нет. Попробуйте запустить. Может я чего-то не понимаю...
----- Yuriy
JustUserR
Отправлено: 07 Февраля, 2010 - 03:31:42
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Yuriy пишет:
Стоп-стоп... Я привёл полный код. Никаких параметров и ничего лишнего здесь нет. Попробуйте запустить. Может я чего-то не понимаю...
На самом деле такой эффект бывает - когда внутренний элемент выходит за границы его контейнера определенным образом то рамка внешнего контейнера расслаивается и искривляется - поставьте к примеру для p параметр style="position:relative; display:block; overflow:hidden" и все пропадет Также можете поставить рамку для div-а и поймете почему так происходит и где происходит то самое наложение
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Ch_chov
Отправлено: 07 Февраля, 2010 - 06:53:23
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Ни чего странного нет. Тег <p/> не должен заключать в себе других блочных элеметов.
Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007 Откуда: Азов
Помог: 0 раз(а)
Ch_chov пишет:
Попробуй пройти валидацию этого кода.
Больше вопросов нет. Не додумался... Теперь всё ясно!
Спасибо!
----- Yuriy
JustUserR
Отправлено: 07 Февраля, 2010 - 13:47:21
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Ch_chov пишет:
Тег <p/> не должен заключать в себе других блочных элеметов
С учетом концепции CSS2 любой блок с помощью свойства display может быть представлен в любой форме - внутренних элемент можно превратить в блочный или списочный и наоборот и так далее - так что ничего такого в этом нет - главное чтобы внутри inline-элементов не было block-элементов в общем случае
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Yuriy
Отправлено: 07 Февраля, 2010 - 13:50:34
Частый гость
Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007 Откуда: Азов
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.