Ошибка рендеринга в опере? - PullRequest
9 голосов
/ 26 марта 2011

Кто-нибудь знает что-то еще об ошибке в набросках Opera?

Проверьте это:

http://jsfiddle.net/BYgMr/

Я использую последнюю версию Opera, я проверил на ДВУХ разных машинах с разными версиями Opera, все они отображают это как:

http://img156.imageshack.us/img156/3209/divs.png

Что это? В любом FF / Safari / Chrome контур находится ниже серой области, но в Opera он все еще выше (даже если div parent намного ниже!).

Поиск Google выдает только ссылку "Opera 9.5+ CSS: рендеринг контура поверх абсолютного положения", но не хочет открываться.

Какие-нибудь временные исправления? А может я слепой и где-то допустил ужасную ошибку?

Ответы [ 5 ]

5 голосов
/ 21 июня 2011

Это скорее недостающая спецификация в Opera, а не ошибка.Ошибка состоит в том, что что-то не работает в соответствии со спецификациями, а Opera следует стандартам W3 в соответствии с шагом 10 - http://www.w3.org/TR/CSS21/zindex.html)

В Opera отсутствует спецификация, потому что нет способа установить стиль выше последнего нарисованного блока, а именно"контур".

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

Я отправил отчет об ошибке в Opera (DSK-339836).Надеюсь, они дадут нам способ нарисовать что-то выше последней нарисованной вещи (т.е. набросок)

3 голосов
/ 31 октября 2011

Это не ошибка!

http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines

Контур, созданный со свойствами контура, рисуется "над" рамкой, то есть контур всегда находится сверху и не влияет на положение или размер ящика или любых других ящиков. Следовательно, отображение или подавление контуров не вызывает переполнение или переполнение.

Контур не должен быть свойством "просто еще одной границы". Это больше необходимо для отладки или создания визуальных подсказок пользовательского интерфейса вокруг определенных элементов.

1 голос
/ 29 марта 2011

Это не «ошибка» как таковая, а разница в том, как была реализована спецификация. Контур выделяет края коробки. Вот и все. Он не должен использоваться в качестве границы. Если вы посмотрите внимательно, вы увидите, что только красный контур перекрывает другой блок, а темная граница - нет.

Есть ли причина, по которой вы используете границу и контур и перекрывающиеся элементы div? Это кажется странным вариантом использования. Если вам нужно использовать и то, и другое, вы можете использовать box-shadow, чтобы получить желаемый эффект в большинстве последних браузеров: box-shadow: 0px 0px 0px 1px red;.

0 голосов
/ 04 августа 2013

Во-первых: я вижу много разговоров и никаких интеллектуальных ответов.

Во-вторых: свойство структуры в опере, кажется, имеет положительный Z-индекс и остается поверх всех других Z-индексов.

В-третьих: я искал исправление или сделку с ним, но вместо этого получил мусор и мнения, и мы все знаем, на что похожи мнения.

Я вижу это как проблему кода браузера, которая разделяетконтур от элемента и дает ему положительный Z-индекс выше всего остального.Все другие браузеры, которые я пробовал, работают нормально, включая мобильные браузеры, кроме Opera.Когда-то я увлекался Opera как мобильным браузером, но теперь вижу больше недостатков, чем что-либо еще.

Единственное исправление, которое я вижу на данный момент, - это скрипт идентификатора браузера, который удаляет свойство структуры для браузера Opera.

0 голосов
/ 02 февраля 2012

Да, это ошибка!

Контуры CSS 2.1 отличаются от границ следующими способами: Контуры не занимают места.Контуры могут быть непрямоугольными.

Так что нигде не говорится, что контуры должны быть поверх других блоков.Границы не делают этого!То, что контур нарисован над его собственной рамкой, вполне нормально, но это так.Еще одна коробка выше с более высоким z-индексом, и она не должна быть видимой.

Я не могу даже красиво показать всплывающее всплывающее окно над div с контуром, оно просвечивает!Это просто неправильно.Ни один другой браузер не делает это так.

...