• Почему псевдоэлемент :before с position:absolute в IE ведёт себя не так, как в других браузерах?

    Carduelis
    @Carduelis
    Web-developer, front-end, js, less
    У псевдоэлемента с position: absolute, не указаны значения left, top, а это означает, что браузер использует свои значения по умолчанию. А они могут вполне разниться от браузера к браузеру.
    Разное поведение может обсулавливаться следующем:
    когда значение по умолчанию не стоит, браузер отправляет обычный элемент к левому краю элемента с position: relative, или к краю страницы, если таковых элементов нет. Crhome видит разницу между элементами и псевдоэлементами и отправляет псевдоэлемент к краю элемента-родителя, а не элемента с position: relative.
    @SelenIT2 уточнил:
    Дело в том, что, по стандарту, что угодно с position:absolute и без top/right/left/bottom размещается там, где оно оказалось бы без position:absolute. А псевдоэлемент размещается перед контентом родительского элемента. А когда контент центрирован, возникает неоднозначность, где именно это «перед контентом» — до или после свободного места, добавленного для центрирования. По логике здравого смысла, полагаю, всё-таки ближе к тексту (т.е. Хром более прав).

    Как оказалось, не важно: это псевдо элемент или просто элемент, IE ведет себя также. Суть в центровке контента codepen.io/anon/pen/jPmEjK
    Поэтому стоит всегда добавляеть пару атрибутов left/top (или других по оси x и оси y ), чтобы позиционирование было однозначным.
    Бывает, что иногда в списках position: relative не удается поставить родителю, и приходится не использовать одно из значений left/top, оставляя поведение элемента на усмотрение браузера, но в таком случае лучше изменить html-код, чтобы можно было использовать у родительского элемента списка relative, а у дочернего - absolute
    Ответ написан
    1 комментарий
  • Text-decoration-style:? ;?

    Carduelis
    @Carduelis
    Web-developer, front-end, js, less
    Просто потому, что такое свойство вообще мало где поддерживается. Скоре вообще не поддерживается.
    caniuse.com/#feat=text-decoration
    htmlbook.ru/css/text-decoration-style
    Ответ написан
    Комментировать
  • Адаптивный флаг Японии как правильно сделать?

    Carduelis
    @Carduelis
    Web-developer, front-end, js, less
    jsfiddle.net/Carduelis/t20j0bdg

    Используя padding в процентах, мы можем контролировать высоту блока (и соотношение сторон) в зависимости от ширины окна. И точно работает во всех браузерах, в отличие от единиц vh/vh.

    Есть некоторые трудности при высчитывании нужных значений left/top/width/height/padding, но используя препроцессоры - все легко превращается в переменные и ничего пересчитывать не нужно: одна переменная будет отвечать за соотношение сторон флага, вторая переменная - размер круга по центру.
    Ответ написан
    Комментировать
  • Как группировать товары на сайте построенном на OpenCart?

    Carduelis
    @Carduelis
    Web-developer, front-end, js, less
    1) Используйте категории и подкатегории. Товар может быть привязан сразу к нескольким категориям
    2) На странице редактирования товара можно открыть вкладку "Связи" и в самом низу настроить подходящие/релевантные/похожие товары. Они будут отображаться на карточке товара в качестве рекомендуемых.
    3) Чтобы страница каталога отображала не просто список товаров, а сразу еще и рекомендуемые (например, мини-товары рядом с основным), то нужен программист. Придется править и model, и view, и controller. Так что без backend-программиста в opencart не обойтись.
    Последнее предложение стоит запомнить всем тем, кто хочет сделать сайт на opencart/osstore.
    Ответ написан
  • Как починить position fixed баг при вызове клавиатуры?

    Carduelis
    @Carduelis Автор вопроса
    Web-developer, front-end, js, less
    "Решением проблемы" в моем случае оказалось банальное добавление класса при фокусе на input'ах и textarea, и, соответственно, удаление этого класс при расфокусе.
    Когда класс добавлен, fixed-элемент становится absolute, ставится ему вполне конкретное положение, и все довольны.
    Это применили на продакшене, так как долгий гуглеж привел к тому, что fixed правильно работать не будет, и это точка. А из-за того,что fixed сам становится в странное положение по осям x и y, было решено это обозначить "железно", через добавление класса. В итоге, фиксированная шапка при фокусе на инпутах, упрыгивала на самый верх страницы, становясь absolute;
    Ответ написан
    Комментировать