Ответы пользователя по тегу CSS
  • Как открывать в мобильном меню дочерние элементу по клику?

    romich
    @romich
    Frontend разработчик
    Ответ написан
    Комментировать
  • Можно ли сделать внутри блока ссылки некликабельный элемент?

    romich
    @romich
    Frontend разработчик
    Можно. Например я такое часто использую, если в адаптивной верстке мне необходимо на ссылку меню справа повесить span, при нажатии на который будет отменено свойства перехода по ссылке и произойдет выпадение подменю. Но делаю я такое исключительно при адаптиве, причем span помещаю скриптом тоже. Делаю это вот таким образом:
    //Проверка на наличие подменю у левого меню. В случае нахождения добавляем "стрелку" для выпадающего меню
    	$('.left-menu__list .left-menu__item').append( function(indx, val){
    		if($(this).find('.left-menu__list').length != 0)
    		 return '<span class="arrow">&rsaquo;</span>';
    		else
    		 return '';
    	});
    //Окончание секции "Проверка на наличие подменю у левого меню. В случае нахождения добавляем "стрелку" для выпадающего меню"
    //Раскрытие меню при нажатии на "стрелку"
    	$('.arrow').click(function(){
    		$(this).toggleClass('arrow-switch');
    		$(this).parents('.left-menu__item').find('.left-menu__list').toggleClass('left-menu__list--open');
    	});
    //Окончание секции "Раскрытие меню при нажатии на "стрелку"

    Нужным классам прописываю нужные стили.
    .left-menu__list {
        max-height: 0;
        -webkit-transition: 800ms ease all;
        transition: 800ms ease all;
    }
    .left-menu__list--open {
        max-height: 320px;
        -webkit-transition: 800ms ease all;
        transition: 800ms ease all;
    }

    Так я получаю плавное выпадение списка подменю внутри меню, если такой существует.
    Ответ написан
    Комментировать
  • Как реализуется такое меню?

    romich
    @romich
    Frontend разработчик
    Я, конечно, код вам расписывать не буду здесь, но смысл очень простой. Там стоит по скроллу раздавание классов. То есть, опускаемся на 50 пикселей, получаем дополнительный класс на меню, у которого стоит изменение бэкграуна. Потом просто добавляются и убираются активные классы элементам меню (в зависимости от того, насколько вниз опустилась страница). На каждом дополнительном классе стоит свой css.

    jQuery(document).ready(function() {
        jQuery("#scrollup").mouseover(function() {
            jQuery(this).animate({
                opacity: .65
            }, 100)
        }).mouseout(function() {
            jQuery(this).animate({
                opacity: 1
            }, 100)
        }).click(function() {
            $("html, body").animate({
                scrollTop: "0px"
            });
            return !1
        });
        jQuery(window).scroll(function() {
            0 < jQuery(document).scrollTop() ? jQuery("#scrollup").fadeIn("slow") : jQuery("#scrollup").fadeOut("slow")
        })
    });

    #scrollup {
        position: fixed;
        width: 35px;
        height: 35px;
        right: 20px;
        bottom: 40px;
        display: none;
        cursor: pointer;
        background-repeat: no-repeat;
        background-position: -3px -76px;
    background-image: url('data:image/png;base64....)

    Это пример плавного появления кнопки наверх, когда нужно. Здесь все реализовано по такому же принципу для классов меню. У самого меню изначально стоит фиксированная позиция, и ей просто добавляется дополнительный класс, у которого изменяется фон.
    Ответ написан
    Комментировать
  • Как подвинуть в данном случаи border у input?

    romich
    @romich
    Frontend разработчик
    немного в другое, это в какое?
    Вы можете к примеру добавить padding-bottom: 10px, следовательно border будет ниже на 10px
    Ответ написан
    2 комментария