Задать вопрос
Ответы пользователя по тегу CSS
  • Зафиксировать блок внутри кастомного скролла?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    Я реализовывал подобное.
    Нужно привязываться к событиям кастомного скролла и высчитывать:
    1. высоту плашки
    2. высоту всего контента минус паддинг высоты плашки
    3. сколько отскроллилось
    4. вычитать высоту плашки от параметров выше
    5. давать плашке абсолютную позицию с учетом параметров выше

    Обычно кастомные скроллы дают API для высчитывания этого так или иначе, главное – понять к чему привязать расчеты.

    Я делал на slimscroll и customScrollbar.

    На нативном скролле это вообще просто: position: sticky.
    Ответ написан
  • Как правильно оформлять такой бэкграунд?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    В современной верстке есть 100 условий, как дизайнер хочет видеть данный макет в работе. Можно только предположить, что он нарисует "потом", когда будет готов мобильный макет. Поэтому нам нужен путь с наименьшим количеством противоречий и наиболее гибкий. Но при этом у верстальщика сегодня есть большой набор инструментов, чтобы сделать все, не прибегая к скриптам, только силами цсс.
    Я соглашусь с Александр Вейнберг, что нужно сделать флекс на синем фоне, но только для блока с текстом "Education..." и то, что ниже. Имеем примерно следующее, как я бы себе представил:
    <!-- head -->
    <div id="head">
    	<!-- сама, скорее всего, position: fixed,  тут лого и меню -->
    </div>
    <!--/head -->
    
    <!-- top нам нужно чисто для верхнего паддинга, чтобы отошло от хэда -->
    <div id="top">
    
    	<!-- hero -->
    	<div id="hero">
    		<!-- center -- этот блок у нас везде position: relative и z-index: 1 (тут выше, чем image), он центрирует контент (например на 1200, а потом на 960... 768 и т.д.) -->
    		<div class="center">
    
    			<!-- флекс на 100%, align-items: center, padding: 100px 0, ну и поиграть с паддингами можно... -->
    			<div id="hero-contents">
    				<!-- даем ширину макс. 55%, например -->
    				<div id="hero-text">
    					<h1>Education...</h1>
    				</div>
    			</div>
    
    		</div>
    		<!--/center -->
    
    		<!-- hero-image на position: absolute бех z-index, она ниже, чем нужный нам текст -->
    		<div id="hero-image">
    			<!-- картинка на прозрачном фоне (вдруг параллакс захотят или анимацию?) с максимальной шириной (нужно подобрать), чтобы на полэкрана -->
    			<img src="/" alt="">
    		</div>
    		<!--/hero-image -->
    
    	</div>
    	<!--/hero -->
    
    </div>
    <!--/top -->
    
    <!-- content -->
    <div id="content">
    	<div class="section">
    		<div class="center">
    			<!-- контент секции -->
    		</div>
    	</div>
    
    	<div class="section">
    		<div class="center">
    			<!-- контент секции -->
    		</div>
    	</div>
    
    	...
    </div>
    <!--/content -->


    img теперь всегда можно подстроить под нужный макет с помощью object-fit, object-position и ширины/высоты.
    Ответ написан
  • Какой способ подключения шрифтов самый практичный и надежный?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    Я тоже за локальное размещение шрифтов. (Да, бывает, что гугль недоступен, и шрифты не идут с адреса гугль-фонтс).
    Однако рекомендую обработать ttf или otf программкой типа этой, и подключить получившийся цсс.
    Ответ написан
    8 комментариев
  • Как обратиться в элементу jquery?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    $('.block1 .block2')...

    Но лучше дать единый класс для всех элементов, к которым идет обращение, если предполагается делать с ними одно и то же действие.
    Ответ написан
    Комментировать
  • Как убрать обводку с кнопки на :hover, :active, но если через tab, отображалась?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    button {
        outline: none !important; 
    }
    
    input[type="button"]::-moz-focus-inner {
        border: 0;
    }


    А для фокуса нужно придумать свой стиль для кнопки, чтобы было понятно, что она выделена по табу, например:
    button:focus {
    	box-shadow: 0 0 0 2px blue;
    }
    Ответ написан
    Комментировать
  • Mouseenter и mouseleave как реализовать?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    Слишком много ненужного кода. Особенно, когда можно обойтись парой строчек цсс:
    .main-color:hover .item img {
    	transition: opacity .3s ease;
    }
    
    .main-color:hover .item img.item__img-color {
    	opacity: 0;
    }
    
    /* item, который должен оставаться цветным получает класс active */
    .main-color:hover .item img.item__img-color:hover,
    .main-color:hover .item.active img.item__img-color {
    	opacity: 1;
    }
    Ответ написан
  • Поиск всегда должен быть button и в теге form?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    В спецификации HTML5 появился еще атрибут form, который позволяет выносить сабмит за пределы формы:

    <form id="myform" method="get" action="something.php">
        <input type="text" name="name" />
    </form>
    
    <input type="submit" form="myform" />
    Ответ написан
    Комментировать
  • Как наложить блоки в адаптивном сайте?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    Очевидный ответ, использование элементов формы, типа checkbox.
    Что-то типа этого.
    Ответ написан
    3 комментария