Css-пронумерованные абзацы в IE7

Я создаю HTML-документ и использую css для нумерации абзацев следующим образом:

    p.numerado:before {
        content: counter(numerado) ". ";
        counter-increment: numerado;
        display: inline-block;
        width: 25mm;
        font-weight: normal;
    }

    p.numerado {
        text-indent: 0mm;
        text-align: justify;
        font-family: "Times New Roman, Times, serif";
        font-size: 11pt;
        margin-top: 0;
        margin-bottom: 0.2em;
        line-height: 1.2em;
        font-weight: normal;
    }
  • Обновлено:это не дубликат из эта нить, потому что моя проблема связана с нумерацией абзацев вместо показа изображений, плюс я не хочу встраивать скрипты в свой HTML, потому что это вызовет его отклонение веб-сервисом, который я собираюсь отправить.

Однако мне нужно показать предварительный просмотр этого внутри элемента управления .NET WebBrowser, который отображает HTML в стиле IE7, а затем стили выше не работают, то есть абзацы с классом numerado не нумеруются и не имеют отступа.

Поскольку конечным местом назначения HTML-документа является текущий Firefox, и я не хочу изменять реестр Windows только для изменения поведения элемента управления WebBrowser, я хотел бы знать, есть ли альтернативный CSS, который я могу использовать, просто ради отображение предварительного просмотра внутри WebBrowser с максимально близким стилем конечного результата, относительно нумерации и отступа этих абзацев.

Вот как это отображается в Firefox:Css-пронумерованные абзацы в IE7

Вот как это отображается в WebBrowser (IE7)Css-пронумерованные абзацы в IE7

Большое спасибо.

"стили выше не работают" довольно расплывчато. В частности, что отображается не так, как вы ожидаете? Поскольку IE7 устарел, маловероятно, что кто-то сможет вам это протестировать. Может быть, поможет снимок экрана, на котором сравниваются результаты IE7 и FF? В конце концов, вам не стоит беспокоиться об IE7 в 2018 году.

jmargolisvt 18.03.2018 14:55

@jmargolisvt, вы правы, пост редактировал, чтобы уточнить. Я хотел бы согласиться с вами, мне не о чем беспокоиться, но это вызвано конкретным сценарием, который я не могу изменить сейчас (то есть мне нужно развернуть приложение Winforms .NET на машинах, где пользователи выиграли '' У меня есть права вносить изменения в реестр, необходимые для того, чтобы WebBrowser работал как более новая версия IE, и MS, в свою очередь, никогда не заботилась об упрощении настройки этого компонента в отношении режимов рендеринга). Спасибо.

VBobCat 18.03.2018 15:14

Я не понимаю. Если этот документ предназначен для отображения в Firefox, почему вас волнует, как он выглядит в элементе управления WinForms WebBrowser для всех вещей?

BoltClock 18.03.2018 15:14

@BoltClock, потому что его предварительный просмотр должен отображаться в окне из приложения, которое генерирует документ (это приложение Winforms .NET), а затем HTML будет отправлен в веб-сервис и будет показан в Firefox, но для других пользователей .

VBobCat 18.03.2018 15:16

Что ж, это довольно прискорбно. Как приложение работает с предоставленным вами CSS? И позволяет ли это сохранять или копировать сгенерированный HTML-код, с помощью которого вы можете просмотреть его в своем любимом браузере?

BoltClock 18.03.2018 15:26

@BoltClock мое приложение генерирует весь HTML, используя тот же CSS, который целевое веб-приложение генерирует в своих собственных документах. Поскольку мои познания в CSS поверхностны, я решил задать этот вопрос, прежде чем уступить необходимость настройки всего документа до версии, совместимой только с IE7, что, похоже, мне все равно придется сделать.

VBobCat 18.03.2018 15:34

Возможный дубликат : after и: before css псевдоэлементы взлома для IE 7

jmargolisvt 18.03.2018 16:08

IE7 - это годы после окончания срока его службы даже для расширенной поддержки и критических функций безопасности. Пожалуйста, рассмотрите возможность прекращения поддержки этого на ваших веб-сайтах и ​​в приложениях.

TylerH 18.03.2018 20:02

@TylerH, достаточно ли установить более высокую версию, как я сделал в своем ответе?

VBobCat 18.03.2018 20:20

@VBobCat Я не понимаю, что вы имеете в виду. Я говорю о том, чтобы не писать код явно для старых / небезопасных браузеров. Решение «X не работает в IE7» всегда должно быть «хорошим. Никто не должен больше использовать IE7». Или IE8, 9 или 10.

TylerH 18.03.2018 20:25

@TylerH, насколько вы совершенно правы, что мне делать, если мне нужно отобразить HTML внутри окна Winforms? Я не могу сейчас отказаться от Winforms. И это необходимо для ответа на конкретную проблему: раньше я сохранял файл .htm в temp и просто вызывал Process.Start поверх него. Затем этому пользователю удалось установить MS Word в качестве обработчика по умолчанию для .htm, этот пользователь продолжал терять браузер среди 237 окон, которые он держал открытыми одновременно ... Извините, я знаю, что мое решение далеко от идеала, но ... .

VBobCat 18.03.2018 20:30

@VBobCat Для ясности, я не пытаюсь отключить вас или сказать, что на ваш вопрос не следует отвечать. Я знаю, что многим разработчикам приходится разрабатывать для конкретной среды и тому подобное. Но было бы упущением, если бы я также не оставил предупреждение для вас или других читателей на случай, если они не знают, что IE7 устарел / устарел / небезопасен. :-)

TylerH 18.03.2018 20:32
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
12
52
1

Ответы 1

Хорошо, я вроде как решил это, выполнив приведенный ниже метод перед загрузкой компонента WebBrowser. Он основан на эта ветка. Будем надеяться, что он не выйдет из строя на пользовательских станциях без прав администратора:

Private Sub AdjustIE()
    Dim appName = Process.GetCurrentProcess().ProcessName + ".exe"
    Dim desiredversionKey = 8000
    Try

        Dim RegKey32 As RegistryKey = Nothing
        RegKey32 = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", True)
        If RegKey32 Is Nothing Then
            RegKey32 = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION")
        End If
        Dim versionKey32 = CInt("0" & CStr(RegKey32.GetValue(appName)))
        If versionKey32 < desiredversionKey Then
            RegKey32.SetValue(appName, desiredversionKey, RegistryValueKind.DWord)
        End If
        RegKey32.Close()
    Catch ex As Exception
        If Debugger.IsAttached Then Stop
    End Try

    If (Environment.Is64BitProcess) Then
        Try
            Dim RegKey64 As RegistryKey = Nothing
            RegKey64 = Registry.CurrentUser.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", True)
            If RegKey64 Is Nothing Then
                RegKey64 = Registry.CurrentUser.CreateSubKey("SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION")
            End If
            Dim versionKey64 = CInt("0" & CStr(RegKey64.GetValue(appName)))
            If versionKey64 < desiredversionKey Then
                RegKey64.SetValue(appName, desiredversionKey, RegistryValueKind.DWord)
            End If
            RegKey64.Close()
        Catch ex As Exception
            If Debugger.IsAttached Then Stop
        End Try
    End If
End Sub

Другие вопросы по теме