Невозможно использовать 3D-преобразования css в Opera 12.16.

графический адаптер NVIDIA Quadro FX 1500 в моей старой системе XP довольно старый и, кажется, не входит в список поддерживаемых Chrome HW; однако мне удалось включить 3D-преобразования в Chrome, используя это:

  1. в адресной строке перейдите на chrome://flags/
  2. Переопределить список рендеринга программного обеспечения -> включить

Теперь ищу аналогичный трюк для включения 3d css в Opera 12.16.

Тестирование выполняется на этой странице: http://jsfiddle.net/amustill/Qh8YV/, которая отображает простой 3D повернутый div. Этот тест проходит успешно в FF, Safari, Chrome, но не работает в Opera.

Аналогичный результат с этим простым тестом:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        .outer {
            background-color: gold;
            width: 200px;
            height: 200px;
            position: relative;

            perspective: 300px;
            perspective-origin: 50% 50%;
            transform-style: preserve-3d;

            -o-perspective: 300px;
            -o-perspective-origin: 50% 50%;
            -o-transform-style: preserve-3d;

            -webkit-perspective: 300px;
            -webkit-perspective-origin: 50% 50%;
            -webkit-transform-style: preserve-3d;
        }
        .inner {
            text-align: center;
            background-color: red;
            width: 100px;
            height: 100px;
            position: absolute;
            top: 50px;
            left: 50px;
            font-family: Arial;
            font-weight: bold;

            transform: rotateY(45deg);
            -o-transform: rotateY(45deg);
            -webkit-transform: rotateY(45deg);
        }
    </style>
</head>
<body>

<div class="outer">
    <div class="inner">
        is this 3d?<br>
        is this 3d?<br>
        is this 3d?<br>
        is this 3d?<br>
        is this 3d?<br>
    </div>
</div>

</body>
</html>

Div не вращается в Opera.

В консоли ошибок Opera я нашел эти сообщения:

        perspective is an unknown property
              perspective: 300px;
  ------------------------^ Inlined stylesheet  3d.html:12
        perspective-origin is an unknown property
              perspective-origin: 50% 50%;
  -------------------------------^  Inlined stylesheet  3d.html:13
        transform-style is an unknown property
              transform-style: preserve-3d;
  ----------------------------^ Inlined stylesheet  3d.html:14
        -o-perspective is an unknown property
              -o-perspective: 300px;
  ---------------------------^  Inlined stylesheet  3d.html:16
        -o-perspective-origin is an unknown property
              -o-perspective-origin: 50% 50%;
  ----------------------------------^   Inlined stylesheet  3d.html:17
        -o-transform-style is an unknown property
              -o-transform-style: preserve-3d;
  -------------------------------^  Inlined stylesheet  3d.html:18
        -webkit-perspective is an unknown property
              -webkit-perspective: 300px;
  --------------------------------^ Inlined stylesheet  3d.html:20
        -webkit-perspective-origin is an unknown property
              -webkit-perspective-origin: 50% 50%;
  ---------------------------------------^  Inlined stylesheet  3d.html:21
        -webkit-transform-style is an unknown property
              -webkit-transform-style: preserve-3d;
  ------------------------------------^ Inlined stylesheet  3d.html:22
        Unrecognized function
              transform: rotateY(45deg);
  --------------------------------------^   Inlined stylesheet  3d.html:35
        Invalid value for property: transform
              transform: rotateY(45deg);
  --------------------------------------^   Inlined stylesheet  3d.html:35
        Unrecognized function
              -o-transform: rotateY(45deg);
  -----------------------------------------^    Inlined stylesheet  3d.html:36
        Invalid value for property: -o-transform
              -o-transform: rotateY(45deg);
  -----------------------------------------^    Inlined stylesheet  3d.html:36
        Unrecognized function
              -webkit-transform: rotateY(45deg);
  ----------------------------------------------^   Inlined stylesheet  3d.html:37
        Invalid value for property: -webkit-transform
              -webkit-transform: rotateY(45deg);
  ----------------------------------------------^

Chrome, Firefox:
Firefox

Opera:
Opera

Вопросы:

  1. ПОДДЕРЖИВАЕТ ЛИ Opera 3D-преобразования?
  2. Если да: в чем может быть проблема - старое HW?, код?
  3. Есть ли обходной путь?

person Gisela    schedule 22.07.2013    source источник
comment
Только что проверил это: Opera: about:config/acceleration/Enable Hardware Acceleration: 1 (значение было 0) -> никакого эффекта   -  person Gisela    schedule 22.07.2013
comment
CanIUse показывает, что Opera 15 поддерживает 3D-преобразования с использованием префикса -webkit. Однако он не дает никакой информации о версиях до 15.   -  person James Donnelly    schedule 22.07.2013
comment
Ого, вот это странно: Help/About говорит мне следующее: Версия 12.16/Сборка 1860/Платформа Win32/ОС Windows XP. Исполняемый файл от 9 июля 2013 года - ему всего 2 недели; Средство проверки обновлений сообщает мне, что версия является последней. НО: есть Opera_15.0.1147.148_Setup.exe. Это официальная версия? Если да, то почему средство проверки обновлений сообщает мне, что у меня установлена ​​последняя версия? Я что-то пропустил? Поскольку я использую Opera для проверки совместимости, мне неудобно устанавливать версию, не рекомендованную механизмом обновления. В любом случае, я совершенно уверен, что Opera 12.x должна поддерживать 3D CSS.   -  person Gisela    schedule 22.07.2013
comment
Это потому, что это две разные ветки, которые поддерживаются отдельно. Opera 15 — это совершенно новый браузер на основе Chromium, старый движок Opera (Presto) был удален вместе со многими другими функциями. my.opera.com/securitygroup/blog/2013/07/ 02/opera-15 О, и нет, Opera 12 (и более ранние версии) не поддерживает 3D-преобразования CSS. dev.opera.com/articles/view/understanding-3d-transforms   -  person ndm    schedule 23.07.2013


Ответы (1)


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

Opera 12 и более ранние версии не поддерживают 3D-преобразования CSS, они доступны, начиная с Opera 15, более или менее нового браузера на основе Chromium.

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

http://my.opera.com/securitygroup/blog/2013/07/02/opera-15 http://dev.opera.com/articles/view/understanding-3d-transforms/

person ndm    schedule 23.07.2013
comment
Ой! - Я не ожидал этого. HTML5 существует уже несколько лет. - person Gisela; 23.07.2013
comment
@Gisela Никто на самом деле не торопился внедрять 3D-преобразования, за исключением WebKit, где он был впервые реализован в 2009 году. IE был следующим браузером с поддержкой, в IE10 в августе 2012 года; Firefox получил поддержку в октябре прошлого года — примерно в то же время, когда был выпущен последний выпуск Opera на основе Presto. - person gsnedders; 28.07.2013