Html Общее Flashcards
Лайфхаки, обнаруженные на практике
Способы горизонтального центрирования блоков
- margin: 0 auto;
2. display: inline /inline-block + text align:center
Заголовок списка по дефолту имеет небольшой отступ слева. Как сдвинуть его влево?
- Обернуть в параграф с классом
2. Добавить левый отрицательный марджин
Относительно чего можно позиционировать объект с помощью position: absolute?
- Относительно себя в нормальном потоке
2. Относительно родителя
Позиционирование объекта относительно себя в нормальном потоке
Самому объекту
position: relative;
top: 20px;
left: 10px;
Родителю: ничего
Позиционирование объекта относительно
родителя
Родителю:
Position: relative;
Дитю:
position: absolute;
top: 0;
right: 0;
Относительное позиционирование: что лучше для мобильной версии?
Лучше позиционирование относительно родителя.
Относительно себя в потоке будет плыть в мобильной версии
Как можно добавить одному блоку одновременно position:absolutr и position: relative?
Никак нельзя. Также нельзя добавлять эти свойства через разные классы одного объекта.
Выход:
1. Обернуть объект ещё одним блоком и задать ему второе свойство
2. Смотреть, может родитель X того элемента Y, которого нужно сделать родителем для элемента Z, сможет стать родителем и для X, и для Z?
Что задавать родителю элемента, имеющему свойство float?
Clear:both
display: table
Что поможет от схлопывающихся вертикальных отступов?
display:inline-block;
Но тогда исчезнет горизонтальное центрирование с помощью margin: auto и придется центрировать вторым способом.
Что будет, если заголовку задать font-weight: 100?
Он станет тоньше. Потому что по дефолту у него толщина больше, чем 100.
Для каких элементов не работает центрирование margin: auto?
Не работает для строчных, строчно-блочных и абсолютно позиционированных элементов. И даже для блочных, если у них нет ширины.
Почему margin:auto не работает для кнопок?
Как исправить?
Потому, что button - это строчно-блочный элемент.
Нужно задать ей display:block и возможно, ширину.
Особенности табличных элементов (display: table)
- Отменяет ширину 100% по умолчанию
- Можно задать размеры, рамки и отступы
- Перееосы строки до и после элемента
Три причины, почему элемент не всплывает при добавлении float? При этом элемент двигается в право-влево
- Родителю не хватает ширины, чтобы уместить элементы по горизонтали
- Блочные элементы по умолчанию имеют максимальную ширину в рамках родителя. Причём, сам жиртрест может выглядеть, как ему указано, при этом всю оставшуюся ширину будет занимать его марджин (который, хоть и не указае в консоли, но виден при наведении на него мышки -инспектора в консоли).
Решается добавлением display:table; - Если предыдущиепункты не являются проблемой, можно добавить предыдущему в потоке элементу так жe float: left
Как лучше прорабатывать медиа-запросы?
Прорабатывать по отдельности каждый горизонтальный блок, занимающий всю ширину экрана
Какой инструмент использовать при написании резинового сайта?
Делать резиновую вёрстку через консоль-респонсив в хроме
Что делать, если при сворачивании окна браузера появляется скролл или при использовании респонсива меняется масштаб?
- Найти первую точку появления скролла.
- В медиа-запросах НА ЭТОЙ ТОЧКЕ всем блокам, имеющим фиксированную ширину во весь экран, прописать width 100% (не max-width!)
- А уже в коде ДО медиа-запросов, можно прописать этим блокам max-width 100% рядом с фиксированной шириной.
- Проверить, чтобы нигде не было аццких марджинов и паддингов, особенно по сторонам
- Проверить, чтобы небыло ширины 100%+границы, паддинги, марджины.
Как найти блок, создающий скролл? (6 пунктов)
- В консоли выбрать
- В его CSS внизу выделить его разрешение (ширина на длину) и всё, что вызодит за рамки голубой подсветки и создаёт скролл.
- Можно задать найденному элементу max-width
- Проверить, чтобы нигде не было аццких марджинов и паддингов, особенно по сторонам.
- Не должно быть гирины100%+границы, марджины, паддинги.
- Если скролл маленький, можно задать *{box-sizing: border-box;}
Какие псевдоклассы работают при наведении и клике мышкой?
При наведении- :hover, при клике :focus
Можно ли лазить в бутстраповские классы?
Нельзя. Но к ним черещ пробел можно добавлять свои классы, а к своим стилям добавлять !important
Как в бутстраповской сетке избежать неравномерного распределения блоков по рядам при сворачивании/ на средних экранах, например: 2-1-2-1 вместо 2-2-2?
col-xs-12 | col-sm-4 | col-md-4 | col-lg-4, то есть на больших, средних и средне-малых экранах будет воспроизводиться по 3 блока на строчку.
Что делать, если какой-либо медиа запрос для мобильной вёрстки противоречит какому-либо стилю в широкоэкранной вёрстке (при использовании медиа-запросов)?
Нужно дописать свойство для широкоэкранной вёрстки не в стандартеом цсс, а в медиа-запросах (через min-width)