Jump to content

Igor Schnaider

Expert
  • Content Count

    752
  • Joined

  • Days Won

    72

Igor Schnaider last won the day on December 27 2020

Igor Schnaider had the most liked content!

Community Reputation

169 Хорошая

About Igor Schnaider

  • Rank
    alien
  • Birthday 07/04/1993

Information

  • Sex
    мужской

Recent Profile Visitors

2,587 profile views
  1. Скорее всего, особенности работы движка. Firefox принимает естественную, а не действительную ширину изображения. Из-за этого и распирает обертку. Тут ведь цикличная зависимость получается: высота изображения зависит от контейнера → изображение вычисляет ширину с учетом соотношения сторон → контейнер должен получить теперь эту ширину. WebKit или какие там сейчас движки, по-видимому, пересчитывают эту ширину (последний этап), FF – нет. Как исправить? Зависит от задачи. Для чего вам эта обертка нужна. Используется ли как-то? Как вариант, позиционировать само изображение... Повторю, зави
  2. Грубо говоря, потому что new просто создает новый объект на основе конструктора, а Object.create – с указанием прототипа. В первом случае в объекте tom инициализируются свойства name, age и gender, но у него не будет определен метод greet. // it's ok tom.name; tom.age; tom.gender; // but Person.greet.call(tom); Во втором случае (Object.create) метод greet будет найден в цепочке наследования (у прототипа).
  3. Ну старые версии HTML вообще содержали много презентационных элементов, которые со временем заменили соответствующими CSS свойствами (типа <i>, <b> и все такое). Они были исключительно про представление, не про значение. Здесь явно та же история, только речь про атрибут. Однако с упорядоченным списком у атрибута type помимо представления имеется и семантика. Предположу, что в этом причина, почему для <ul> он obsolete, а для <ol> – нет.
  4. Вам нужно выложить код вместе с разметкой. И делайте это в песочнице, чем такой простыней. Быстрее помогут.
  5. Именно в этом примере ничего не делает. В вашей callback функции контекст this не используется вообще никак, поэтому thisArg ни на что не влияет. Вот, сравните: const arr1 = ['a', 'b', 'c']; const arr2 = [1, 2, 3]; function each(arr, cb, ctx) { for (let i = 0, l = arr.length; i < l; i++) { cb.call(ctx, arr[i], i, arr); } }; const cb = function(item, i, arr) { console.log(this[i] + item); } each(arr1, cb, arr1); // "aa bb cc" each(arr1, cb, arr2); // "1a 2b 3c" p.s. Эта cb() функция только для примера здесь. Смысла в такой реализации, конечно, нет.
  6. На MDN в принципе неплохая документация по методам в языке, почитайте. (По существу если, по 5 элемент, не включая его.)
  7. `Array.prototype.slice` – не мутирующий метод. Он не изменят массив, на котором вызывается, а возвращает новый. В примерах, где вы присваиваете этот новый массив, в цикле обхода по-прежнему обращаетесь к оригинальному, вот и вся проблема.
  8. Ну BEM – это вообще в целом про компонентный подход. Это примерно то, как мы сейчас все на реакте или вьюхе делаем. Рассматривать BEM только как соглашение по наименованию неправильно. Кстати, буквально недавно Гриненко на стриме как раз об этом рассказывал (ютуб).
  9. Ну вообще, здесь имеет смысл смотреть в сторону связки представления с моделью данных. По-хорошему стоит использовать какую-нибудь библиотеку с поддержкой data-binding. Я тут набросал, чтобы идею передать, не для прода))
  10. Почитайте про делегирование событий. p.s. Правильнее сделать контролы все-таки кнопками, а не span (с точки зрения семантики).
  11. Не надо себе задачу усложнять. Целиком всю картинку на фон ставьте и вращайте целым блоком ее. Вращение текстовых блоков компенсируйте отрицательным вращением вокруг своей оси.
  12. Можете попробовать использовать пользовательские свойства: .component { border: 1px solid var(--theme-main-color); } .component_type_warning { --theme-main-color: red; } .component_type_success { --theme-main-color: green; }
  13. 1. Отрицательным верхним или нижним полем (смотря у кого забирать). 2. Картинку внутри кругов-блоков можно спозиционировать абсолютно с выходом по размерам за пределы своего контейнера.
×
×
  • Create New...