Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Абсолютное позиционирование таблицы
 
 автор: Владимир55   (11.03.2012 в 18:01)   письмо автору
11.3 Кб
 
 

<body>  
<div align="center" >
<table style="position:absolute; top:10px; text-align: center; background-color: #FCEBC7; border: 5px solid #FF00FF; width: 750px">
<tr> 
    <td>Текст в таблице</td> 
</tr> 
</table>
</div>


При наличии position:absolute таблица вываливается вправо за экран (скриншот). Это наблюдается только в ИЕ (смотрю версией 8). С другими браузерами все нормально.

Как заставить эксплорер показывать таблицу по центру?

  Ответить  
 
 автор: Sfinks   (11.03.2012 в 18:51)   письмо автору
 
   для: Владимир55   (11.03.2012 в 18:01)
 

к сожалению не имею 8го ИЕ чтоб проверить конкретно. Но попробуйте поиграть с left, right, margin. Если ширина нужна четко 750, то попробуйте явно указать {left:auto;right:auto} или {left:0;right:0;margin:0 auto} или {left:0;right:0;margin-left:auto;margin-right:auto} . Если ширина не принципиальна, лучше четко указать left и right равными, например, 15% или еще чему-то.

  Ответить  
 
 автор: Sfinks   (11.03.2012 в 18:56)   письмо автору
 
   для: Sfinks   (11.03.2012 в 18:51)
 

А может он теряется в определении от какого элемента устанавливать позиционирование. Для абсолютного позиционирования точкой отсчета принимается ближайший предок с {position:relative} . Попробуйте для body задать этот атрибут. А можно задать для того элемента от которого ВАМ удобнее "плясать"

  Ответить  
 
 автор: Владимир55   (11.03.2012 в 18:59)   письмо автору
 
   для: Sfinks   (11.03.2012 в 18:56)
 

Для абсолютного позиционирования точкой отсчета принимается ближайший предок с {position:relative} . Попробуйте для body задать этот атрибут.

Можете показать примером?

А можно задать для того элемента от которого ВАМ удобнее "плясать"
Вот это мне весьма актуально! Как задать позицию строки внутри таблицы от края таблицы?

  Ответить  
 
 автор: Sfinks   (11.03.2012 в 19:15)   письмо автору
 
   для: Владимир55   (11.03.2012 в 18:59)
 

<body>
<div style="float:left;width:200px">left-text</div>
<div style="float:left">
  <table style="width:750px"><tr><td>таблица</td></tr></table>
</div>
</body>
выведет слева left-text а правее на расстоянии 200px от левого края таблицу
<body>
<div style="float:left;width:200px">left-text</div>
<div style="float:left">
  <table style="position:absolute;left:10px;top:10px;width:750px"><tr><td>таблица</td></tr></table>
</div>
</body>
выведет слева left-text а таблицу уже выдерет из основного потока и разместит на 10px ниже и правее верхнего левого угла окна браузера, частично перекрыв left-text
<body>
<div style="float:left;width:200px>left-text</div>
<div style="float:left;position:relative">
  <table style="position:absolute;left:10px;top:10px;width:750px"><tr><td>таблица</td></tr></table>
</div>
</body>
выведет слева left-text а таблицу cместит на 10px ниже и правее верхнего левого угла второго div. Т.е. на 210px правее края окна и на 10 ниже верха.

> Вот это мне весьма актуально! Как задать позицию строки внутри таблицы от края таблицы?
<td style="padding-left:15px">

  Ответить  
 
 автор: Владимир55   (11.03.2012 в 19:42)   письмо автору
 
   для: Sfinks   (11.03.2012 в 19:15)
 

Вот это мне весьма актуально! Как задать позицию строки внутри таблицы от края таблицы?<td style="padding-left:15px">

Бывает, что текст из ячейки таблицы вылетает вниз. Хотелось бы позиционировать его таким образом, чтобы он точно оставался внутри ячейки. То есть, привязать в верхней границе таблицы, а еще лучше к верхней границе той ячейки, в которой он должен отображаться.

Вот это как?

  Ответить  
 
 автор: AlexSol   (11.03.2012 в 20:40)   письмо автору
 
   для: Владимир55   (11.03.2012 в 19:42)
 

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

  Ответить  
 
 автор: Sfinks   (11.03.2012 в 20:54)   письмо автору
 
   для: Владимир55   (11.03.2012 в 19:42)
 

Не очень понятно. Можно конкретный пример где "вылетает" и описать как должно быть?

  Ответить  
 
 автор: Владимир55   (11.03.2012 в 18:57)   письмо автору
 
   для: Sfinks   (11.03.2012 в 18:51)
 

Спасибо!

Как оказалось, это типичный глюк Эксплорера. Исправляется так:

<table style="position:absolute; top:10px; text-align: center; background-color: #FCEBC7; border: 5px solid #FF00FF; width: 750px; left:50%;margin-left:-375px">

  Ответить  
 
 автор: Sfinks   (11.03.2012 в 18:59)   письмо автору
 
   для: Владимир55   (11.03.2012 в 18:57)
 

Ну судя по всему left он и сам зачем-то принял == 50% )

  Ответить  
 
 автор: Владимир55   (11.03.2012 в 19:02)   письмо автору
 
   для: Sfinks   (11.03.2012 в 18:59)
 

Да, но я всё же хотел бы отработать Ваш вариант: в этой теме вопрос Владимир55 (11.03.2012 в 18:59)

  Ответить  
 
 автор: Tonik992   (13.03.2012 в 02:34)   письмо автору
 
   для: Владимир55   (11.03.2012 в 18:57)
 

Сам не знаю с чем это связно, IE он и есть IE )
можно просто попробовать left установить в ноль и буде работать left:0
но если надо центрировать вам, то тогда ваш вариант предпочтительней left:50%;margin-left:-375px

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования