HTML/CSS Flashcards

1
Q

Значения атрибута display

A

Обычно, используются три из множества значений атрибута:
none;
inline;
block.

Еще есть:
inline-block;
table;
list-item;
run-in;
flex.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

display: none

A

Элемент не показывается, вообще. Как будто его и нет.
Он убирается из потока контента.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

display: block

A

Блочные элементы располагаются один над другим, вертикально (если нет особых свойств позиционирования).

Блок стремится расшириться на всю доступную ширину. Можно указать ширину и высоту явно.

Блоки прилегают друг к другу вплотную, если у них нет margin.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

display: inline

A

Элементы располагаются на той же строке, последовательно.
Ширина и высота элемента определяются по содержимому. Поменять их нельзя.

Содержимое инлайн-элемента может переноситься на другую строку.
При этом каждая строка в смысле отображения является отдельным прямоугольником («line box»). Так что инлайн-элемент состоит из объединения прямоугольников, но в целом, в отличие от блока, прямоугольником не является.

Если инлайн-элемент граничит с блоком, то между ними обязательно будет перенос строки.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

display: inline-block

A

Это значение – означает элемент, который продолжает находиться в строке (inline), но при этом может иметь важные свойства блока.
Это значение display используют, чтобы отобразить в одну строку блочные элементы, в том числе разных размеров.

Как и инлайн-элемент:
- Располагается в строке.
- Размер устанавливается по содержимому.

Во всём остальном – это блок, то есть:
- Элемент всегда прямоугольный.
- Работают свойства width/height.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

display: table-*

A

Для таблицы целиком table, для строки – table-row, для ячейки – table-cell и т.д.

При такой разметке это действительно полноценная таблица. Используются табличные алгоритмы вычисления ширины и высоты элемента.

Это хорошо для семантической вёрстки и позволяет избавиться от лишних тегов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

display: list-item

A

Этот display по умолчанию используется для элементов списка.
Он добавляет к блоку с содержимым ещё и блок с номером(значком) списка, который стилизуется стандартными списочными свойствами.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

display: run-in

A

Если после run-in идёт block, то run-in становится его первым инлайн-элементом, то есть отображается в начале block.

Поддерживается малым количеством браузеров.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

display: flex

A

Позволяет применить к элементу и его дочкам систему выравнивания flexbox.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Блочные элементы

A

<address>, <blockquote>, <div>, <fieldset>, <form>, <h1>,...,<h6>, <hr></hr>, <ol>, <p>, <pre>, <table>, <ul>, <li>

\+ display: block
</li></ul></table></pre></p></ol></h6></h1></form></fieldset></div></blockquote></address>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Строчные элементы

A

b, big, i, small, tt. abbr, acronym, cite, code, dfn, em, kbd, strong, samp, time, var. a, bdo, br, img, map, object, q, script, span, sub, sup, button, textarea

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Веса селекторов

A

