Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   VML в качестве фона (https://javascript.ru/forum/xhtml-html-css/12130-vml-v-kachestve-fona.html)

FINoM 02.10.2010 03:03

VML в качестве фона
 
К сожалению не нашел другого варианта куда написать, кроме как сюда. Вопрос следующий: как можно использовать изображение в формате VML в качестве фона? Имеется в виду обычное присваивание стиля элементу на странице, например, background:url(v_image.vml) либо через data, а не вставка vmlframe в код как объекта.

monolithed 02.10.2010 10:48

только так:
<v:background fillcolor="black"></v:background>

можно, конечно еще так попробовать к #id обратиться через css, но в любом случае объект создавать прийдется
<background id="id" fill="true" />

А вообще зачем что-то такое мудрить ели, VML только IE поддреживает?

FINoM 02.10.2010 17:24

VML нужен для создания эффектов, которые в других браузерах работают, а в ИЕ нет. Например, закругленные уголки, радиальный градиент, линейный градиент с цветами больше двух и произвольным направлением (сейчас градиент можно составить только из двух цветов и только горизонтальный или вертикальный через filter). Вставлять как обьект - это не хорошо, так как придется создавать несколько слоёв, что приводит к геморрою и говнокоду.

monolithed 02.10.2010 18:24

Все что вы перечисли поддерживают только некоторые современные браузеры на примере свойство border-radius: Internet Explorer 9, Firefox 4, Opera 10.5, Safari 5+, Chrome (все версии)

Для кроссбраузерности нужно использовать SVG + VML

В помощь:
Raphaël
ExplorerCanvas
Force-SVG

FINoM 02.10.2010 22:16

Я в курсе, спасибо.

tenshi 04.10.2010 22:26

вставить всё-равно придётся. изначально или яваскриптом.
можно уменьшить говнокод через shapetype, например:
http://github.com/sairi-na-tenshi/i-..._shapetype.vml - подключается один раз на страницу
потом достаточно вставить только <v:shape type="#i-cpanel-shape" class="i-cpanel-shape"></v:shape> и к элементу добавится фон


Часовой пояс GMT +3, время: 01:13.