Как правильно наложить многослойный background на div-блок?

Прилагаю скрин "рамки", чтоб было понятней.

5e17c42b1a448022911109.png

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

.border {
	background:

	url('/img/background-border-1.png') left -1px top -1px no-repeat,
	url('/img/background-border-2.png') right -1px top -1px no-repeat,
	url('/img/background-border-3.png') left bottom no-repeat,
	url('/img/background-border-4.png') right bottom no-repeat,
	url('/img/background-border-5.png') left top repeat-x,
	url('/img/background-border-6.png') left bottom repeat-x,
	url('/img/background-border-7.png') left bottom repeat-y,
	url('/img/background-border-8.png') right top repeat-y transparent;
}


т.е в конечном результате див с классом border должен нарисовать рамку для контента как на скрине.
Проблема в том что если в див запихнуть текст, рамка рисуется, а если img то картинка наложится на рамку и прячет её. т.е рамка прячется под img.

Задавал вложенному элементу z-index: -1, рамку видно но тогда кликать на ссылку уже не получится.

#####
Что я упустил??

  • Вопрос задан
  • 202 просмотра
Решения вопроса 2
rockfeeler
@rockfeeler
Фронтендер, дизайнер, верстальщик-перфекционист
Для блока background-border дать position: relative, внутри создать абсолютно позиционированный псевдоэлемент на z-index: 1 со всеми стилями, которые сейчас используются для самого background-border. Это позволит не плодить блоки явно, а справиться только средствами css.

Ответ написан
Комментировать
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
Держите https://jsfiddle.net/zy36t1La/

Но разумнее переделать на border-image, тогда хоть картинка будет одна.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы