Странная интерпретация кода браузерами
Есть такой код:
<style> P { position: relative; } .note { display: block; position: absolute; width: 100%; left: 100%; margin-top: -2.2em; } </style> <table width="30%"> <tr> <td> <P>Это непрерывный текст, а этому <b>месту</b><em class="note"> <p>Примечание к месту</p> </em> в нем соответствует примечание</P> </td> </tr> </table> Если заменить в нем все прописные P, например, на div, то можно увидеть как он должен работать. В оригинальном варианте все браузеры выполняют его по-другому, а именно, в соответствии с тем что показывает гуглхромовский инспектор: ![]() Почему так происходит и как добиться правильного отображения не заменяя P на div? |
Цитата:
точно не на HTML в HTML тег P не может быть вложен. почему вы использовали его, а не, к примеру тег <img> ? |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Пожалуй, стоит начать с азов, либо выспаться. |
Цитата:
|
Цитата:
Цитата:
...Он поспешно его распечатал и прочел следующее: Государь ты наш, Владимир Андреевич, — я, твоя старая нянька, решилась тебе доложить о здоровьи папенькином! Он очень плох, иногда заговаривается, и весь день сидит как дитя глупое - а в животе и смерти бог волен. Приезжай ты к нам, соколик мой ясный мы тебе и лошадей вышлем на Песочное. Слышно, земский суд к нам едет отдать нас под начал Кирилу Петровичу Троекурову — потому что мы-дескать ихние, а мы искони Ваши, — и отроду того не слыхивали. Ты бы мог живя в Петербурге доложить о том царю-батюшке, а он бы не дал нас в обиду. — Остаюсь твоя верная раба, нянька Орина Егоровна Бузырева.Владимир Дубровский несколько раз сряду перечитал сии довольно бестолковые строки с необыкновенным волнением... |
Цитата:
|
Ну ладно заменю я <p> на <div>. Так правильно будет? Как бы вы сделали? Только без насмешек, пожалуйста.
|
да ,так будет правильно.<div>-это контейнер какой позволяет всебя вкладывать теги и теги абзацев <p> в том числе. в твоём случае достаточно одну пару заменить,а вторая будет вложенная в контейнер
|
dmitriymar, наверное так и сделаю. Только получится не очень красиво: все абзацы будут заключены в <p>, а абзац с примечанием в<div>.
|
глупость сказал. как раз примечание остаётся в теге абзаца. что мешает остальной текст в теги абзацев заключить?
почитай лучше сначала по html разметку |
dmitriymar, как понять что мешает? Именно то мешает о чем я тему создал.
Может быть я как-то не так понял. Укажите, пожалуйста, что и как заменить в моем коде. |
<head> <style> р { position: relative; } .note { display: block; position: absolute; width: 100%; } </style> </head> <body> <table width="30%"> <tr> <td> <div> <p>Это непрерывный текст, а этому <em><b>месту</b></em></p> <p class="note">Примечание к месту</p> <p> в нем соответствует примечание </p> </div> </td> </tr> </table> </body> <head> <style> р { position: relative; } .note { display: block; position: absolute; width: 100%; } </style> </head> <body> <table width="30%"> <tr> <td> <p>Это непрерывный текст, а этому <em><b>месту</b></em></p> <p class="note">Примечание к месту</p> <p> в нем соответствует примечание </p> </td> </tr> </table> </body> и стили свои посмотри не меньше намучено чем в тегах было |
Вроде бы автору требовалось нечто такое по виду...
<!DOCTYPE html> <html> <head> <title>Пыточная</title> <style type="text/css"> * { margin: 0; padding: 0; } html, body { width: 100%; } #container { position: relative; background-color: silver; } #right { float: right; width: 200px; position: relative; } #right > p { position: absolute; left: 3px; right: 0; } #left { margin-right: 200px; background-color: #ffffff; } .end { clear: both; } .line { position: absolute; right: 0; height: 3px; border-left: 1px solid ; border-bottom: 1px solid; border-color: red; } </style> <script> function SetPrm() { var o=document.getElementById('left') o=o.getElementsByTagName('b') var i for (i=0; i<o.length; i++) { document.getElementById('p'+i).style.top=o[i].offsetTop+'px' document.getElementById('b'+i).style.top=(o[i].offsetTop+15)+'px' document.getElementById('b'+i).style.left=o[i].offsetLeft+'px' } } </script> </head> <body onload='SetPrm()'> <div id='container'> <div id='b0' class='line'></div> <div id='b1' class='line'></div> <div id='b2' class='line'></div> <div id='right'> <p id='p0'>Примечание для "количеству"</p> <p id='p1'>Примечание для "права"</p> <p id='p2'>Примечание для "Яндекс"</p> </div> <div id='left'> <p>Служба Яндекс.Рефераты предназначена для студентов и школьников, дизайнеров и журналистов, создателей научных заявок и отчетов — для всех, кто относится к тексту, как к <b>количеству</b> знаков. </p> <p>Нажав на кнопку «Написать реферат» вы лично создаете уникальный текст, причем именно от вашего нажатия на кнопку зависит, какой именно текст получится — таким образом, авторские <b>права</b> на реферат принадлежат только вам. </p> <p>Теперь никто не сможет обвинить вас в плагиате, ибо каждый текст <b>Яндекс</b>. Рефератов неповторим. <br />Текстами рефератов можно пользоваться совершенно бесплатно, однако при транслировании и предоставлении текстов в массовое пользование ссылка на Яндекс.Рефераты обязательна. </p> <div class='end'></div> </div> </div> </body> </html> |
ksa,
он теги <p> в примере какой дал перекрестил |
Ни один пример не работает.
Вот код (примерно то, что я выкладывал в начале): <head> <style> div { position: relative; display: block; } p { display: block; } .note { display: block; position: absolute; width: 100%; left: 100%; margin-top: -2.2em; } </style> </head> <body> <table width="30%"> <tr> <td> <p>Первый абзац</p> <div>Второй абзац. А этому <b>месту</b><em class="note"> <p>Примечание к месту</p> </em> в нем соответствует примечание</div> <p>Третий абзац</p> </td> </tr> </table> </body>Он работает как надо. Нужно сделать так же, но чтобы второй абзац был заключен в <p>, а не в<div> P.S. Привет, ksa :-) |
Цитата:
|
Цитата:
Твоё "Примечание к тексту" совсем не на том уровне. Оно просто "вот в этом месте". |
Цитата:
|
Часовой пояс GMT +3, время: 21:49. |