2015-10-13 6 views
2

У меня этот стиль css для отзывчивой таблицы. он работает так, как ожидалось, в firefox, но не в хроме.Отзывчивая таблица html, css

В хроме весь текст смешанный, и кажется, что это слои.

В чем проблема в коде, который он работает на firefox, но не в хроме?

@media only screen and (max-width: 800px) { 
 

 
    /* Force table to not be like tables anymore */ 
 
    table, 
 
    thead, 
 
    tbody, 
 
    th, 
 
    td, 
 
    tr { 
 
    display: block; 
 
    } 
 

 
    /* Hide table headers (but not display: none;, for accessibility) */ 
 
    thead tr { 
 
    position: absolute; 
 
    top: -9999px; 
 
    left: -9999px; 
 
    } 
 

 
    tr { 
 
    border: 1px solid #ccc; 
 
    } 
 

 
    td { 
 
    /* Behave like a "row" */ 
 
    border: none; 
 
    border-bottom: 1px solid #eee; 
 
    position: relative; 
 
    padding-right: 50%; 
 
    white-space: normal; 
 
    text-align: right; 
 
    } 
 

 
    td:before { 
 
    /* Now like a table header */ 
 
    position: absolute; 
 
    /* Top/left values mimic padding */ 
 
    top: 6px; 
 
    right: 6px; 
 
    width: 45%; 
 
    padding-right: 10px; 
 
    white-space: nowrap; 
 
    text-align: right; 
 
    font-weight: bold; 
 
    } 
 

 
    /* 
 
    Label the data 
 
    */ 
 
    td:before { 
 
    content: attr(data-title); 
 
    }; 
 
}
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>title 1</th> 
 
     <th>title 2</th> 
 
     <th>title 3</th> 
 
     <th>title 4</th> 
 
     <th>title 5</th> 
 
    </tr> 
 
    </thead> 
 

 
    <tbody> 
 
    <tr> 
 
     <td data-title="title1"> 
 
     text 
 
     </td> 
 
     <td data-title="title2"> 
 
     text 
 
     </td> 
 
     <td data-title="title3"> 
 
     text 
 
     </td> 
 
     <td data-title="title4"> 
 
     text 
 
     </td> 
 
     <td data-title="title5"> 
 
     text 
 
     </td> 
 
    </tr> 
 
    </tbody> 
 

 
</table>

В режиме предварительного просмотра, кажется, хорошо в хроме бет, если я создаю новый простой HTML-файл с таблицей в теле она выглядит очень плохо. Я понимаю, что мне нужно добавить что-то в css или в тело, но я не знаю, что. Вот как это выглядит, когда я делаю ширину экрана небольшой, то 800px

enter image description here

+0

Так как хедз я использовал это в прошлом. Он требует jQuery, но я лично преобразовал его, чтобы не использовать jQuery, чтобы он мог быть выполнен и хорошо работает. http://gergeo.se/RWD-Table-Patterns/?utm_source=Front-end+Dev+Weekly&utm_campaign=2a5acde570-Front_end_Dev_Weekly_Issue_96_9_2014&utm_medium=email&utm_term=0_c6dafce16b-2a5acde570-124910645 – AtheistP3ace

+0

работает прекрасно здесь Chrome v45 же, как FFv41 – dippas

+0

в 3-х компьютеров. Я проверил это. На StackOverflow «запустить фрагмент кода» это выглядит здорово, но если я создаю простую страницу с Это выглядит очень плохо! –

ответ

1

Из комментариев было обнаружено, вы пропускали доктайп. Для всех современных веб-страниц требуется тип документа. Без этого вы находитесь в режиме «quirks», и такие вещи, как margin и padding, и всевозможные вещи не следуют the W3C box model.

Добавление этого в самой первой строке сохраняет все браузеры в «стандартном режиме»

<!DOCTYPE html> 

Activating Browser Modes with Doctype