Задать вопрос
  • Div, который выглядит по-разному в каждом браузере?

    @itsjustmypage
    Outline это контур элемента с внешней его стороны, то есть сразу за border. В отличие от border он никак не влияет на элементы, их ширину и расположение. Ключевое слово inset в свойстве outline: inset 100px green; устанавливает этот контур в виде псевдотрехмерной рамки за счёт осветления правой и нижней границ и затемнения левой и верхней относительно указанного цвета. Ширина 100px, цвет зелёный.

    Баг создаёт свойство outline-offset: -125px;, которое задаёт смещение контура. При положительном значении контур будет расширяться во все стороны. А при отрицательном будет сжиматься внутрь элемента.

    Спецификация CSS Basic User Interface Module Level 3 в статусе рекомендации говорит о том, что контур элемента со свойством outline-offset при отрицательном значении не должен становиться меньше, чем двукратная вычисляемая ширина контура. То есть если в примере у нас размеры элемента 100x100 пикселей и контур задан у нас шириной 100px, то при outline-offset: -125px; он должен сжаться внутрь элемента на 125px со всех сторон, а спецификация визуально ограничивает сжатие до outline-offset: -50px; (по 50px внутрь с каждой стороны элемента). То есть контур должен просто сойтись вместе со всех сторон, образуя квадрат в нашем случае и насколько больше не ставь отрицательное значение, больше он сжиматься не должен. Но реализация в браузерах не учитывает это поведение и выдаёт непонятные фигуры, если отрицательное значение слишком большое.

    https://www.w3.org/TR/css-ui-3/#outline-offset
    5b447ea6c9061121780680.jpeg

    Поведение при отрицательном outline-offset должно быть как на гифке. Если дальше уменьшать значение, ничего меняться не должно. AMQ4hnM.gif
    Ответ написан
    1 комментарий
  • Эталонные примеры ООП js кода?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    TodoMVC – реализация одного и того же простого приложения с использованием различных фреймворков, языков, компилируемых в JS и чистом JS.
    Ответ написан
    Комментировать
  • На каком языке пишутся сложные сайты?

    Jump
    @Jump
    Системный администратор со стажем.
    Их не пишут, нельзя вот так вот взять и написать yotube.
    Во первых не стоит называть такие проекты сайтами. Сайт это просто аккуратно оформленная страничка с данными доступная по протоколу http.
    Т.е вордовский документ размещенный в сети интернет это и есть сайт.

    А то что вы назвали - vk.com, imhonet, youtube это не сайты.
    Это программно аппаратные комплексы.
    Т.е нужны сервера, датацентры размещенные в ключевых точках, нужна система обеспечивающая взаимодействие этих серверов.
    Это продукт труда множества системных администраторов, программистов, инженеров, электриков, маркетологов, и.т.д..
    Ответ написан
    10 комментариев
  • Как сочетаются flex-basis flex-grow и flex-shrink?

    bugo_aneo
    @bugo_aneo
    Верстальщик по жизни, буддист, кофеман
    СВОЙСТВА!!! flex-basis flex-grow и flex-shrink
    flex-basis - это та ширина, будем называть так, которая неотъемлима у элемента. Не хотите ее юзать - используйте min-width.
    flex-grow - это "жадность" того или иного элемента. Т.е. сколько свободного пространства он съест, по сравнению с соседом (Спека: Определяет, сколько пространства может занимать флекс внутри контейнера. По дефолту = 0). Вспоминаем ФБоксовский способ прижатия футера к низу:
    .wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    }
    .content {
    flex: 1 0 auto;
    }
    .footer {
    flex: 0 0 auto;
    }

    и flex-shrink - это то, как будут сжиматься элементы, если места хватать не будет. Антагонист flex-grow. По дефолту = 1, в отличие от flex-grow = 1 (Это ТОЛСТЫЙ намек)
    Спека: Устанавливает коэффициент сжатия флексов в контейнере и задаёт, насколько элемент будет уменьшаться по отношению к другим флексам, чтобы разместить все элементы в одну строку

    Базис задавать НАДО! если желаете адаптивности, при заданном flex-wrap: wrap;
    Спека: Свойство flex-basis определяет основу флекса, которая является начальным размером элемента.
    ВОПРОСЫ?!
    https://webref.ru/css/flex-basis
    https://webref.ru/css/flex-grow
    https://webref.ru/css/flex-shrink

    Нужны ответы? Берете простеньки макетик, а-ля Бутстрап и верстаете весь!!! на флексах. После 5-й верстки наступит Дзен! ИМХО!
    Ответ написан
    Комментировать
  • Django и маршрутизация без указания явного url?

    @immaculate
    Программист-путешественник
    Такая мини CMS уже встроена в Django, называется Flatpages. Можно посмотреть как она устроена — там очень простой код.

    А еще лучше использовать Wagtail, на сегодняший день — это лучшая CMS для Django.
    Ответ написан
    Комментировать
  • Как правильно обрабатывать ошибки и исключения?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если я правильно понял функционал

    class AppException extends Exception {}
    
    class Test{
      public function create(array $data){
        if(empty($data['message'])){
          throw new AppException('Сообщение не может быть пустым');
        }
      }
    }
    
    $test = new Test();
    
    try{
      $test->create(array('message' => 'v'));
      // redirect
    }catch(AppException $e){
      echo $e->getMessage();
    }


    Идея в том, что при использовании исключений, никаких ручных проверок делать не надо. Если исключения не было - значит всё нормально. А если было, то код попросту не будет исполнен.
    Ответ написан
    1 комментарий
  • Как это сверстать?

    @McBernar
    Самое лучшее решение — отобрать у дизайнера компьютер.
    Это я вам как дизайнер говорю.

    Кажется, что <pre> будет самым простым вариантом.
    Ответ написан
    1 комментарий
  • PHP ORM для бизнес приложений?

    artemylapko
    @artemylapko
    Symfony, Doctrine developer. Немного js и python.
    Doctrine. Возможно в начале будет не очень легко, нужно только выбросить из головы всякие active record и т.д. Но когда вникнешь в суть, уйти от доктрины не сможешь.
    Ответ написан
    6 комментариев
  • Как правильно передать переменную в mixin (SCSS)?

    mtvphnx
    @mtvphnx
    Двигаю пиксели, играюсь со шрифтами
    Блоки контента, переданные в миксин, вычисляются в той же области видимости, где определён этот блок, а не миксин. Это значит, что локальные переменные миксина не могут быть использованы в передаваемом блоке контента и переменные будут восприняты как глобальные - источник.
    Ответ написан
    4 комментария
  • Как сформировать версию продукта?

    rockon404
    @rockon404
    Frontend Developer
    В npm такое соглашение:
    1.0.0 - начальная стабильная версия
    1.0.1 - patch release, небольшие исправления, функциональность не меняется
    1.1.0 - minor release, добавление новой функциональности, сохраняется поддержка старой функциональности
    2.0.0 - major release, новая функциональность, не сохранена поддержка прерыдущих версий

    [link]
    Ответ написан
    1 комментарий
  • Почему нет профсоюза IT-работников?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Imho все адекватные люди аполитичны и предпочитают тратить время на зарабатывание денег.
    В текущих реалиях проще эмигрировать, чем тратить время на это вот все.

    А про забастовку, ну право смешно. Вы реально считаете что правительство рассматривать it отрасль как социально значимую? Это скорее что-то непонятное, мешающее свету из телевизора проникать глубь народных масс.

    Тем более что государственных то it компаний практически нет. Будете бастовать внутри своей коммерческой структуры - никому кроме этой структуры вы не навредите.

    Поднимите столько хайпа что государство обратит внимание на регулирование работников - вот тут то вы и взвоете по настоящему.
    Ответ написан
    10 комментариев
  • С JQuery на чистый Javascript код?

    drugoi
    @drugoi
    Front-end Developer
    Советую приглядываться к youmightnotneedjquery

    var cart = {};
    
    function addToCart() {
        var articul = this.dataset.id;
        cart[articul] = 1;
        console.log(cart);
    }
    
    document.getElementById('addToCart').addEventListener('click', addToCart);
    Ответ написан
    Комментировать
  • Прием денег на сайте. Не рубли. Как просто и быстро?

    @boss_lexa
    paypal
    для saas paddle.com, fastspring, payproglobal
    через Payoneer's Billing Service можно принимать оплату картой или через европеский IBAN,
    но кажется только вручную можно выставлять счета
    Ответ написан
    Комментировать
  • Различия между min.css и просто .css?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    .css - файл стилей
    .min.css - сжатый файл стилей (удалены переносы и пробелы)
    .css.map - файл сохраняющий структуру исходного файла (Less, sass, stylus и т.п.) для отладки
    Ответ написан
    Комментировать
  • Различия между min.css и просто .css?

    zooks
    @zooks
    Frontend
    Это минифицированная версия CSS. Оригинал чаще всего находится в виде файлов SASS или LESS.
    .map - это карта для восстановления отступов и переносов строк, когда вы откроете файл в браузере.

    При использовании сжатия трафика Gzip, минификация файлов необязательна, но также ускоряет загрузку.
    stackoverflow.com/questions/807119/gzip-versus-minify
    Ответ написан
    Комментировать
  • Чем отличается модуль от плагина под wordpress?

    LenovoId
    @LenovoId
    svg, css,js
    наверно тем что Модулей для WP нету и их называют Plugin
    Ответ написан
    Комментировать
  • И все-таки PHP 7 быстрее Python 3?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    PHP7, к сожалению для Вас, действительно быстрее Pyphon 3.
    Проводили бенчмарк-тесты у себя в лабе.
    Но это не значит, что завтра Pyphon 4 не будет быстрее PHP7!
    Ответ написан
    4 комментария
  • И все-таки PHP 7 быстрее Python 3?

    Tark
    @Tark
    Pyramid'альный мир
    Но какая разница? У вас ведь скрипты ещё и с базами данных общаются?
    Предположим, написали вы сервис на чистом РНР без фреймворков, а для теста написали аналогичный сервис на Python/Django. Предположим, что на чистом РНР можно получить 10к запросов/сек, а на Django - жалкие 4к. Печаль.

    Но ваш сервис, например, будет использовать 5 запросов к БД, каждый из которых будет отрабатываться за 1мс. 5мс - чисто на запросы к БД.

    Итого: на РНР запрос будет выполняться за 5.0001мс, на Python/Django - за 5.00025мс... Неужели есть какая-то разница?
    Ответ написан
    6 комментариев