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

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

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

Чтобы устранить этот негативный эффект надо отменить вывод маркера, воспользовавшись свойством list-style :

ol, ul { list- style: none; }

С этого начинается формирование списка с уникальными маркерами и значками. Ниже представлены наиболее распространенные способы представления уникальных и одинаковых для всех браузеров значков элементов списка.

Маркеры через картинки

Наиболее распространенный и простой способ указать для списка маркер – это воспользоваться бекграундной картинкой (свойство background). Метод основывается на указании в таблице стилей фонового рисунка для элементов списка, а также внутренний отступ (свойство padding), который зарезервирует место для нового маркера. Ниже представлен пример кода:

ul { list- style: none; } li{ background: url(путь- к- картинке) no- repeat; padding- left: 20px; }

Этот способ радует своей уникальностью, так как позволяет установить абсолютно любой маркер в виде картинки. Ниже показано, как наш код будет выглядеть в браузере:

Главная положительная сторона этого метода заключается в 100%-ной кроссбраузерности, но, не смотря на это, есть маленький недостаток. Использование картинки – это дополнительное обращение к серверу.

Маркеры с помощью before

Существует вариант, когда можно обойтись без картинки, если дизайнерские условия позволяют это. Такое очень часто допускается при оформлении основного контента, когда список маркируется простейшими элементами, типа квадратик ( ) или стрелочка (→). Таким образом, мы подошли к тому, что в качестве маркера может выступать какой-либо подходящий спецсимвол.

Далее возникает вопрос, каким образом спецсимволы вставлять в элементы списка. Естественно не в ручную, иначе это был бы очень затянутый и нудный процесс, плюс ко всему еще и трудоемкий. Выйти из этой ситуации нам поможет псевдоэлемент before , применение которого привязывается к определенному селектору, что позволяет автоматизировать наш процесс присвоения маркеров из спецсимволов. Такое решение подходит к большинству браузеров, с учетом того, что для IE , будет прописан expression .

Ниже представлен пример кода, который формирует маркированный список с коротким тире:

li{ this. innerHTML = "-" + this. innerHTML) /*хак для IE*/ } li: before{ content: "\201 3" ; }

На практике получим такую картину:

Напоминаю о том, что в реальных условиях хаки подключаются условными комментариями .

При использовании этого метода главное знать кодировку необходимого значка. Также стоит отметить, что для expression спецсимволы прописываются числовой комбинацией или мнемоническим кодом. Что касается свойства content , то в этом случае вначале ставится слеш, а потом идет запись шестнадцатеричного кода.

Использование insertAdjacentHTML

Вышеупомянутый способ не всегда корректно отрабатывает в легендарном IE (не смотря на хак). Точнее, «костыли» для этого браузера не до конца доработанные. Более действенным является метод, основанный на insertAdjacentHTML , ниже представлен код этого метода:

