Фоновое изображение заголовка таблицы, расположенное вертикально

У меня есть градиентное изображение в качестве фона для заголовка таблицы (9x18 пикселей). Это изображение вызывается через класс селектора. Когда содержимое заголовка увеличивается до 2 строк (увеличивается вертикальная высота), изображение bg разбивается вертикально и выглядит некрасиво. Как я могу растянуть изображение bg по вертикали без мозаики?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
0
8 899
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы не можете растянуть это. Что ж, не обошлось и без неприятных хаков CSS, которые действительно не будут работать во всех доступных браузерах. Я бы не стал их использовать (если ваш HTML-код не нацелен только на один браузер, например, если это страница для внутреннего использования и используемый браузер известен). Однако вы можете заставить его повторяться только в одном направлении. Это то, что вы обычно хотите, имея градиент.

background-repeat: repeat-x;

Вот пример изображения:

alt text

Вот HTML-код, который его использует

<html>
<head><title>Gradient Test</title>
<style type = "text/css">
    th {
        color:brown;
        background-image:url(http://img222.imageshack.us/img222/6586/fillhz2.png);
        background-repeat:repeat-x;
        margin: 0;
    }
</style>
</head>
<body>
    <table>
        <tr>
            <th>One line</th>
            <th>Three<br>lines<br>of text</th>
        </tr>
        <tr>
            <td>Data</td>
            <td>Data</td>
        </tr>
    </table>
</body>
</html>

Он будет повторяться, но только в одном направлении. Обычно градиент можно смело повторять в одном направлении, растягивать его не нужно.

Прежде всего, я предполагаю, что вы используете CSS для размещения этого фонового изображения. Вероятно, вам нужно уточнить эту часть вашего ответа.

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

Самый простой способ справиться с этим - просто сделать фон достаточно большим, чтобы уместить пару строк или больше.

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

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

Проблема, с которой вы столкнулись, заключается в том, что ваш фон повторяется, комментарий Меки верен и должен исправить вашу проблему, фоновые изображения будут всегда повторяться, если вы не укажете, каким образом он должен повторяться, если вообще.

Вот ссылка на все различные свойства фона CSS, которые могут вам немного помочь: http://www.w3schools.com/css/css_background.asp

Ответ принят как подходящий

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

<html>
<head><title>Gradient Test</title>
<style type = "text/css">
    th {
        color:brown;
        background-image:url(http://img222.imageshack.us/img222/6586/fillhz2.png);
        background-repeat:repeat;
        margin: 0;
    }
</style>
</head>
<body>
    <table>
        <tr>
            <th>One line</th>
            <th>Three<br>lines<br>of text</th>
        </tr>
        <tr>
            <td>Data</td>
            <td>Data</td>
        </tr>
    </table>
</body>
</html>

Другие вопросы по теме