Типы селекторов по убыванию специфичности:

  1. Селекторы по идентификатору (#);
  2. Селекторы по классу (“.”), селекторы по атрибуту ([type = “radio”]) и селекторы с псевдоклассами (“:hover”);
  3. Селекторы по тегу (“<>”), селекторы с псевдоэлементами (“::before”).

CSS-свойства, написанные в атрибуте style внутри HTML-разметки, перебивают свойства, написанные для этого элемента во внешних CSS-файлах или внутри тега <style>. Так что формально атрибут style самый специфичный, у него самый большой вес.</style>

Ключевое слово !important нарушает все установленные спецификацией законы и насильно применяет свойство, после которого написано.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Селекторы

A
  • – любые элементы.
    div – элементы с таким тегом.
    #id – элемент с данным id.
    .class – элементы с таким классом.
    [name=”value”] – селекторы на атрибут (см. далее).
    :visited – «псевдоклассы», остальные разные условия на элемент (см. далее).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Псевдоклассы

A

:focus – в фокусе.

:active - для элемента, с которым идет взаимодействие прямо сейчас.

:hover – под мышью.

:empty – для пустых элементов, без детей (даже без текстовых).

:checked, :disabled, :enabled – состояния INPUT.

:target – этот фильтр сработает для элемента, ID которого совпадает с анкором #… текущего URL.
Например, если на странице есть элемент с id=”intro”, то правило :target { color: red } подсветит его в том случае, если текущий URL имеет вид http://…#intro.

:not() - отсечь все элементы, не подходящие под условие из скобок.

:has() - выбрать элемент, уточнив основной селектор дополнительным. Например, dt:has(+ dd) - только тот <dt>, за которым сразу следует <dd>.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Псевдоэлементы

A

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

При помощи псевдоэлементов ::before и ::after можно добавлять содержимое в начало и конец элемента.

Для IE8 :before, для всех остальных браузеров ::before.

Список стандартных псевдоэлементов
::after - содержимое располагается после элемента, которому задается псевдоэлемент.
::before - содержимое располагается до элемента, которому задается псевдоэлемент.
::cue - для задания стилей титров и других реплик в медиа с vtt треками.
::first-letter - первая буква в абзаце.
::first-line - первая строка в абзаце (только для точных элементов).
::selection - стиль текста, выделенного пользователем. Лучше всего задавать всей странице.
::placeholder - стилизует подсказку у поля ввода input’а.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Box-model

A

В HTML-документе каждому элементу на странице соответствует прямоугольная область (бокс или блок). Движок рендеринга в браузере определяет размеры и положение боксов на странице, а также их свойства вроде цвета, фоновой картинки для того, чтобы отобразить их на экране.

У каждого бокса есть 4 области: margin (внешние отступы), border (рамка), padding (внутренние поля), и content (контент или содержимое).

Отступы двух соседних элементов, расположенных друг над другом или вложенных друг в друга, могут накладываться. Это называется схлопывание границ (margin collapsing (en-US)).
Схлопываются только вертикальные отступы и только отступы у блочных элементов (не включая html и body).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

em vs rem

A

1em – текущий размер шрифта.
Размеры в em – относительные, они определяются относительно шрифта родителя.

Единица rem: смесь px и em
Единица rem задаёт размер относительно размера шрифта элемента <html>.

Элементы, размер которых задан в rem, не зависят друг от друга и от контекста – и этим похожи на px, а с другой стороны они все заданы относительно размера шрифта <html>.

Единица rem не поддерживается в IE8-.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

float

A

Синтаксис:

float: left | right | none | inherit;

При применении этого свойства происходит следующее:
1. Элемент позиционируется как обычно, а затем вынимается из документа потока и сдвигается влево (для left) или вправо (для right) до того как коснётся либо границы родителя, либо другого элемента с float.
2. Если пространства по горизонтали не хватает для того, чтобы вместить элемент, то он сдвигается вниз до тех пор, пока не начнёт помещаться.
3. Другие непозиционированные блочные элементы без float ведут себя так, как будто элемента с float нет, так как он убран из потока.
4. Строки (inline-элементы), напротив, «знают» о float и обтекают элемент по сторонам.

Ещё детали:
1. Элемент при наличии float получает display:block.
Исключением являются некоторые редкие display наподобие inline-table и run-in (см. Relationships between „display“, „position“, and „float“)
2. Ширина float-блока определяется по содержимому.
3. Вертикальные отступы margin элементов с float не сливаются с отступами соседей, в отличие от обычных блочных элементов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Свойство Position

A

Позволяет сдвигать элемент со своего обычного места.
Static, relative, absolute, fixed, sticky.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Position: static

A

Статическое позиционирование производится по умолчанию, в том случае, если свойство position не указано.

Элемент с position: static ещё называют не позиционированным.

Свойства left/top не будут работать для position:static. Если их всё же поставить, браузер их проигнорирует. Эти свойства предназначены для работы только с позиционированными элементами.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Position: relative

A

Относительное позиционирование сдвигает элемент относительно его обычного положения.

Необходимо указать элементу CSS-свойство position: relative и координаты left/right/top/bottom.

Для сдвига можно использовать координаты. Не будут работать одновременно указанные top и bottom, left и right. Нужно использовать только одну границу из каждой пары.
Возможны отрицательные координаты и координаты, использующие другие единицы измерения.

22
Q

Position: absolute

A

Абсолютное позиционирование делает две вещи:

  1. Элемент исчезает с того места, где он должен быть и позиционируется заново. Остальные элементы, располагаются так, как будто этого элемента никогда не было.
  2. Координаты top/bottom/left/right для нового местоположения отсчитываются от ближайшего позиционированного родителя, т.е. родителя с позиционированием, отличным от static. Если такого родителя нет – то относительно документа.

Кроме того:
- Ширина элемента с position: absolute устанавливается по содержимому.
- Элемент получает display:block, который перекрывает почти все возможные display.

В абсолютно позиционированном элементе можно одновременно задавать противоположные границы.

23
Q

Position: fixed

A

Позиционирует объект точно так же, как absolute, но относительно window.
Т.е. когда страницу прокручивают, фиксированный элемент остаётся на своём месте и не прокручивается вместе со страницей.

24
Q

Position: sticky

A

Липкие элементы преимущественно используются для удерживания чего-либо, отображаемого на экране во время прокрутки.

В отличии от fixed липкий элемент остается ограниченным родительским контейнером, в котором он находится.

25
Q

Свойство overflow

A

Возможные значения:
visible (по умолчанию)
hidden
scroll
auto

26
Q

Overflow: visible

A

Если не ставить overflow явно или поставить visible, то содержимое отображается за границами блока.

Если содержимое может быть больше контейнера – используют другие значения.

27
Q

Overflow: hidden

A

Переполняющее содержимое не отображается.

Вылезающее за границу содержимое становится недоступно.

Это свойство иногда используют от лени, когда какой-то элемент дизайна немного вылезает за границу, и вместо исправления вёрстки его просто скрывают.

28
Q

Overflow: auto

A

При переполнении отображается полоса прокрутки.

29
Q

Overflow: scroll

A

Полоса прокрутки отображается всегда.

То же самое, что auto, но полоса прокрутки видна всегда, даже если переполнения нет.

30
Q

Overflow-x, overflow-y

A

Можно указать поведение блока при переполнении по ширине в overflow-x и высоте – в overflow-y.

31
Q

Box-sizing

A

В зависимости от выбранного значения браузер по-разному трактует значение свойств width/height.

content-box
Это значение по умолчанию. В этом случае свойства width/height обозначают то, что находится внутри padding.

border-box
Значения width/height задают высоту/ширину всего элемента.

32
Q

z-index

A

Определяет положение позиционированного элемента и его дочерних элементов или флекс-элементов по оси z. Перекрывающие элементы с большим значением z-index будут накладываться поверх элементов с меньшим z-index.

33
Q

Flexbox

A

Система для располжоения элементов в верстке.

34
Q

Justify-content

A

Выравнивание по горизонтали.
Flex-start;
Flex-end;
Center;
Space-between;
Space-around.

35
Q

Align-items

A

Выравнивание по вертикали.
Flex-start;
Flex-end;
Center;
Baseline;
Stretch.

36
Q

Flex-direction

A

Row;
Row-reverse;
Column;
Column-reverse.

37
Q

Order

A

С числовым занижением для изменения порядка объектов. По умолчанию 0.
Если присваиваем больше нуля, то элемент встанет в конец тех, кто имеет ноль по умолчанию.

38
Q

Align-self

A

Выравнивает элемент вдоль пересекаемой оси и перекрывает значение align-items.

39
Q

Flex-wrap

A

Принудительное нахождение в одном ряду или автоматический перенос.
Nowrap;
Wrap;
wrap-reverse.

40
Q

Flex-flow

A

Flex-direction + flex-wrap
Объединяет эти два свойства.

Например: flex-flow: row wrap.

41
Q

Align-content

A

Выравнивает ряды flex-контейнеров, только если их больше одного.
Flex-start;
Flex-end;
Center;
Space-around;
Stretch;
Space-between.

42
Q

Grid-model

A

display: grid;

Грид-модель позволяет размещать контент сайта (располагать его определенным образом, позиционировать). Она позволяет создавать структуры, необходимые для обеспечения отзывчивости сайтов на различных устройствах.

Элементы Грида располагаются вдоль главной или основной (main) и поперечной (cross) оси (axis). При помощи различных свойств мы можем манипулировать элементами для создания макетов.
Помимо прочего, имеется возможность объединять строки и колонки, что предоставляет нам большую гибкость.

Cвойства грида делятся на:
- родительские (свойства грид-контейнера);
- дочерние (свойства грид-элементов).

Свойства родительского элемента определяются в .container, а свойства дочерних элементов — в .box-*.

43
Q

Grid-template-columns

A

Данное свойство используется для определения количества и ширины колонок. При этом, можно определять как свойства для каждой колонки в отдельности, так и устанавливать ширину всех колонок с помощью функции repeat().

  • Значения в пикселях будут точными.
  • Ключевое слово auto означает заполнение элементом всего доступного пространства.
  • Использование единицы fr (фракция) в repeat() означает, что все контейнеры будут иметь одинаковую ширину.
44
Q

Grid-template-rows

A

Данное свойство используется для определения количества и высоты строк.

45
Q

Grid-template-areas

A

Данное свойство используется для определения количества пространства, занимаемого ячейкой Грида (grid cell), в терминах колонок и строк, в родительском контейнере.

Для получения результата требуется не только родительское, но и хотя бы одно дочернее свойство:
- grid-template-areas: родительское свойство, создающее схему;
- grid-area: дочернее свойство, которое использует схему.

46
Q

Row-gap

A

Данное свойство используется для добавления отступов между строками.

47
Q

Justify-items (grid)

A

Данное свойство используется для позиционирования грид-элементов внутри грид-контейнера вдоль главной оси.

48
Q

Align-items (grid)

A

Данное свойство используется для позиционирования грид-элементов внутри грид-контейера вдоль поперечной оси.

49
Q

Justify-content (grid)

A

Данное свойство используется для позиционирования самого грида внутри грид-контейнера вдоль основной оси.
Start;
End;
Center;
Stretch;
Space-between;
Space-around;
Space-evenly.

50
Q

Align-content (grid)

A

Данное свойство используется для позиционирования самого грида внутри грид-контейнера вдоль поперечной оси.
Start;
End;
Center;
Stretch;
Space-between;
Space-around;
Space-evenly.