2012-05-09 2 views
8

Можно создать дубликат:
Can we solve the table row background image problem, in chrome, in multi celled tables?строка таблицы фоновое изображение

Я пытаюсь иметь одно изображение в качестве фона для первой строки. Проблема в том, что фон применяется к каждой ячейке отдельно, а не в целом. Есть ли способ обойти это?

http://jsfiddle.net/bumpy009/c3txj/

Результат должен выглядеть примерно так:

enter image description here

EDIT: Проблема появляется только в Safari, Opera и хром. Еще не проверял IE.

+0

взгляните на [этот ответ на сообщение по этому вопросу] (http://stackoverflow.com/a/3052686/547020). там много (на stackoverflow), но этот выглядит многообещающим. –

+1

В вашем JS Fiddle, с Firefox/Chrome, он * делает это так. Какой браузер вы используете? –

+0

@DavidThomas Интересно ... Я использую Safari. – domino

ответ

4

Если вы хотите, чтобы он проходил через каждую строку, почему бы не сделать это вместо фона таблицы и повторить его по оси y?

table { 
    width: 300px; 
    background-image: url('mypic.jpg'); 
    background-repeat: repeat-y; 
} 

BTW Я проверил ваш код с помощью IE9, FF12 - те, которые отображают изображение один раз в строке. Но Chrome 15 & Safari 5 повторяет его для каждого td.

Редактировать

Так как вы хотели его только в первом ряду, вы должны использовать фоновое положение, чтобы убедиться, что изображение остается в верхней части таблицы (это, как правило, в первой строке, верно?: P)

table { 
    width: 300px; 
    background-image: url('mypic.png'); 
    background-repeat: no-repeat; 
    background-position: center top; 
} 
+0

Мне нужен только фон для первой строки. – domino

+0

, то сохраните no-repeat – rlemon

+0

@domino только в первой строке ?! Lemme обновить мой ответ ... – Ozzy

2

Я не знаю о ширине вашей ячейки (переменные?), Но элементы таблицы визуализируются как таковые. Для получения желаемого эффекта, они должны быть отображены как что-то другое:

tr {display: block;} 
td, th {display: inline-block; background: transparent;} 

Вы заметите, что теперь вам нужно установить ширину для Td и го элементов, хотя.

См. Demo.

+0

Спасибо, теперь у меня два рабочих решения. – domino

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