Ответы пользователя по тегу CSS
  • Селектор для родителя?

    @DmitrySorokin
    Как вариант, если нужна стилизация lable в зависимости от состояния инпута, можно поместить label и input в один блок:
    <div>
    	<input type="radio" id="example">
    	<label for="example"></label>
    </div>


    И в css писать правило:
    input:checked + label{
        background: red;
    }

    Клик по лэйблу так же меняет состояние радио инпута.
    Те стили, которые вы хотели использовать для label, используйте для родительского блока.
    Кастомный инпут можно сделать с помощью псевдоэлементов label'a, а настоящий инпут сделать невидимым
    Ответ написан
    Комментировать
  • Меню-слайд, есть аналоги?

    @DmitrySorokin
    Если есть желание, можете попробовать использовать в этом меню вместо css свойства translateX(x) - свойство translate3d(x,y,z), это, возможно, ускорит скорость отрисовки анимации, так как будет задействовано аппаратное ускорение на мобильных устройствах. Или попробуйте добавить свойсво will-change :)

    почитать можно тут: frontender.info/css-will-change-property
    Ответ написан
    Комментировать
  • Выравнивание в списке по вертикали?

    @DmitrySorokin
    Попробуйте задать всем элементам меню свойства display: inline-block; и vertical-align: middle;
    Ответ написан
    Комментировать
  • Можно ли без хаков выровнять select по правому краю?

    @DmitrySorokin
    как вариант, можно обернуть селект в div, и добавить псевдо-элемент обертке. А селекту добавить отступ справа.

    Стрелку можно обрезать, сделав селект шире родителя, родителю добавить overflow.
    Ответ написан
  • Что отвечает за ширину этого меню? Как растянуть его на всю ширину блока?

    @DmitrySorokin
    у элемента ul выставлена ширина 50% от родительского блока. И с помощью margin, он центрирован.
    Ответ написан
    Комментировать
  • Что изучить по верстке под конкретный проект?

    @DmitrySorokin
    Все что ты описал и придется изучить. HTML + CSS > SCSS > JS > GULP. Это универсально. По поводу фрэймворка, смотря какой проект, может фреймворк и не понадобится. Если с нуля, то вопрос про изучение стоит не часах, а в месяцах, особенно это качается js (хотя смотря что нужно сделать, может хватит подключения плагинов, тогда можно разобраться достаточно быстро).
    Ничего нового не скажу но, первоначальное понимание можно получить с помощью codeacademy.com + htmlacademy.ru. Потом можно начать уже что-то делать, начнут появляться вопросы как что сделать, гуглишь, спрашиваешь = учишься. Можно параллельно видео курсы смотреть(например от Sorax).
    Ответ написан
    Комментировать
  • Как выравнить элемент по вертикали?

    @DmitrySorokin
    Можно добавить функцию на событие изменения окна браузера. B внутри вызывать вашу функцию:
    $( window ).resize(function() {
    alignCenter();
    });
    Можно еще добавить небольшой таймаут на функцию, чтобы она не отрабатывала многократно при ресайзе, а с задержкой в 200 -300 милескунд. - будет меньше грузить браузер.

    Но вообще, я бы посоветовал решить это с помощью css (нужно всегда стараться максимально использовать css+html для стилиации(ваш случай) и только в крайнем случае js).
    Например, с использованием инлайн блоков и псевдоэлемента :
    (источник https://css-tricks.com/centering-in-the-unknown/)
    /* Родительский блок  */
    .block {
      text-align: center;
      white-space: nowrap;
    }
     
    /* Псевдоэлемент, который занимает всю высоту родителя. Относительно его центра будет выравниваться позиция выравниваемого элемента */
    .block:before {
      content: '';
      display: inline-block;
      height: 100%;
      vertical-align: middle;
      margin-right: -0.25em; /* Adjusts for spacing */
    }
    
    /* Выравниваемый элемент с неопределенной шириной и высотой */ 
    .centered {
      display: inline-block;
      vertical-align: middle;
      width: 300px;
    }

    В той же статье можно найти и другие способы
    Ответ написан
    Комментировать
  • Как получить ссылку для перехода на страницу с активацией определенного раздела галереи (сделанного на jquery)?

    @DmitrySorokin
    Так, если по простому совсем делать, то можно попробовать такой вариант:
    1. Дописать всем ссылкам на главной странице в атрибут href соответствующий параметр(можно также реализовать через куку, но такой вариант будет проще):
    href="gallery.html"
    заменить на
    href="gallery.html?kl1"
    href="gallery.html?kl2"
    href="gallery.html?kl3"
    ...
    href="gallery.html?obiv"

    итд.

    2. Далее, уже на странице с галереей нужно этот параметр прочитать из урла. Если параметр совпадает, симулируем нажатие на соответствующий фильтр:
    $( document ).ready(function() {
        if(window.location.href.indexOf("kl1") > -1) {// ищем в урле параметр
         $('[data-category="kl1"]').click(); //симулируем нажатие на выбор категории на странице с галереей
        } else if(window.location.href.indexOf("kl2") > -1){
    $('[data-category="kl2"]').click(); //симулируем нажатие на выбор категории на странице с галереей
    } .... (window.location.href.indexOf("obiv") > -1){
    $('[data-category="obiv"]').click(); //симулируем нажатие на выбор категории на странице с галереей
    } 
    });
    Ответ написан
    Комментировать
  • Как настроить правильно карусель?

    @DmitrySorokin
    в файле custom.js в коде:
    /*====================================
    SLIDER SCRIPTS
    ======================================*/
    $('#carousel-slider').carousel({
    interval: 2000 //TIME IN MILLI SECONDS
    });

    замени число 2000 на большее. Это число в миллисекундах. То есть 1000ms = 1 секунде. У тебя сейчас интервал прокрутки получается равен 2 секундам
    Ответ написан
    Комментировать