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

    @cssfish
    Плохое знание основ - причина больших бед
    С чего вы взяли что медиа-запросы не работают без тега meta viewport???
    Единственное, что происходит без этого тега - мобильники задают некую виртуальную ширину устройства, обычно это 980px, и в нее рендерят сайт.

    Соответственно вам никто не мешает прописать например@media only screen and (max-width: 990px) {}
    и там стили адаптива свои накидать. Просто держите в уме, что оно отрендерится в 980 а потом запихается в 360 например, т.е. размеры задавайте с учетом масштаба, вот и все.
    Ответ написан
    Комментировать
  • Как правильно зафиксировать меню с вкладками над контентом внутри страницы?

    @cssfish
    Плохое знание основ - причина больших бед
    1. замеряем сколько Px от верах страницы до табов (a)
    2. при скролле замеряем насколько проскроллили (b)
    3. если b > a, добавляем блоку табов класс is-active (например)
    4. в стилях описываем его положение, проще всего через fixed
    Ответ написан
    Комментировать
  • Как скрыть ul первого и второго уровня, оставить только ul 3 уровеня вложенности?

    @cssfish
    Плохое знание основ - причина больших бед
    значит надо скрывать не UL а все LI кроме родительских по отношению к вашему меню 3 уровня.
    плюс скрывать текст/контент в самих родительских LI.

    это все конечно коряво но вполне реализуемо...
    Ответ написан
    Комментировать
  • Как отделить блок линией?

    @cssfish
    Плохое знание основ - причина больших бед
    Так и не понял, вам на десктопе или на мобильных (точнее на тач устройствах)?
    Т.к. видов скролла два:
    1) привычный "дектопный", который часть вьюпорта отъедает. Под него вы ничего не сунете. Только если использовать скриптовый скролл вместо него, тогда да.
    2) скролл "поверх" блока, как на тач девайсах. там вашу задачу решать вообще не надо, скролл и так будет сверху.
    Ответ написан
  • Как придать div вот такую форму?

    @cssfish
    Плохое знание основ - причина больших бед
    вырезка через clip-path, закругление потом через svg #round . Правда, не везде это хорошо смотрится
    Ответ написан
    Комментировать
  • Объясните, какая ширина в пикселях у элемента с классом .item в следующем фрагменте кода?

    @cssfish
    Плохое знание основ - причина больших бед
    Если что-то мешает сделать html страничку и проверить, то прикидываем логически:

    Если другого css нет, получаем:

    1) по умолчанию box-sizing: content-box, поэтому "внутренняя" ширина у wrapper останется 1000px, а общая - 1100px.

    2) ширина list-items заявлена в 50%, рассчитывается от "внутренней" ширины родителя
    1000 * 0.5 = 500px
    но по умолчанию этому элементу задан отступ. В каждом браузере свой, возможно.
    В FF например это 40px паддинг слева. Но так как у нас box-sizing: content-box, то опять же "внутренняя" ширина у list-items останется 500px, а внешняя 500+40(или другое)

    3) ширина item заявлена в 70%, рассчитывается от "внутренней" ширины родителя, получаем
    500 * 0.7 = 350px

    У li вроде никаких отступов по умолчанию нет, поэтому это и будет ответом...
    Ответ написан
    Комментировать
  • Уменьшить размер видео?

    @cssfish
    Плохое знание основ - причина больших бед
    взять ffmpeg.exe и нагуглить пару команд для требуемого качества сжатия
    Ответ написан
    1 комментарий
  • Можно ли сделать так, чтобы абсолютный элемент не вылазил за футер?

    @cssfish
    Плохое знание основ - причина больших бед
    даже закрытое меню сдвигает футер
    -конечно, visiblity ведь элемент никуда не девает из потока.

    если волнует дыра снизу то Overflow должно помочь.

    а если волнует что пункты меню не видно - тогда надо js делать, проверять что все входит. если нет, двигать куда-то, скролл внутрь ставить и тд
    Ответ написан
    Комментировать
  • Как сверстать такие кнопки?

    @cssfish
    Плохое знание основ - причина больших бед
    пока нет времени сделать пример.

    но это можно сделать комбинацией clip-path (для угла) и border-radius (для скругления корректировочного). Это на самом блоке.

    А основное скругление (на обертке) через svg фильтр filter: url(#round);

    а сам фильтр в svg на страницу положить
    <defs>
    	<filter id="round">
    		<feGaussianBlur in="SourceGraphic" stdDeviation="2" result="blur"></feGaussianBlur>
    		<feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 19 -9" result="goo"></feColorMatrix>
    		<feComposite in="SourceGraphic" in2="goo" operator="atop"></feComposite>
    	</filter>
    </defs>
    Ответ написан
    Комментировать
  • Как сделать чтобы текст рос вверх?

    @cssfish
    Плохое знание основ - причина больших бед
    если absolute, то прижимаем его к низу bottom- и он будет расти вверх.
    а если flex то flex-end
    Ответ написан
    Комментировать
  • Как нанести метки на картинку?

    @cssfish
    Плохое знание основ - причина больших бед
    1) делаем блок с фиксированным соотношением сторон (ratio), равным соотношению сторон картинки
    2) картинку внутрь, на 100% по ширине и высоте
    3) блоку relative
    4) метки делаем например как блоки с фоном. тоже с фикс соотношением сторон. Ширину прописываем как % от общего блока
    5) каждой дополнительно даем свое имя или модификатор. Расставляем как abs блоки, позиционируя через %
    6) соотв-но вешаем js который по клику выводим справа нужный текст (сравнивая с именем/модом/дата-атрибутом данного флажка)

    если все это неясно то проще заказать разработку
    размер устройства в дюймах тут вообще не важен
    Ответ написан
    Комментировать
  • Как разместить анимированное svg в background?

    @cssfish
    Плохое знание основ - причина больших бед
    дело в соотношении сторон (ratio).
    svg, как видно невооруженным взглядом, имеет rato 1426 : 793
    У вас он вставлен в блок некой высотой (как я предполагаю, т.к. примера или кода не привели полного), и получается что: ширина плавает, высота фиксированная. Т.е. ratio плавает, и часть svg то подрезается, то наоборот "остается пустое пространство".
    Чтобы это решить, svg надо затолкать в блок с фиксированным ratio. Делается он просто:
    .background {
      position: relative;
    }
    .background:before {
      content:"";
      display: block;
      height: 0; // Опционально
      padding-top: calc( 100% * 793 / 1426 );  // Y / X   
    }


    и растягиваем svg внутри него

    .background svg {
      display: block;
      position : absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%; //  опционально
      height: 100%; // опционально
    }


    но это в случае если background блок самостоятельный. а у вас я гляжу он тоже куда-то растягивается, тогда ratio надо не на него вешать а на обертку, либо структуру как-то менять
    Ответ написан
  • Как скрыть кнопку "показать весь текст" если сумарно текста меньше чем 2 строки?

    @cssfish
    Плохое знание основ - причина больших бед
    у абзаца
    1) узнать font-size и line-height, перемножить
    2) измерить высоту
    3) разделить [2] на [1]
    4) используем результат [3] для ветвления...
    Ответ написан
    Комментировать
  • Как перенести текст в "pre", учитывая переносы строк?

    @cssfish
    Плохое знание основ - причина больших бед
    1.
    $(document).ready(function() {
      $('div br').replaceWith('\n');
      var text = $('div').text().trim();
       $('pre').text(text);
    });


    2.
    $(document).ready(function() {
      var text = $('div').html().trim().replace("<br>", "\n").replace("<p>", "").replace("</p>", "");
      $('pre').text(text);
    });


    3.
    $(document).ready(function() {
      var text = $('div').clone().find("br").replaceWith("\n").end().text().trim(); // clone чтоб документ не портить
      $('pre').text(text);
    });


    Почему replaceAll не сработало, не знаю. По идее это reverse - функция для replaceWith и работать должна идентично. В любом случае, лучше не влиять на исходный html и обработку строк делать внутри js. Вариант 3 например
    Ответ написан
    Комментировать
  • Почему из-за наличия элементов в блоке, эти самые блоки сьезжают?

    @cssfish
    Плохое знание основ - причина больших бед
    скорее всего это верхний маржин у linktxt. смотрите в отладчике
    Ответ написан
    Комментировать
  • Как расширить блок влево при увеличении содержимого?

    @cssfish
    Плохое знание основ - причина больших бед
    Если используете absolute то указывайте, куда ему прилипать, влево или вправо. И у казание ширины и translate вообще не нужно
    Ответ написан
    Комментировать
  • Почему спозиционированный элемент при свойстве rotate меняет местоположение?

    @cssfish
    Плохое знание основ - причина больших бед
    потому что transform только один, а у вас в нем был translateY а стал rotate.
    Так что либо пишете оба, как у RAX7, либо применяете трансформации к разным сущностям.
    Т.е. если translateY к обертке например (тогда вместо :after надо некий блок), а rotate уже к стрелке
    Ответ написан
    Комментировать
  • Почему изображение выходит за пределы родительского блока?

    @cssfish
    Плохое знание основ - причина больших бед
    Потому что минимальное значение для детей в flex&grid берется по контенту.
    Т.е. что бы не вылазило, переопределяем минимальное значение, в данном случае - высоту.
    .parent > * { min-height: 0; }

    Далее аналогично для внутреников правой...
    .parent .item-2 div { min-height: 0; }
    Ответ написан
    Комментировать
  • Верстка по БЭМ. Как будет правильнее?

    @cssfish
    Плохое знание основ - причина больших бед
    Вся суть коммерческой разработки в том, что ты вообще не знаешь, где и что будет использоваться повторно. Поэтому с ростом безумия входящих требований растет безумие кода, в плане игры "на шаг впереди".

    Не видя проекта - рассматривать эти оба варианта бессмысленно, т.к. можно набросать еще всяких разных, и они тоже будут рабочими. да хоть такой:

    <div class="pop-up">
      <img src="#" alt="Картинка" class="pop-up__img ">
      <textarea class="pop-up__textarea textarea" cols="30" rows="10"></textarea>
      <button class="button pop-up__button">
        <span class="button__text pop-up__button_text"></span>
      </button>
    </div>
    Ответ написан
  • Как правильно сверстать блок с иконками?

    @cssfish
    Плохое знание основ - причина больших бед
    флоаты, флэксы, grid, код без фидла, мде...
    может, тогда уж сразу на канвасе нарисуем?

    и никто не заметил что там вообще-то нумерованный список?
    Его и верстаем обычными блоками
    а про иконки Юпитер Макс выше вам дело говорит )
    Ответ написан