li{ //z-index: expression(runtimeStyle.zIndex = 1, insertAdjacentHTML("afterBegin", "-")); }

Маркеры, нарисованные CSS-свойствами

Некоторые квадратные маркеры можно нарисовать с использованием некоторых CSS-свойств. К примеру, квадрат с цветной заливкой рисуется через свойство background-color , а квадратик в виде рамки – border (кстати говоря, квадрат с заливкой можно нарисовать и таким способом). Пример записи в CSS-файле:

li{ //z-index: expression(runtimeStyle.zIndex = 1, this. innerHTML = "

" + this. innerHTML) /* хак для ие6 и 7 */ } li: before, . listMarkerBackColor{ background- color: #539127; width: 7px; height: 7px; content: "" ; float: left; margin: 6px 6px 0 0 ; overflow: hidden; } html . listMarkerBackColor{ margin- right: 1px; /* исправляем маленткий косяк в IE6 */ }

Таким образом рисованный CSS-свойствами маркер будет выглядеть на практике:

Использование before и first-child в комплексе

Такой метод частенько применяется при оформлении хлебных крошек на сайте. Кто не знает о чем речь, смотрим на пример ниже

В таком случае каждая ссылка отделяется друг от друга спецсимволом, но перед первым элементом никакого спецсимвола быть не должно. В этом нам поможет псевдокласс first-child , который обращается только к первому элементу списка. В кодовом виде это должно выглядеть так

HTML

< ul> < li>< a href= "#" > Главная < li>< a href= "#" > Блог < li>< a href= "#" > CSS < li> Валидный код при использовании target= "_blank"

li: before{ content: "\21 92" ; } li: first- child: before{ content: "" ; }

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

В каких браузерах работает?

6.0+ 4.0+ 9.5+ 3.0+ 3.0+ - -

Выводы

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

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

Стандартом пятой версии html поддерживается 3 вида списков: нумерованные списки, маркированные списки и списки определений . Также предоставляется возможность вкладывать списки друг в друга, создавая вложенные многоуровневые списки .

Нумерованный список

Нумерованный список - это набор элементов (пунктов списка), имеющих определённую последовательность. Каждый пункт нумерованного списка имеет уникальный маркер, указывающий на порядок следования данного пункта относительно других пунктов списка. По умолчанию маркерами пунктов нумерованного списка являются числа. Первый пункт идёт под числом 1, второй под числом 2 и так далее.

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

Для создания нумерованных списков в HTML используется тег

    , внутри которого располагаются элементы списка с данными. Каждый пункт списка указывается с помощью тега
  1. :

    Нумерованный список:

    1. Кофе
    2. Чай
    3. Молоко
    Попробовать »

    Примечание: тег

      в качестве дочерних элементов может содержать только теги
    1. , то есть всё содержимое нумерованного списка должно размещаться внутри элементов
    2. . Тег
    3. , в свою очередь, не имеет ограничений на содержимое, поэтому в нём можно размещать абзацы, картинки, ссылки, таблицы, другие списки и т.д.

      Маркированный список

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

      Для создания маркированных списков в HTML применяется тег

        , внутри которого располагаются элементы самого списка (как и в случае с нумерованными списками используется тег
      • , который содержит в себе всё отображаемое содержимое списка):

        Маркированный список:

        • Кофе
        • Чай
        • Молоко
        Попробовать »

        Виды маркеров

        Виды маркеров нумерованного списка можно изменить с помощью атрибута type . Данный атрибут поддерживает пять видов маркеров:

        Маркированные списки не имеют атрибута type , поэтому средствами HTML изменить вид маркера у маркированного списка не получится. Для изменения вида маркера, в этом случае, можно воспользоваться CSS свойством list-style-type , с помощью которого, помимо значения по умолчанию, можно выбрать ещё два вида маркера: circle или square .

        Изменение маркеров у списков:

        Заголовок страницы

        Нумерованный список c атрибутом type="a":

        1. Яблоки
        2. Бананы
        3. Лимоны

        Нумерованный список c атрибутом type="I":

        1. Яблоки
        2. Бананы
        3. Лимоны

        Виды маркеров маркированных списков:

        • Яблоки
        • Бананы
        • Лимоны
        • Яблоки
        • Бананы
        • Лимоны
        Попробовать »

        CSS свойство list-style-type , помимо видов маркеров для маркированных списков, имеет множество различных видов маркеров и для нумерованных списков. Но не всегда изменения одного стандартного вида маркера на другой бывает достаточно для того, чтобы красиво оформить список. Для оформления списков лучше использовать CSS, который позволяет не только изменять вид маркера, но и заменять маркеры на картинки, контролировать их расположение и управлять отступом. Как всё это делать вы можете посмотреть .

        Горизонтальный список

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

        Чтобы создать горизонтальный список, надо для пунктов списка прописать CSS свойство display со значением inline или inline-block , в зависимости от того, какие ещё свойства вы собираетесь использовать.

        Заголовок страницы

        Нумерованный список

        1. Яблоки
        2. Бананы
        3. Лимоны

        Маркированный список:

        • Яблоки
        • Бананы
        • Лимоны
        Попробовать »

        После этого все пункты списка выстроятся в одну строку. Обратите внимание, что у пунктов списка пропадут маркеры и между ними не будет даже пробела, но отступ слева у списка останется.

        Как горизонтальный список превратить в горизонтальное меню, вы можете посмотреть .

        - 4.5 out of 5 based on 2 votes

        Очень часто определенную информацию на сайте необходимо представить в виде списков.

        Списки позволяют упорядочить и систематизировать различную информацию и представить ее для посетителя в удобном виде.

        Списки в HTML могут быть трех разновидностей: маркированные списки, нумерованные списки и списки определений. Рассмотрим, как их создавать по порядку.

        Маркированный список.

        Данный вид списка используется наиболее часто. Маркированный список в HTML создается при помощи тегов

        • . При этом напротив каждого элемента списка добавляется маркер, по умолчанию это маркер в виде кружка. При помощи тегов создается контейнер, внутри которого располагаются элементы списка: .

          Код маркированного списка будет выглядеть так:

          • Вариант такой
          • Вариант сякой
          • Вариант эдакий

          Можете попробовать создать HTML страничку, используя данный код и у вас, в результате получится следующий список:

          Как вы можете заметить, каждый элемент списка располагается с новой строки, при этом слева, сверху и снизу создаются определенные отступы. Каждый пункт списка начинается с маркера, в качестве маркера может использоваться закрашенный кружок (используется по умолчанию), окружность или квадратик. У тега

            есть атрибут type, при помощи которого, и задается стиль маркера. Данный атрибут имеет следующие значения:

            • disc - круг;
            • circle - окружность;
            • square - квадрат.

            Значение disc используется по умолчанию.

            Пример создания маркированного списка с маркерами в виде окружности:

            • Вариант такой
            • Вариант сякой
            • Вариант эдакий

            В результате список примет, следующий вид:

            Создание маркированного списка с маркерами в виде квадратиков:

            • Вариант такой
            • Вариант сякой
            • Вариант эдакий

            Список будет иметь вид:

            Атрибут type можно применять не только к тегу

              , но и к тегу
            • . Таким образом можно создать список с разнообразными маркерами.

              • Вариант такой
              • Вариант сякой
              • Вариант эдакий

              В результате получится следующее:

              Нумерованные списки.

              Нумерованные списки в HTML представляют собой списки, в которых каждый пункт имеет порядковый номер, создаются нумерованные списки при помощи тега

                и вложенных в его тегов
                1. Первая строчка
                2. Вторая строчка
                3. Третья строчка

                Выглядит такой список следующим образом:

                По умолчанию нумерация производится арабскими цифрами. Но у тега

                  есть атрибут type, при помощи значений которого нумерацию можно делать заглавными (type="A") или строчными (type="a") латинскими буквами, римскими цифрами в верхнем (type="I") и нижнем (type="i") регистре.

                  Ниже приведены сокращенные варианты кода, и вид нумерации который может быть в том или ином случае.

                  Вид списка:

                  Вид списка:

                  Нумерация строчными буквами латинского алфавита:

                  Вид списка:

                  Вид списка:

                  Вид списка:

                  Список определений в HTML.

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

                  . Тег
                  создает контейнер для списка, тег
                  устанавливает термин, а тег
                  описание или определение термина.

                  Записывается данный список следующим образом:

                  Термин 1
                  Определение термина 1
                  Термин 2
                  Определение термина 2
                  Термин 3
                  Определение термина 3

                  В результате получится следующий список:

                  Как вы можете видеть, при этом создаются соответствующие отступы для термина и текста определения.

                  Вложенные или многоуровневые списки в HTML.

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

                  Например, вот код, при помощи которого в элементы маркированного списка вложены нумерованные списки.

                  • Вариант такой
                    1. Первая строчка
                    2. Вторая строчка
                    3. Третья строчка
                  • Вариант сякой
                    1. Первая строчка
                    2. Вторая строчка
                    3. Третья строчка
                  • Вариант эдакий
                    1. Первая строчка
                    2. Вторая строчка
                    3. Третья строчка

                  Свойство list-style-type устанавливает вид маркера. Вот таблица допустимых значений для этого свойства:

                  Значение Пример
                  disc
                  • Пункт списка
                  circle
                  • Пункт списка
                  square
                  • Пункт списка
                  decimal
                  • Пункт списка
                  decimal-leading-zero
                  • Пункт списка
                  lower-roman
                  • Пункт списка
                  upper-roman
                  • Пункт списка
                  lower-alpha
                  • Пункт списка
                  upper-alpha
                  • Пункт списка
                  georgian
                  • Пункт списка
                  • Пункт списка
                  • Пункт списка
                  cjk-ideographic
                  • Пункт списка
                  • Пункт списка
                  • Пункт списка
                  none
                  • Пункт списка

                  В таблице я указал два весьма необычных свойства: georgian и cjk-ideographic . Эти свойства используются регионально. Есть ещё несколько похожих любопытных значений этого свойства, например armenian или hiragana , но все их перечислять нет смысла.

                  Теперь пример использования этого свойства:

                  Свойство list-style-type.

                  1. Первый пункт.
                  2. Второй пункт.
                  3. Третий пункт.

                  Обратите внимание, мы превратили нумерованный список

                    в маркированный.

                    Рисунок 1. Свойство list-style-type.

                    Обязательно обратите внимание на значение none , это значение убирает маркеры вообще. Это свойство часто используется для форматирования списков при помощи CSS.

                    Свойство list-style-type достаточно простое, как и остальные свойства по работе со списками.

                    Свойство list-style-image устанавливает символом маркера графический файл.

                    Свойство list-style-image..gif"); } </style> </head> <body> <ul> <li>Первый пункт.</li> <li>Второй пункт.</li> <li>Третий пункт.</li> </ul> </body> </html> </p><p>Вот результат работы этого кода:</p> <img src='https://i1.wp.com/komotoz.ru/uroki/css/example/images/lists_2.png' height="190" width="374" loading=lazy> Рисунок 2. Свойство list-style-image. <p>Мы видим, что теперь маркеры списка отмечены графическим файлом .</p> <h2>Свойство list-style-position</h2> <p>Перед тем, как приступить к изучению этого свойства, более детально изучим модель форматирования элемента <ul> .</p><p> <!DOCTYPE html> <html> <head> <title>Форматируем список.

                    • Первый пункт.
                    • Второй пункт.
                    • Третий пункт.

                    Вот что мы видим:

                    Рисунок 3. Форматируем блок
                      .

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

                    • , обрамлённого красной границей. Это может привести к неожиданным результатам, вот например обнулим внутренние отступы
                        .

                        Форматируем список.

                        • Первый пункт.
                        • Второй пункт.
                        • Третий пункт.

                        Вот что мы получим:

                        Рисунок 4. Форматируем блок
                          .

                          Теперь маркеры списка вышли за пределы контейнера

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

                            Лучше бы поместить их внутрь контейнера

                          • . Это бы решило данную проблему. Вот для этого и существует свойство list-style-position .

                            Свойство list-style-position устанавливает положение маркера относительно блока

                          • . Это свойство имеет два значения:

                            По умолчания используется значение outside .

                            Применим это свойство к нашему примеру и поместим маркеры в блок

                          • , установив этому свойству значение inside .

                            Свойство list-style-position.

                            • Первый пункт.
                            • Второй пункт.
                            • Третий пункт.

                            Вот что мы получили:

                            Рисунок 5. Свойство list-style-position.

                            Теперь маркеры списка вложены в блок

                          • .

                            Свойство list-style

                            Свойство list-style является сокращённой формой, позволяющей использовать значения всех трёх предыдущих свойств.

                            Пример: сделаем картинку маркером и поместим маркер внутрь блока пункта списка.

                            Свойство list-style.

                            • Первый пункт.
                            • Второй пункт.
                            • Третий пункт.

                            Вот результат:

                            Рисунок 6. Свойство list-style.

                            Мы в одном свойстве list-style указали два значения: положение маркера и путь графичекого файла маркера.

                            Свойство list-style используют чаще всего, даже для задания одного значения. Оно короткое, его легко написать.

                            Рецепты CSS по теме

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

                            С элементом

                              связаны следующие особенности:

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

                                На рис.1 показан результат примера, иллюстрирующий приведённые особенности маркированного списка.

                                Рис. 1. Вид маркированного списка

                                Вид маркера

                                Маркеры могут принимать один из трёх видов: закрашенный кружок (по умолчанию), незакрашенный кружок и квадрат. Для выбора типа маркера используется свойство list-style-type или универсальное list-style (пример 1). Применяются следующие значения:

                                • disc - маркеры в виде закрашенного кружка;
                                • circle - маркеры в виде незакрашенного кружка;
                                • square - квадратные маркеры.

                                Пример 1. Изменение вида маркера

                                Списки

                                • Сепульки
                                • Сепулькарии
                                • Сепуление

                                В примере показано создание маркированного списка, где в качестве значка маркера используется небольшой однотонный квадрат. Хотя количество значений ограничено тремя, это не значит, что в нашем распоряжении всего три вида маркера. Существует множество спецсимволов, которые с успехом могут выступать в качестве значка маркера. «Прикрутить» их непосредственно к

                              • не получится, поэтому придётся действовать в обход. Для этого прячем маркеры списка с помощью свойства list-style со значением none и в тексте перед содержимым
                              • добавляем свой собственный символ с помощью псевдоэлемента ::before . В примере 2 в качестве такого маркера выступает треугольник.

                                Пример 2. Использование::before

                                Списки

                                • Сепульки
                                • Сепулькарии
                                • Сепуление

                                Результат данного примера показан на рис. 2. Поскольку использование свойства list-style со значением none не убирает маркеры совсем, а только скрывает их от просмотра, то список получается смещённым вправо. Чтобы избавиться от этой особенности, в примере добавляется свойство text-indent с отрицательным значением. Его задача - переместить текст левее на один символ.

                                Рис. 2. Произвольные маркеры в списке

                                Символ не обязательно должен быть в шестнадцатеричном формате, его можно вставить и непосредственно в текст. Главное, сохранить документ в кодировке UTF-8 и чтобы редактор её поддерживал. Сами символы и их коды можно взять, например, из LibreOffice Writer (рис. 3).

                                Рис. 3. Выбор символа в LibreOffice

                                Список с рисованными маркерами

                                Стили позволяют установить в качестве маркера любое подходящее изображение через свойство list-style-image . В качестве значения используется относительный или абсолютный путь к графическому файлу, как показано в примере 3.

                                Пример 3. Использование изображения в качестве маркера

                                Списки

                                • Сепульки
                                • Сепулькарии
                                • Сепуление

                                Рисунок лучше всего выбирать небольшого размера, чтобы не превращать элементы списка в подрисуночные подписи. На рис. 4 показан результат действия примера по использованию в качестве маркеров небольших картинок.

                                Рис. 4. Рисунок в качестве маркера

                                Применение list-style-image обладает некоторыми недостатками:

                                • рисунок нельзя сдвинуть вверх или вниз;
                                • в разных браузерах положение рисунка относительно текста может отличаться.

                                Этих недочётов можно избежать с помощью свойства background , оно устанавливает фоновое изображение. Для каждого элемента списка

                              • мы убираем исходные маркеры и устанавливаем фоновую картинку без повторения. А чтобы текст не выводился поверх рисунка, смещаем его вправо через padding-left (пример 4).

                                Пример 4. Использование background

                                Ul { margin-left: -1em; } li { list-style: none; background: url(images/bullet.png) no-repeat 0 2px; padding-left: 20px; }

                                Положение текста и маркера

                                Существует два способа размещения маркера относительно текста: маркер выносится за границу элементов списка или обтекается текстом (рис. 5).



                                inside outside

                                Рис. 5. Размещение маркеров относительно текста

                                Чтобы управлять положением маркеров, применяется свойство list-style-position . Оно имеет два значения: outside - маркеры размещаются за пределами текстового блока (это значение по умолчанию) и inside - маркеры являются частью текстового блока и отображаются в элементе списка (пример 5).

                                Пример 5. Изменение положения маркеров

                                Списки

                                • Перед началом работы проверьте наличие оборудования, входящего в комплект 3BM.
                                • При отсутствии одного или нескольких периферийных устройств следует сразу же обратиться к техническому персоналу ВЦ.
                                • После осмотра визуальными методами своего рабочего места можно осторожно включить питание 3BM.

                                Результат данного примера показан на рис. 6.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png