меню поверх картинки html

CSS: работа с текстом на изображениях

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Вы можете встретить компонент пользовательского интерфейса, у которого есть текст над изображением. В некоторых случаях в зависимости от используемого изображения текст будет трудно прочитать. У этой проблемы есть несколько различных решений, таких как добавление градиента или затемнение изображения, наложение тени на текст и другие. Этот прием будет полезен не только frontend и веб-разработчикам, но и ui/ux-дизайнерам. Написать эту статью меня вдохновил твит от Эдди Османи, работающего над Google Chrome.

Здесь я рассмотрю различные подходы и решения этой проблемы, а также то, как передать пользовательский интерфейс фронтенд разработчику таким образом, чтобы гарантировать, что UI реализован в соответствии с макетом дизайна, поскольку некоторые детали в CSS можно легко упустить.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlКак Spotify делает текст на изображениях более читабельным: наложение CSS с линейным градиентом. В наши дни более распространенный, но все же эффективный метод улучшения цветового контраста

Вступление

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlСлева без оверлея, справа с оверлеем.

Обратите внимание, что версия без наложения градиента читается плохо. Для пользователя это нехорошо. Чтобы решить эту проблему, нам нужно добавить слой под текстом так, чтобы текст читался легко. Добавление этого слоя может быть сложной задачей, и я видел многих, кто внедряет это решение, не принимая во внимание доступность.

Обзор возможных решений

Давайте посмотрим на возможные решения.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Есть решения, требующие большего внимания, — это градиентные решения. Почему? Потому что добавить слой градиента — это очень просто, но текст не будет удобным.

Решения

Наложение градиента

Вообще говоря, наложение градиента — это наиболее распространённое решение, позволяющее сделать текст на изображении более чётким. Учитывая это, я остановлюсь на нём немного подробнее.

При реализации наложения градиента у нас есть два варианта:

