Если да, эффективно ли он обесценивает свойство visibility
?
(Я понимаю, что Internet Explorer еще не поддерживает это свойство CSS2.)
Сравнение механизмов компоновки
См. также: В чем разница между видимостью: скрытой и отображаемой: none
Если да, эффективно ли он обесценивает свойство visibility
?
(Я понимаю, что Internet Explorer еще не поддерживает это свойство CSS2.)
Сравнение механизмов компоновки
См. также: В чем разница между видимостью: скрытой и отображаемой: none
Вот компиляция проверенной информации из различных ответов.
Каждый из этих свойств CSS фактически уникален. В дополнение к тому, что элемент невидим, они имеют следующие дополнительные эффекты:
collapse events taborder opacity: 0 No Yes Yes visibility: hidden No No No visibility: collapse * No No display: none Yes No No * Yes inside a table element, otherwise No.
Нет.
Элементы с непрозрачностью создают новый контекст стекирования.
Кроме того, спецификация CSS не определяет это, но элементы с opacity:0
являются кликабельными, а элементы с visibility:hidden
не являются.
Нет, нет. Существует большая разница. Они похожи, потому что вы можете видеть через элемент, если видимость скрыта или непрозрачность равна 0, однако
непрозрачность: 0: вы не можете нажать на элементах, расположенных за ним.
видимость: скрытая: вы можете нажать на элементах, расположенных за ней.
Я не уверен полностью, но вот как я просматриваю прозрачность браузера:
opacity: 0.6;
-moz-opacity: 0.6;
filter: alpha(opacity=60);
объекты с видимостью: скрытые все еще имеют форму, они просто arent видны. opacity zero elements все еще можно щелкнуть и отреагировать на другие события.
Я не совсем уверен в этом, но я думаю, что читатели с экрана не читают то, что скрыто для видимости, но они могут читать вещи независимо от их непрозрачности.
Это единственное различие, о котором я могу думать.
При создании пользовательского стиля, который влияет на элементы в contenteditable
, я заметил, что если вы установите что-то в visibility: hidden
, то входная каретка действительно не хочет взаимодействовать с ним. Например, если у вас
<div contenteditable><span style='visibility: hidden;'></span></div>
... тогда кажется, что если вы фокусируете этот div/span, вы не можете на самом деле вводить его. Принимая во внимание, что с opacity: 0
, похоже, вы можете. Я не тестировал это широко, но решил, что стоит упомянуть об этом здесь, поскольку никто на этой странице не говорил о влиянии на ввод текста. Вероятно, это связано с тем, что упоминалось выше в событиях.
То, что говорит Фил, верно.
IE поддерживает непрозрачность, хотя:
filter:alpha(opacity=0);
Свойства имеют разные смысловые значения. В то время как семантический CSS звучит так, как будто это может быть глупо, как говорят другие пользователи, это влияет на такие устройства, как устройства чтения с экрана, где семантика влияет на доступность страницы.