2015-03-07 1 views
0

У меня возникла проблема с получением ячейки таблицы для ответа на стили, как ожидалось. Не рекомендуется использовать div и CSS. Я знаю, что это лучше, но не подходит для этой конкретной проблемы. Я также не могу изменить doctype, потому что это CMS с закрытым исходным кодом. Это работает, как ожидалось с DOCTYPE XHTMLHTML td не будет разбиваться на новую строку с помощью <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.01 Transitional // EN">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
<style> 
.foottable{ 
    width:100%; 
    table-layout:fixed; 
} 
.foottable td{ 
    display: block; 
    width: 100%; 
} 
</style> 
</head> 
<body>     
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="foottable"> 
    <tbody> 
     <tr valign="top"> 
      <td> 
       <b>About</b> 
       <a href="info.html">About</a> 
       <a href="press.html">Press</a> 
       <a target="_blank" href="http://blog.com/">Blog</a> 
       <a href="events.html">Events</a> 
       <a href="stores.html">Store Locations</a> 
       <a href="ind.html">Site Map</a> 
      </td> 
      <td> 
       <b>Customer Service</b> 
       <a href="shipping.html">Shipping</a> 
       <a href="returnpolicy.html">Returns</a> 
       <a href="giftcert.html">Gift Certificates</a> 
       <a href="privacypolicy.html">Privacy Policy</a> 
       <a href="terms.html">Terms &amp; Conditions</a> 
      </td> 
     </tr> 
    </tbody> 
</table> 
</body> 
</html> 

Как только доктайп является HTML 4.01 он не работает, как ожидалось

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<style> 
.foottable{ 
    width:100%; 
    table-layout:fixed; 
} 
.foottable td{ 
    display: block; 
    width: 100%; 
} 
</style> 
</head> 
<body>     
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="foottable"> 
    <tbody> 
     <tr valign="top"> 
      <td> 
       <b>About</b> 
       <a href="info.html">About</a> 
       <a href="press.html">Press</a> 
       <a target="_blank" href="http://blog.com/">Blog</a> 
       <a href="events.html">Events</a> 
       <a href="stores.html">Store Locations</a> 
       <a href="ind.html">Site Map</a> 
      </td> 
      <td> 
       <b>Customer Service</b> 
       <a href="shipping.html">Shipping</a> 
       <a href="returnpolicy.html">Returns</a> 
       <a href="giftcert.html">Gift Certificates</a> 
       <a href="privacypolicy.html">Privacy Policy</a> 
       <a href="terms.html">Terms &amp; Conditions</a> 
      </td> 
     </tr> 
    </tbody> 
</table> 
</body> 
</html> 

Это то, что я ожидал увидеть: enter image description here

Этот что я вижу: enter image description here

У любого есть понимание того, почему doctype не устанавливает td на их собственной линией? Я использую Chrome. Я проверил firefox, и он работает так, как ожидалось.

+0

Ну, HTML DOCTYPE вы используете не является допустимым, так что это вызовет режим совместимости. Если вы не можете использовать правильный doctype, и вы не можете изменить контент для использования divs, я не уверен, что предложить. –

+0

О, если вам интересно, почему Firefox ведет себя правильно, это не большая загадка. Просто вопрос разных браузеров, имеющих разные причуды. Именно по этой причине вам следует избегать причудливого режима, когда это возможно. –

+0

Скажите, перечитывая вопрос, говорите ли вы, что CMS имеет возможность испускать доктрину XHTML? –

ответ

Смежные вопросы