Общее 2 Flashcards
Что нужно всегда добавлять карточкам товара, чтобы они были одинаковой высоты при изменении их содержимого?
- обернуть дополнительным блоком каждую карточку.
- задать этой дополнительной оболочке display:flex;
Сама карточка станет высотой с новую оболочку. - кнопка “купить” и, мб, цена - пришиты абсолютом ко дну
- Высоту считать с помощью js (складывать высоту всех объектов)
Почему блокам всегда желательно задавать display: inline-block?
Тогда его ширина будет зависеть от содержимого и её не нужно будет ограничивать, что плохо для адаптивности не только к ширине экрана, но и к изменениям от пользователя.
Почему и когда картинки лучше оборачивать отдельным блоком?
Чтобы можно было задать ему ширину и картинка получала его размеры вне зависимости от исходных размеров картинки, но об этом уточнять у заказчика.
Чему может мешать event.preventDefault();?
Это может мешать переходу по ссылке, если на неё повешено какое-то действие и эта команда event.preventDefault();
Почему нельзя писать так и что писать вместо?
<p>текст<span>ещё текст</span>снова текст</p>
Нельзя, так как придётся перебивать с помощью !important; текст в спане и в результате использования вордпресса (например, p style=text-align) вёрстка может конкретно поплыть. Лечение: если внутри <p> нужен <span>, то добавлять оставшемуся тексту в параграфе также свой спан и всем спанам задавть свои классы.</span></p>
Если нужно добавить новый элемент внутрь flex-контейнера и не нарушать уже созданное позиционирование внутри него, что делать?
Юзать absolute, так как он выпадает из общего потока. И передавать его высоту в паддинг секции.
Какие дополнительные инструменты использовать в разработке?
Обязательно юзать встроенную лупу - Magnifier, особенно с подложенным в корень макетом. Она умеет следить за курсором.
Юзать линейку-программу mySize + лупу для измерения отступов. Для линейки есть инструкция в корне HTML после курсов
Что лучше использовать для Pixel Perfect?
Не брезговать TranslateX для достижения соответствия макету. Можно вместе с марджинами, можно вместо. Если будут анимации, лучше потом скопировать и подкорректировать конец анимации под отдельный элемент.
Всегда, когда есть желание подсчитать и передать ширину через JS…
Подумать, а нельзя ли что-то просто поместить в общий контейнер илиразные контейнеры с одним классом?
Добавляя иконки через псевдоэлементы…
Делать им background-position: center center;
Если нужно задать <br></br> display:none; а на медиа -запросе - display:block или наоборот, что добавлять переносам?
Переносам всегда задавать классы!
Какая ширина должна быть у inner’ов outer’ов?
У outer’ов - либо inline-flex (поддерживает ишак 8), либо в пикселях - если есть строгие макеты на разные экраны. У inner’ов - строго по макету в пикселях, если заказчик не скажет, что хочет менять со временем ширину таких блоков. Предупреждать: это может портить дизайн и вообще все иннеры будут выравниваться по высоте, даже если количество строк у них разное.
Ширина элемента с position: absolute
Устанавливается по содержимому
Как дополнительно готовиться к вёрстке, где есть макеты на разные экраны?
При наличии нескольких макетов на разные экраны - всегда перед началом считать отступы слева и справа, определять, что должно быть выровняно под линейку относительно друг друга
Что всегда добавлять заголовкам?
h1-h6 всегда должны быть с классами, так как SEO могут их менять