Ответы пользователя по тегу Вёрстка
  • Как верстать адаптивный элемент из нескольких картинок?

    tolfy
    @tolfy
    Фирменный стиль
    1. Для адаптива использовать относительные величины: %, vw\vh
    2. Сверстать блок с картинками на SVG
    Ответ написан
    Комментировать
  • Какой выбрать шрифт чтобы был оптимальным для браузеров и safari?

    tolfy
    @tolfy
    Фирменный стиль
    Почти беспроигрышно font-family: system-ui,sans-serif;
    https://codepen.io/tolfy/pen/XWVrNyG
    Ответ написан
    Комментировать
  • Как верстать подобные SVG-фоны?

    tolfy
    @tolfy
    Фирменный стиль
    Для фонов создавайте отдельный лаут. Далее играйте позиционированием, отталкиваясь от ID секций и позиции scroll
    Как пример подобного вот накинута страничка
    Ответ написан
    Комментировать
  • Адаптивная таблица со спойлером?

    tolfy
    @tolfy
    Фирменный стиль
    Если вам не претят прямолинейные и примитивные решения, я бы предложил след. конструкцию, потребуется небольшой JS:
    HTML
    <table>
        <tr><th>..</th></tr>
       <tbody>
        <tr id="foo1" class="close" onclick='toggleClass(this,"open")'><td><div class="line-visible">..</div><div class="line-invisible">..</div></td></tr>

    CSS
    #foo1 .line-visible {
        height: calc(1rem + (padding-top\bottom));
        overflow-y: hidden; // optional
    }
    #foo1 .line-invisible {
        width: 100%
        height: 0;   /* OR ​display: none; */
        word-wrap: break-word;
        overflow-y: hidden; // optional
    }
    #foo1.open .line-visible {
        height: auto;
        overflow-y: visible; // optional
    }
    #foo1.open .line-invisible {
        height: auto;  /* OR ​display: block; */
        overflow-y: visible; // optional
    }

    JS
    function toggleClass(el, className) {
    	if (hasClass(el, className))removeClass(el, className)
    		else addClass(el, className);
    };
    function hasClass(el, className) {
      if (el.classList)
        return el.classList.contains(className)
      else
        return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)'))
    }
    function addClass(el, className) {
      if (el.classList)
        el.classList.add(className)
      else if (!hasClass(el, className)) el.className += " " + className
    }
    function removeClass(el, className) {
      if (el.classList)
        el.classList.remove(className)
      else if (hasClass(el, className)) {
        var reg = new RegExp('(\\s|^)' + className + '(\\s|$)')
        el.className=el.className.replace(reg, ' ')
    }}

    Процесс. Изначально скрываемый элемент line-invisible входит в родителя TR с классом close, передающего элементу высоту 0 (или скрытие блока), при клике на родителя TR ему добавляется класс open , снимающий ограничения по невидимости блока. Повторный клик возвращает ситуацию к началу. Пример кода можно глянуть тут https://antonybark.ru/patterns/js_templates/toggle....
    Т.к. приведённый в примере JS не использует ниуаках библиотек, кроме браузерных, думаю что его можно как-то даже параметризовать под условия конкретного проекта, но это уже вопрос к вашим спецам по JS.
    Ответ написан
    Комментировать
  • Как сверстать блок, в котором другие блоки в ряд занимают 100% его ширины?

    tolfy
    @tolfy
    Фирменный стиль
    Создайте контейнер, входящие в него ряды блоков равны 100% ширины контейнера,
    ширину каждого блока или хардкорьте процентами, или примените js для расчёта.
    Высоту аналогично.
    Чтобы не мучиться расчётами, используйте flex: auto, -shrink, -grow; align stretch
    картинки бэкграундом через cover и contain

    если нужен код, скажите, накидаю
    Ответ написан
    Комментировать
  • Насколько важна "Богатая семантика", в верстке?

    tolfy
    @tolfy
    Фирменный стиль
    Соблюдайте семантику, она важна.
    • доступность контента
    • удобство рефакторинга и экспорта-импорта данных
    • соблюдение стандартов всегда крайне радует в коде коллег
    • рано или поздно вырастите до руководителя, и стандарты станут вашим базисом, без которых управление ..(масса факторов)
    Ответ написан
    Комментировать
  • Как оценить front-end разработчика/дизайнера до начала сотрудничества?

    tolfy
    @tolfy
    Фирменный стиль
    Всего два реальных пути:
    1. Грамотное, обратиться к друзьям и коллегам, нет-ли у них на примете или в запасе скилованного специалиста, с которым имеется опыт работы.
    Ваш профит, - вы знаете коллегу, его личные скилы и запросы, и уже по его характеристике будете знать очень много о кандидате. С друзьями чуть опаснее, но профит в человеческом доверии.
    2. Разместить в профильных группах подробное объявление о вакансии, с требованием к кандидату оставить публичный комментарии с перечнем скиллов и ссылкой на портфолио.
    Ваш профит - цеховики сами "затюкают левых" и их специфическая критика кандидатов (и требований вашей вакансии) поможет вам уточнить ваши требования и описание вакансии (а может и в корне изменить сам запрос).
    Второе как раз вы сделали этим вопросом, если я верно понял вашу идею.
    Ответ написан
    Комментировать
  • Верстать без фреймвороков это значит быть не професионалом?

    tolfy
    @tolfy
    Фирменный стиль
    тема годная )
    если верстак не умеет "писать код руками", применение им бутстрап и прочих "ускоряющих дело" технологий только во вред делу.
    от "яростных" поборников технологий бывает потом ох как немало проблем
    Ответ написан
    Комментировать
  • Расположить шесть DIV в две колонки/три строки. Существует ли решение?

    tolfy
    @tolfy
    Фирменный стиль
    обычный html\css тоже справляется
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    <style type="text/css">
      html{height:100px;margin:0;padding:0;}
      body{margin:0;padding:0;}
      .L1,.R1,.L2,.R2,.L3,.R3{display:inline-block;}
      .L1,.L3,.R2{background-color:#EEE;}
      .L1,.R1,.L2,.R2,.L3,.R3{width:100%;}
      .dr{float:right;width:50%;}
      .dl{float:left;width:50%;}
    @media screen and (max-width : 600px){.dr,.dl{float:none !important;width:100% !important;}
      .L1,.R1,.L2,.R2,.L3,.R3{display:block;}}
    </style>
    </head>
    <body>
      <div class="dl">
        <div class="L1">L1
         <pre><br><br><br><br><br></pre>
        </div>
        <div class="L2">L2
        </div>
        <div class="L3">L3
         <pre><br><br><br><br><br></pre>
        </div>
      </div>
      <div class="dr">
        <div class="R1">R1
        </div>
        <div class="R2">R2
          <pre><br><br><br><br><br></pre>
        </div>
        <div class="R3">R3
        </div>
      </div>
    </body>
    </html>

    пример на codepen
    Ответ написан