Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как создать графическую рамку вокруг компанента?

00 голосов
9
Стоит задача заключить компаненты (новостные блоки, поиск, галерею)в красивые рамки со скругленными углами. Не могу разобраться как это сделать. Реально ли?
спросил 20 Май, 13 от Deos (120 баллов)

9 Ответы

00 голосов
Цитата
Константин Береснев пишет:
Реально ли?

Почему же не реально. Только это с компонентом в принципе не связано. Это только HTML и CSS.

Как варианты мы делаем обычно так
Код
<div>
  <div>
    <div>
     _Код_компонента
    </div>
  </div>
</div>

А дивам соответствующие стили создать. Рамку придеться нарисовать.

Второй вариант: - это только для FF - CSS свойство -moz-border-radius
ответил 20 Май, 13 от FireLuna (580 баллов)
00 голосов
А есть ещё неплохой вариант - скрипт ShadedBorder - маленький, умеет закруглять углы, делать тени, подсветку.
ответил 21 Май, 13 от Yago (360 баллов)
00 голосов
Если предполагается авторесайз по вертикали и совместимость с ИЕ, то лучше заключать компонент в таблицу из 9 ячеек, центральная которой будет контентом, а остальные 8 - рамкой.
ответил 08 Авг, 13 от Eddie (2,060 баллов)
00 голосов
Цитата
Дмитрий Якинцев пишет:
Если предполагается авторесайз по вертикали и совместимость с ИЕ, то лучше заключать компонент в таблицу из 9 ячеек, центральная которой будет контентом, а остальные 8 - рамкой.

С тремя дивами и резайзом по вертикали в IE тоже прекрасно работает даже в IE6
ответил 08 Ноя, 13 от FireLuna (580 баллов)
00 голосов
Как в этих дивах привязаны картинки углов и рамок?
Или дайте пожалуйста пример, если можно.
ответил 15 Фев, 14 от Eddie (2,060 баллов)
00 голосов
Цитата
Дмитрий Якинцев пишет:
Как в этих дивах привязаны картинки углов и рамок? Или дайте пожалуйста пример, если можно.

Пример под рукой нет, но в двух словах

Рамка состоит из трех частей:
1. фон растянутый по вертикали (background:url(_картинка_) repeat-y top left)
2. Полоска сверху с закруглениями (background:url(_картинка_) no-repeat top left)
3. Полоска снизу с закруглениями (background:url(_картинка_) no-repeat bottom left)

внутреннему диву задаем необходимые отступы (padding:5px)

Вертикаль масштабируется по контенту. Работает отлично везде, включая IE6

Учитывая, что рамки в png весят "копейки" можно обойтись двумя дивами (верхний и нихний), просто с запасом взять края
ответил 06 Июнь, 14 от FireLuna (580 баллов)
00 голосов
Есть и несложные плагины jquery для решения этой задачи.

Видел недавно на сайте jquery.
ответил 04 Окт, 14 от ZakonD3D (600 баллов)
00 голосов
Цитата
Виталий Соков пишет:
Есть и несложные плагины jquery для решения этой задачи.

Это конечно есть. Считаю что подобные задачи, которые касаются базового внешнего вида всетаки лучше делать без использования скриптов. Тем более это несложно
ответил 05 Фев, 15 от FireLuna (580 баллов)
00 голосов
Павел, оно при этом не ресайзится по горизонтали :)
Я думал, есть решение на трех дивах для произвольного ресайза и по вертикали и по горизонтали на дивах, аналогично таблице из 9 ячеек.
ответил 19 Май, 15 от Eddie (2,060 баллов)

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

0 голосов
1 ответ
спросил 23 Июнь, 14 от Keh192 (300 баллов)
0 голосов
2 ответов
0 голосов
1 ответ
0 голосов
3 ответов
спросил 29 Март, 14 от mrUhauma (320 баллов)