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

HTML+CSS+JavaScript

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

 

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

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

тема: Центрирование текста в таблице изменет её вид
 
 автор: Владимир55   (02.05.2011 в 22:25)   письмо автору
3.5 Кб
 
 

Фон в таблице задан графическим файлом, а в ячейку заносится текст. Надпись получается слева, но вцелом все работает. Код такой:

<table border="0" width="235" id="table12" cellpadding="0" style="border-collapse: collapse" height="34" background="images/knopka.gif">
    <tr>
        <td><font color="#FFFFFF">Миссия</font></td>
    </tr>
</table>


Если же отцентрировать напись, то код получается такой:
<table border="0" width="235" id="table12" cellpadding="0" style="border-collapse: collapse" height="34" background="images/knopka.gif">
    <tr>
        <td>
        <p align="center"><font color="#FFFFFF">Миссия</font></td>
    </tr>
</table>

И при этом фон таблицы размножается по вертикали, хотя размер шрифта и вообще больше ничего не изменилось. Только центрирование (скриншот).

Почему так?

(Про устаревшие теги типа font , border-collapse и др. знаю)

  Ответить  
 
 автор: cheops   (02.05.2011 в 23:30)   письмо автору
 
   для: Владимир55   (02.05.2011 в 22:25)
 

А почему, в каскадные таблицы стилей фон не помещаете? Там можно ясно запретить транслирование стилей, да и центрирование задать
<table border="0" width="235" height="34" id="table12" cellpadding="0"
       style="border-collapse: collapse; background url(images/knopka.gif) no-repeat;"> 
<tr> 
  <td> 
    <p style='color: #fff; text-align: center;'>Миссия</p>
  </td> 
</tr> 
</table>

  Ответить  
 
 автор: Абырвалг   (02.05.2011 в 23:40)   письмо автору
 
   для: Владимир55   (02.05.2011 в 22:25)
 

1. <font> - инлайновый тег, а <p> - блочный тег

Соответственно, [пробельные символы]<font> преобразуется в браузере просто в "пробел+<font>"

А [пробельные символы]<p> преобразуется в "пробел+перевод строки+<p>"

В вашем коде <td><font> - написаны СЛИТНО, БЕЗ пробельных символов
А <td> и <p> написаны почему-то с переводом строки и кучей пробелов (перевод строки в HTML-коде - это "пробельный символ", такой же как пробел и горизонтальная табуляция)

2. Тег <p> имеет по умолчанию какие-то внешние отступы (margin), что и увеличивает Вашу ячейку по высоте и заставляет фон размножаться.
----

Итого Вам надо:
1) беспробельное (слитное) написание <td><p>
2) указание обнуленных отступов в теге <p style="margin: 0">

PS. И вообще - непонятно, зачем плодить дополнительные теги <font> и <p>, если указание на центрирование текста и на цвет его можно легко сделать в самом теге <td>?
<td style="text-align: center; color: #fff">

  Ответить  
 
 автор: Владимир55   (03.05.2011 в 01:36)   письмо автору
 
   для: Абырвалг   (02.05.2011 в 23:40)
 

Спасибо!

Визуальный редактор автоматически сформировал код, а этих столь существенных нюансов я не знал.

  Ответить  
 
 автор: Владимир55   (03.05.2011 в 19:32)   письмо автору
 
   для: Владимир55   (03.05.2011 в 01:36)
 

Как выяснилось, первопричиной оказалась строка
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


Похоже, что устаревшие теги с этим стандартом несовместимы.

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

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