Ответы пользователя по тегу CSS
  • Как сделать border с картинкой у которой есть фон?

    @Qoragar
    Если (насколько понял) проблема в том, что before/after накладываются на контент (кнопки) — есть один хитрый костыль, как убрать их ПОД контент блока (правда, могут быть проблемы с обратной совместимостью для совсем старых/редких браузеров).

    На родительском div:
    ...
    background-image: url("ВертикальнаяРамка.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% calc(100% - (ВысотаВерхнейРамки×2)px);
     /*Рассчитываем высоту вертикального центрального блока
    за вычетом верхней и нижней рамки*/
    ...
    transform-style: preserve-3d;
     /*Последний параметр нужен для возможности
    манипулирования before/after по глубине,
    поскольку с ними не работает обычный z-index*/


    На div::before:
    width: 100%;
    height: ВысотаВерхнейРамки;
    background-image: url("ВерхняяРамка.png");
    background-position: center;
    background-repeat: no-repeat;
    ...
    /*Позиционируем по верхнему краю блока*/
    ...
    transform: translateZ(-1px); /*Уходит ПОД весь контент*/


    На div::after:
    width: 100%;
    height: ВысотаВерхнейРамки;
    background-image: url("ВерхняяРамка.png");
    background-position: center;
    background-repeat: no-repeat;
    ...
    /*Позиционируем по нижнему краю блока*/
    ...
    transform: scaleY(-1) translateZ(-1px); /*Отражается вертикально и уходит ПОД весь контент*/


    Вот как-то так видится...
    Ответ написан
    Комментировать
  • При загрузке картинки этот блок не имеет размера, как исправить?

    @Qoragar
    Чтобы место под картинку заранее резервировалось на странице — надо жёстко задать ширину и высоту изображения (или его контейнера) через атрибуты тега или в свойствах CSS.
    Ответ написан
    1 комментарий