Обнаружьте Поддержку браузера для display:inline-блока

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

Sub x()

Dim ListText As String
Dim FindText(1 To 2) As String
Dim Onecell As Range

FindText(1) = "Name"
FindText(2) = "Surname"

For i = LBound(FindText) To UBound(FindText)
    For Each Onecell In Range("A1:AA1")
        If InStr(UCase(Onecell.Text), UCase(FindText(i))) > 0 Then
            ListText = ListText & vbNewLine & Onecell.Address(RowAbsolute:=False, ColumnAbsolute:=False) & " | " & Onecell.Value
        End If
    Next Onecell
    MsgBox ListText, vbQuestion, FindText(i)
Next i

End Sub

8
задан Brant Bobby 2 March 2009 в 17:46
поделиться

4 ответа

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

1
ответ дан 5 December 2019 в 06:39
поделиться

Ну, вот то, что можно пойти, если Вы хотите сделать это просто путем исследования bavhiour браузера w/JavaScript вместо сниффинга агента пользователя:

Настройте сценарий тестирования и сценарий управления. С, скажем, следующей структурой:

  • отделение
    • отделение w/содержание "тест"
    • отделение w/содержание "test2"

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

Альтернативный ответ:

Можно также использовать getComputedStyle, чтобы видеть, как браузер рассматривает CSS данного элемента. Так, в теории Вы могли добавить элемент с "дисплеем: встроенный блок", и затем проверяет computedStyle, чтобы видеть, выжил ли он. Только проблема: IE не поддерживает getComputedStyle. Вместо этого это имеет currentStyle. Я не знаю, функционирует ли currentStyle тождественно (по-видимому, он функционирует так же к поведению, которое мы хотим: игнорирование "недопустимых" значений).

12
ответ дан 5 December 2019 в 06:39
поделиться

Согласно диаграммам QuirksMode, единственные основные браузеры, не поддерживающие inline-block IE6 и 7. (Ну, они поддерживают его, но только для элементов, которые имеют собственный компонент display тип inline.) я просто предположил бы, что это поддерживается, и затем примените обходное решение для IE6/7 с помощью условных комментариев.

(Примечание: я игнорирую Firefox 2 отсутствие поддержки inline-block и принятие подавляющего большинства пользователей обновило до FF3, но краткий поиск с помощью Google не раскапывал чисел для резервного копирования этого. YMMV.)

Если определение поддержки со стороны JavaScript является Вашей единственной опцией однако, необходимо будет отступить к сниффингу агента пользователя. Класс YAHOO.env.ua из библиотеки YUI является удобным блоком кода, который Вы могли скопировать и использование. (Это - лицензируемый BSD, не зависит от других частей библиотеки YUI и является только приблизительно 25-30 строками без комментариев),

7
ответ дан 5 December 2019 в 06:39
поделиться

Кстати: Есть аккуратный способ реализовать кросс-браузерные inline-блокировки в IE6+, FF2+, Opera и WebKit только с помощью CSS. (Не действует CSS, но только CSS.)

.
3
ответ дан 5 December 2019 в 06:39
поделиться
Другие вопросы по тегам:

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