Использовать отдельный элемент для градиента (псевдоэлемент или пустой

Применить градиент как фоновое изображение.

У каждого из вышеперечисленных есть свои плюсы и минусы, давайте рассмотрим их.

Элемент содержимого позиционируется абсолютно, его фоновым изображением служит градиент. Это означает, что размер градиента равен высоте элемента.

На первый взгляд может показаться, что градиент хорошо работает. Это не так. Я протестировал тот же градиент с большим количеством изображений, и вот результат.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Обратите внимание, что контраст между белым текстом и изображениями не всегда чёткий. Некоторые люди прочитают текст, но использовать такой градиент — огромная ошибка.

Причина в том, что градиент должен покрывать больше пространства по вертикали, поэтому должен быть выше. Если градиент равен размеру контента, он будет работать не во всех случаях. Чтобы решить эту проблему, мы можем использовать min-height, как показано ниже:

Flexbox для перемещения содержимого вниз.

Другое решение — большой padding-top, с ним не нужны min-height и flexbox.

Обратите внимание на разницу между левой и правой карточками. Градиент больше по высоте.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Выглядит хорошо. Можем ли мы сделать лучше? Определённо да!

Смягчение градиента

Присмотревшись, вы заметите, где заканчивается градиент, то есть у него резкая граница.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Чтобы сделать лучше, мы можем применить смягчение градиента. Таким образом градиент будет выглядеть естественнее, и вы не заметите резких краёв в его конце.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Чтобы достичь плавности, в CSS нам нужно несколько границ перехода градиента, но на момент написания этой статьи в CSS нет нативного способа сделать несколько границ. Хорошая новость заключается в том, что рабочая группа CSS обсуждает возможность реализации нативного смягчения градиентов на CSS, но остаётся неясным, когда эту возможность внедрят.

К счастью, г-н Андреас Ларсен создал удобные плагины PostCSS и Sketch, которые помогают преобразовывать резкий градиент в более мягкий.

Вот градиент CSS для примера выше:

Сравните карточки со смягчением градиента и без него.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Горизонтальные градиенты

Работа с текстом поверх изображения не может касаться только вертикального градиента, можно работать и с горизонтальным.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

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

Смешивание сплошного цвета и градиента

Я узнал об этом приёме на сайте Netflix. На домашней странице для незарегистрированного пользователя есть заголовок с большим фоновым изображением.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Мне это нравится, но он скрывает многие детали изображения. Используйте этот приём только в том случае, если изображение должно быть декоративным (не приносит реальных преимуществ конечному пользователю).

Вот наглядное объяснение того, как работает этот паттерн.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Наложение градиента и тень текста

Есть небольшая полезная деталь, которая может сделать текст поверх изображений ещё лучше. Всё дело в добавлении к тексту лёгкой тени. Даже когда заметить её нелегко, она может быть очень полезной, если изображение не загружается. Посмотрим на такой пример.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Наложение градиента, тень текста и непрозрачность

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Что в этом нового? Значки и проигрыватель имеют непрозрачность в 90 %. Это помогает им смешаться с фоном под ними. Создаётся ощущение, что элементы управления вмешаны в изображение.

Кроме того, белая тень у белого текста — эффективный способ сделать текст чётче. Вы хотите доказательства того, что всё вышесказанное будет работать, даже если фон полностью белый? Ну, вот.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст и элементы интерфейса хорошо читаются, даже когда изображение полностью беое

Youtube делает то же самое со своими видео.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Вот что мне понравилось в подходе Youtube:

Тёмная рамка для каждого значка, чтобы он лучше выделялся.

Чёрная тень вместо белой для времени видео.

Радиальный градиент

Интересное решение, о котором я узнал от Netflix, — радиальный градиент. Вот как он работает:

Установите основной цвет заднего фона.

Поместите изображение в верхний правый угол с шириной 75 %.

Наложение соответствует размеру и положению изображения.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Выбор удобного пользователю цвета наложения

Я покажу отличный инструмент, который помогает выбрать правильную непрозрачность наложения в зависимости от изображения. Посмотрите его на Codepen. Интересная задача — сделать градиент удобным.

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

Тестирование

Решение нельзя считать хорошим, пока оно не протестировано, верно? Один из способов, который я использую для проверки наложения градиента, — добавление белого фона ниже градиента. Если текст после этого читаемый, то градиент будет работать с любым изображением, а если нет, вам нужно настроить и улучшить его.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

В приведённом выше примере я выбрал сплошной цвет под заголовком, а коэффициент контрастности составляет 4,74, такой коэффициент считается хорошим.

Работа с Firefox DevTools

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Спасибо Гийсу Вейфейкену: он рассказал мне, что Firefox может тестировать цветовой контраст на градиентах. Это отличная функция.

Если хотите прокачать себя в веб-разработке, освоить специальность frontend-разработчика или стать настоящим Fullstack-универсалом — приходите учиться, а наши опытные менторы и внимательные кураторы помогут вам дойти до финала.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Узнайте, как прокачаться в других специальностях или освоить их с нуля:

Источник

Как написать текст поверх картинки CSS

В начальной стадии изучения языков HTML, CSS и пр. появляются (как это и должно быть) вопросы: как сделать так, или вот, так и в нашем вопросе, как написать текст поверху изображения. Вполне естественное проявление интереса, и требует закрепление знаний в этой области. Но для выполнения этой задачи вы уже должны знать хоть малую часть CSS чтобы понимать базовые свойства каскадной таблицы.

На самом деле выполнить написания текста поверх картинки не столь трудно. Практически делается за счет свойства position и его атрибутов, а дальше идет оформление самого текста. Можно попробовать сделать по-другому, к примеру, задать блоку div фон при этом использовать ту картинку, на которой должен быть расположен текст.

Рассмотрим на первом примере.

HTML

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Пояснение. Основному блоку приписывается значение position: relative; этим мы обозначаем область для свободного позиционирования последующих элементов в этом классе.

Далее, форматируем div в линейно–блочный элемент display: inline-block;

Остальные стили идут как оформление текста.

Во втором примере используем более длинную надпись на картинке и стилизуем ее должным образом.

HTML

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

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

HTML

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Во втором способе применим тег он как только жирность поменьше, но мы ее совсем уберем.

HTML

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

В стилях добавили новое свойство white-space: nowrap; чтобы текст находился на одной строке. На этом все, сложного думаю ничего нет.

Источник

CSS для настройки текста поверх изображений

Разберёмся с компонентом пользовательского интерфейса, у которого текст должен быть размещён поверх изображения. В некоторых случаях, в зависимости от изображения под ним, этот текст прочитать будет непросто. Существует несколько различных способов решения этой проблемы: добавление градиента или затемнение части изображения, тени для текста и др.

Здесь будут рассмотрены различные подходы для решения этой проблемы.

Вступление

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Текст над картинкой слева, без наложения градиента, растворяется в изображении и плохо читается. Это нехорошо для пользователя. Чтобы решить эту проблему и текст было легко читать, между ним и изображением нужно добавить слой-подложку. Добавление такого слоя кажется простой задачей, если не принимать во внимание доступность текста людям с ограниченными возможностями.

Обзор возможных решений

Существуют разные способы решения проблемы чтения текста, расположенного поверх картинки, рассмотрим их.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlВарианты решения проблемы текста, расположенного поверх изображения.

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

Решения

Наложение градиента

Такой способ с наложением градиента поверх изображения — наиболее распространенное решение, позволяющее сделать текст над картинкой более чётким. Поэтому, рассмотрим его подробнее.

Для наложения градиента есть два способа:

У каждого из этих способов есть свои плюсы и минусы, рассмотрим их.

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст поверх картинки с наложением градиента.

На первый взгляд может показаться, что градиент хорош и работает отлично. Но это не совсем так, если протестировать этот градиент с большим количеством разных вариантов изображений.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст поверх разных изображений с наложением одинакового градиента.

Здесь следует обратить внимание на то, что контраст между белым текстом и изображениями не всегда четкий. Иногда это работает нормально, но использовать такой градиент — большая ошибка, поскольку у него есть проблема с доступностью для людей с ограниченными возможностями.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlОбратите внимание на разницу между левой и правой картинками.
Справа градиент больше по высоте.

В-общем, выглядит хорошо. Можно ли сделать ещё лучше? Да, безусловно!

Плавные градиенты

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlГрадиент с резким завершением перехода.

Чтобы улучшить это, можно применить к градиенту концепцию ослабления. Таким образом градиент будет выглядеть более естественным, с плавным переходом в конце.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlГрадиент с плавным завершением перехода.

Для достижения градиенту эффекта плавности в CSS потребуется несколько точек-остановок, поскольку на момент написания этой статьи не было отдельного специального способа сделать это. Хорошая новость заключается в том, что рабочая группа CSS обсуждает возможность реализации смягчения в CSS-градиентах, только неясно, когда это произойдет.

Вот CSS-градиент для примера, приведенного выше:

Здесь сравнение внешнего вида карточек с плавным и резким окончанием градиента между текстом и изображением под ним.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст поверх изображения и градиент между ними с плавным и резким завершением.

Горизонтальный градиент

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст поверх изображения с подложкой из горизонтального градиента.

Пример CSS-градиента для такого случая. Здесь используется упомянутая ранее техника ослабления для создания плавного градиента.

Смешивание сплошного цвета и градиента

Подходит для заголовка с большим фоновым изображением, но он может скрывать какие-то детали на картинке.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст заголовка располагается поверх фонового изображения.

Такой способ лучше применять, когда детали изображенного на картинке не имеют особой ценности, в отличие от текста над ней. Тогда подойдет такая HTML-разметка:

А CSS может быть таким:

Ниже наглядное объяснение, как работает такой паттерн:

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Наложение градиента и текст с тенью

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТекст с тенью поверх изображения.

Наложение градиента, тень текста и прозрачность

Здесь речь о том, как можно объединить несколько техник, чтобы сделать текст (и другие элементы пользовательского интерфейса) понятным. Например, при работе с видеопроигрывателем очень важно убедиться, что его элементы управления поверх видео будут заметны.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Из нового можно заметить, что у значков и проигрывателя установлена прозрачность opacity: 0.9 и это поможет им смешаться с фоном под ними.

Кроме того, использование белой тени для белого текста — странный, но эффективный способ сделать текст более чётким. Если нужны доказательства того, что всё вышесказанное будет работать, даже если фон представляет собой полностью белое изображение, то вот пояснения:

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlБелые элементы управления видеопроигрывателя с белой тенью.

Facebook и Youtube используют в своих видеопроигрывателях примерно одинаковую технику.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlГрадиент под элементами управления youtube-проигрывателя для видео.

Что отличает подход Youtube к выделению текста и кнопок:

Радиальный градиент

Ещё одно интересное решение — использование радиального градиента. Это работает так:

CSS здесь может быть таким:

Выбор доступного цвета для подложки

Интересная задача — обеспечить людям с ограниченными возможностями доступность рассмотренных выше вариантов использования градиентов для читаемости текста, располагаемого поверх изображения.

Этот инструмент поможет выбрать правильную прозрачность подложки в зависимости от изображения и цвета текста.

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

Тестирование

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

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlТестирование подложки для текста поверх изображения.

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

Использование Firefox DevTools

Firefox может выполнять проверку цветового контраста градиентов. Эту отличную особенность тоже можно использовать для оценки читаемости текста.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки htmlИспользование Firefox DevTools для оценки читаемости текста поверх изображения.

Источник

CSS блок поверх всего контента

Есть блок с краю экрана небольшой. При наведении он расширяется. Проблема в том, что он «выезжает» не поверх моего контента, а под него. Точнее только под картинки (скриптовые банеры с прокруткой и тп.) Можно ли сделать так, что бы он выезжал поверх всего? CSS:

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

3 ответа 3

Добавьте правилу div.nav свойство z-index: 999999;

Строго говоря, ваш элемент должен иметь значение z-index большее, чем положение по z-оси других элементов страницы, т. е. и значения z-index: 100; может быть достаточно

Просто поставь z-index больше остальных.

z-index

Любые позиционированные элементы на веб-странице могут накладываться друг на друга в определенном порядке, имитируя тем самым третье измерение, перпендикулярное экрану. Каждый элемент может находиться как ниже, так и выше других объектов веб-страницы, их размещением по z-оси и управляет z-index. Это свойство работает только для элементов, у которых значение position задано как absolute, fixed или relative.

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками html css или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.11.12.40742

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Меню поверх картинки html

Вообще, сам вопрос несложен. Нет ничего хитрого, чтобы расположить один блок, поверх другого. Но всё-таки, есть и в этом вопросе несколько моментов, достойных обсуждения. Я думаю найдутся люди, кому это будет интересно.

Идея состоит в том, чтобы просто накладывать некоторый текст на изображение. Текст представлен в виде блоков переменной длины, предполагается что он будет расположен с левой стороны, с ровной заливкой вокруг текста. Например, как на этом изображении:

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Схема документа

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

HTML-разметка

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

Будем использовать этот span для оформления текста и фона:

Проблемы

меню поверх картинки html. Смотреть фото меню поверх картинки html. Смотреть картинку меню поверх картинки html. Картинка про меню поверх картинки html. Фото меню поверх картинки html

Как видно из рисунка, в конце строки блок текста заканчивается непосредственно после последнего символа в строке, и начинается сразу же по левому краю на следующей строке. Свойство padding для span-а, в данном случае, нам не поможет.

Чтобы решить проблему, необходимо использовать дополнительные span-ы по обе стороны от тега
, в этом случае мы уже сможем воспользоваться padding-ом.

Этим новым span-ам мы зададим свойство padding:

Что на счёт семантики?

На данном этапе дизайн завершен, но при этом осталась одна проблема. А именно, огромное количество дополнительных элементов HTML добавленных только для дизайна. Я имею в виду span-ы. Чтобы решить эту проблему, воспользуемся jQuery. Для этого удалим все span-ы в разметке, и динамически добавим их:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *